当前位置: 首页 > 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吧,偏偏还魔改了。。。。。。菜是原罪

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

相关文章:

  • 给一个公司做网站需要什么内容/好看的网站设计
  • 设计网站推荐国内/网站的推广方式
  • 爱南宁app下载/商品标题优化
  • 呼和浩特市做网站公司好的/无限制搜索引擎排名
  • 广东哪家网站建设/百度视频广告怎么投放
  • 一个网站的建设步骤/营销培训课程
  • 【关于时间序列的ML】项目 7 :使用机器学习进行每日出生预测
  • 马斯克辞任CEO,产品经理如何用项目协作软件武装自己?
  • 106. 从中序与后序遍历序列构造二叉树
  • 让人恶心的多线程代码,性能怎么优化
  • 「PAT乙级真题解析」Basic Level 1096 大美数 (问题分析+完整步骤+伪代码描述+提交通过代码)
  • 使用Anaconda安装TensorFlow详细教程
  • wifi热点setting
  • stable diffuison论文阅读
  • 开源工具系列1:Cloud Custodian
  • Java 的三种技术架构
  • 智能表格软件-FineReport JS实现自定义按钮快速给参数赋指定范围值
  • CSDN第17次竞赛题解与总结