python编写工具番外篇--编写一个综合扫描器

前言:

这是对之前文章内容的总结:

脚本的作用是:

扫描目标网站的基本信息,探测目标网站的后台,并寻找是否存在一些高危漏洞

使用方法:

python3   work.py  url

如:

python3    work.py    192.168.26.133

在这里插入图片描述

源码:

import requests
import sys
#url = "http://192.168.26.133"
url = sys.argv[1]

#定义基本属性
headers = {
    
    "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0"}
dir = ['admin.php','admin.jsp','admin.asp','admin.html','login.jsp','login.php','login.asp','login.html']
#字典后期可以改为文件导入


#判断url格式是否正确
if "http" in url:
    url = url + "/"
else:
    url = "http://" + url + "/"


r = requests.get(url)
Status_code = r.status_code

#输出当前网站的返回状态码
if Status_code == 200:
    print("当前网站的返回状态码是:200")
    r1= requests.get(url,headers=headers)

    #返回当前服务器的信息
    print("当前服务器采用的技术为:" + r1.headers['Server'])

    #判断不同的情况
    if "X-Powered-By" in str(r1.headers):
        print("服务器使用脚本语言是:"+ r1.headers["X-Powered-By"])
    else:
        server=""

    #寻找网站后台
    print()
    print("正在寻找当前网站的后台,请稍等...")
    for line in dir:
        r2 = requests.get(url + line)
        if r2.status_code == 200:
            print("网站后台地址可能是:" + r.url + line)
            dir_admin = 1           #找到网站后台传值
            break
        else:
            dir_admin = 2           #未找到网站后台传值

    if(dir_admin == 2):
        print("未找到当前网站的后台")

    #扫描网站是否存在ms15-034漏洞,目前仅仅增加了一个。之后可以自定义函数调用,增加多个
    print()
    print("正在测试当前网站是否存在ms15-034...")
    r3 =requests.get(url)
    server = r3.headers["Server"]
    if server.find("IIS/7.5") or server.find("IIS/8.0"):
        payloay = {
    
    "Host": "irrelevant", "Range": "bytes=0-18446744073709551615"}  # 注意字典内容格式
        r3 = requests.get(url, headers=payloay)
        if r3.text.find("Requested Range Not Satisfiable"):
            print("检测存在ms15-034")
        else:
            print("未检测到ms15-034")
    else:
        print("服务器组件不是IIS 7.5或者IIS 8.0")



else:
    print("当前网站的返回值是" + Status_code)

猜你喜欢

转载自blog.csdn.net/weixin_43970718/article/details/114608881
今日推荐