当前位置: 首页 > news >正文

记一次简单的白加黑测试

前一阵子成了小洋人,所以很长的时间也没更新了,今天更一篇PHP代码审计的吧,此次分享的内容十分的简单,大家简单的看看即可

命令注入 -1

在这里插入图片描述
从上述代码,我们可以看出来,$ip变量接收过来之后通过合并运算符(??)判断是不是空,是空的话就返回114.114.114.114,否则就返回变量本身,说实话,这里并没有看到对ip参数的任何形式的过滤,但是这里的的确确是修复了。

而后 n u m 变量、 num 变量、 num变量、time变量以及$bit变量,在接收出来之后都进行了强制类型转换(int),所以并没有任何毛病。

但是**$net变量只是将&&&|||以及;**进行替换为空,但是没有过滤%,这就导致命令注入漏洞的一个绕过

我们看一下命令注入的效果
在这里插入图片描述
在这里插入图片描述
显而易见,我们注入成功了,原谅厚码和角图

命令注入 -2

在这里插入图片描述
首先我们可以看到,代码中圈出来的地方,首先校验数据存在与否,如果不存在的话会直接存到数据库里面
在这里插入图片描述
而这里就可圈可点了,存进数据库之后,他没有经过任何的处理就直接拿出来了,并且利用nat_exec()函数进行执行,由于这里是无回显的注入,所以我们骚操作一把
在这里插入图片描述在这里插入图片描述

命令注入 -3

在这里插入图片描述
删除nat配置的时候,会在数据库里面搜索对应的nat配置,而后将搜索到的nat配置直接使用nat_del_exec();进行删除操作,但是在删除的过程中,oldInfo变量与array()数组并没有进行任何形式的过滤,导致命令注入漏洞的产生。

在这里插入图片描述

我们先删除第一个配置,删除成功后,其实也就顺带执行了 ls -ll命令
在这里插入图片描述
我们接着删除第二个配置,也就顺带执行了 rm 命令
在这里插入图片描述
难道是不难,我觉得这种是十分明显的命令注入,笔者同时还找到了几处相似的洞,但是没复现出来,因为找不到接口,这个代码写的不是很好,你说他是MVC架构吧,他还真就不是,但是你说他不是MVC吧,偏偏还魔改了。。。。。。菜是原罪

仅仅几率一次测试的技巧,如果侵权,请私信我,我会删除​

相关文章:

  • 【关于时间序列的ML】项目 7 :使用机器学习进行每日出生预测
  • 马斯克辞任CEO,产品经理如何用项目协作软件武装自己?
  • 106. 从中序与后序遍历序列构造二叉树
  • 让人恶心的多线程代码,性能怎么优化
  • 「PAT乙级真题解析」Basic Level 1096 大美数 (问题分析+完整步骤+伪代码描述+提交通过代码)
  • 使用Anaconda安装TensorFlow详细教程
  • wifi热点setting
  • stable diffuison论文阅读
  • 开源工具系列1:Cloud Custodian
  • Java 的三种技术架构
  • 智能表格软件-FineReport JS实现自定义按钮快速给参数赋指定范围值
  • CSDN第17次竞赛题解与总结
  • mybatis相关使用_lombok插件
  • 5G核心网UPF硬件加速技术
  • 服务之星网络评选视频投票小程序如何进行视频投票免费公众号投票
  • 解决原 Unique Key 模型存在的问题
  • Shell ❀ 正则表达式
  • xxe-lab靶场安装和简单php代码审计
  • Kibana:圣诞老人使用 Kibana Dashboards 驾驶他的雪橇!
  • 离线下载NLTK依赖包([WinError 10061] 由于目标计算机积极拒绝,无法连接)的解决方案