import sys import requests # url = "http://www.baidu.com" url = sys.argv[1] request = requests.options(url) print(request.headers["Public"]) #查看所支持方法 result = request.headers["Public"] if result.find("PUT") and result.find("MOVE"): print(f"URL:{url}\nIIS vulnerability exists in this website!") else: print(f"URL:{url}\nThe website does not have IIS vulnerabilities")
时间: 2024-04-28 14:21:46 浏览: 192
python requests.get带header
这段代码是用 Python 编写的一个简单的漏洞扫描工具,用于检测一个给定的网站是否存在 IIS 漏洞。具体来说,它发送一个 OPTIONS 请求到给定的 URL,然后检查响应头中是否存在 PUT 和 MOVE 方法。如果存在,则认为该网站存在 IIS 漏洞,否则认为该网站没有 IIS 漏洞。
在这段代码中,sys.argv[1] 表示从命令行参数中获取第一个参数作为要扫描的 URL。requests.options(url) 用于发送 OPTIONS 请求并获取响应。request.headers["Public"] 获取响应头中的 Public 字段,该字段列出了服务器所支持的 HTTP 方法。最后,根据 PUT 和 MOVE 是否在 Public 字段中出现来判断是否存在 IIS 漏洞。如果存在,输出 URL 和提示信息;否则输出 URL 和另一条提示信息。
阅读全文