主页 > 网络知识 > 代码审计思路讨论(5)

代码审计思路讨论(5)

上面说了一些废话,这里关于文件操作的漏洞,我选择用一个文件包含漏洞来举例。首先我们回顾一下文件包含漏洞的形成。可控的变量?是的。还有其他的吗?答案是有的,函数include以及类似功能的函数对吧。那么我们先通过工具来全文搜索一下。来找到一个相对可能性比较大的目标。俗称“踩点”

 

代码审计思路讨论

 

很明显,我们一眼就相中了图片红框位置的包含函数。其中post传参变量pay。那么下面我们点击进去搂一眼,看看是不是打了眼。

 

代码审计思路讨论

 

看这一串代码,发现如果变量是pay,那么就对一些变量进行赋值。说实在的啊,没有太多的想法,打算到前端看看这到底是个什么玩意儿。在前端我们看到,这是一个“在线支付”按钮的一个传参。

 

代码审计思路讨论

 

既然输入点已经找到了,下面我们在服务器里面放一个一句话木马文件。看看能否利用该变量来打开我所放入的文件。

抓包,添加传参:

注意:这里我看看传参的位置:include ‘include/payment/’.$_POST['pay'].”/index.php”;

这里是后面添加的字符串“/index.php”是我们不需要的。这时候考虑的是如何截断它,常见的截断方式以后再整理。这里我们使用“.”来截断。在window当中256个点可以达到截断的效果。Linux需要2038

 

代码审计思路讨论

 

注意:因为这里我用的截断是在PHP版本5.2上面测试的。如果有验证不成功的。考虑一下php版本问题。

 

代码审计思路讨论

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!