[发明专利]一种PHP代码执行漏洞的黑盒检测方法及装置有效
申请号: | 201710831007.1 | 申请日: | 2017-09-15 |
公开(公告)号: | CN107832617B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 练晓谦 | 申请(专利权)人: | 北京知道未来信息技术有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100102 北京市朝阳区阜*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 php 代码 执行 漏洞 黑盒 检测 方法 装置 | ||
本发明公开了一种PHP代码执行漏洞的黑盒检测方法及装置;本方法为:选取或编写一段功能为输出随机字符串的PHP代码,在该PHP代码前添加用于闭合PHP程序的代码,以生成载荷;然后将HTTP请求中GET参数和POST参数的值替换成该载荷,构造出用于检测漏洞的请求数据包;将构造好的该请求数据包发送给目标网站,并接收目标网站的响应数据包;判断该响应数据包中是否包含该请求数据包的载荷中该PHP代码生成的随机字符串,若存在,则判定该目标网站存在PHP代码执行漏洞;若不存在,则判定该目标网站不存在PHP代码执行漏洞。本发明有效降低了漏洞检测的误报率,并为漏洞二次验证提供了可靠的参考依据。
技术领域
本发明属于计算机网络安全技术领域,涉及一种PHP代码执行漏洞的黑盒检测方法及装置。
背景技术
PHP代码执行漏洞,指的是PHP程序在调用一些能将字符串转化成代码的函数(如PHP中的eval函数)时,没有考虑到用户是否能控制这个字符串;黑客攻击者将可执行代码作为字符串传递给PHP程序,而PHP程序将字符串中的代码进行执行,从而产生了PHP代码执行漏洞。
常见的PHP代码执行漏洞的黑盒检测方法,是基于正常访问目标网站的HTTP请求,将HTTP请求中GET参数和POST参数的值替换成包含“phpinfo()”函数的载荷,发送给目标网站并接收返回数据,通过判断返回数据中是否包含“phpinfo()”函数的执行结果,从而判断是否存在PHP代码执行漏洞。
如果返回数据中包含“phpinfo()”函数的执行结果,说明注入的“phpinfo()”函数确实得以执行成功,从而说明存在PHP代码执行漏洞;反之则不存在PHP代码执行漏洞。
该方法,通过在HTTP请求中的参数里注入PHP函数(通常是phpinfo函数),然后在返回数据包中判断是否包含该PHP函数的执行结果,来判断是否存在PHP代码执行漏洞。
然而,即使不存在PHP代码执行漏洞,在返回数据包中碰巧包含某PHP函数执行结果的情况,是有一定概率存在的。因此,该方法存在一定的误报概率。
误报示例:
某个PHP文件,接收到任何的参数的值,返回页面都是phpinfo()函数的执行结果。此时,若用上述示例中的漏洞检测方法,会判断该PHP文件存在PHP代码执行漏洞;而实际上该PHP文件并不存在漏洞,因此会产生误报。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种PHP代码执行漏洞的黑盒检测方法及装置。
本发明的技术方案为:
一种PHP代码执行漏洞的黑盒检测方法,其步骤包括:
1)选取或编写一段功能为输出随机字符串的PHP代码,在该PHP代码前添加用于闭合PHP程序的代码,以生成用于检测PHP代码执行漏洞是否存在的载荷;然后将HTTP请求中GET参数和POST参数的值替换成该载荷,构造出用于检测漏洞的请求数据包;
2)将构造好的该请求数据包发送给目标网站,并接收目标网站的响应数据包;
3)判断该响应数据包中是否包含该请求数据包的载荷中该PHP代码生成的随机字符串,若存在,则判定该目标网站存在PHP代码执行漏洞;若不存在,则判定该目标网站不存在PHP代码执行漏洞。
进一步的,请求获取该目标网站服务器上的设定信息,若该目标服务器返回的响应数据包中存在对应的设定信息,则进一步确定该目标服务器存在PHP代码执行漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知道未来信息技术有限公司,未经北京知道未来信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710831007.1/2.html,转载请声明来源钻瓜专利网。