sql盲注笔记
什么是盲注?在sql注入点输入sql语句不回显任何数据,只返回了网页处理的结果(使用布尔盲注),甚至不返回结果(设置数据库查询时间,时间盲注)
盲注是非常繁琐的,需要不断的更改url进行判断,可以用BP的intruder模块配合或者编程(直到我发现了sqlmap)
布尔盲注
进行布尔盲注一定要分清楚报错的条件,比如有的是数据为空、语句报错时报错,有的只是语句报错时才报错。
判断流程
?id=1 and 's'='p'
如果报错错则可以使用 and
爆破
爆破方法(payload)
?id=1 and 构造出想要的数据 =/like 猜想的数据
?id = if(构造出想要的数据 =/like 猜想的数据, 1, (select table_name from information_schema.tables))
tips:
false
的的输出必须是 1 column,否则语句报错
获取数据库名
目前先使用python进行爆破
1 | #! /usr/bin/env python |
从注入点得到当前数据库的表数
使用BP暴出数据库的名字(一个字母一个字母的暴破)
爆破该数据库第一张表的名字(也是一个字母一个字母)
1 | ?id=1' and (select table_name |
时间盲注
如果连网页处理结果都不给的话,还可以设置数据库查询时间进行盲注
比如下面这个页面,不管输入什么都显示一个样
利用时间注入,当sql语句运行成功时延时2s
1 | ?id=1' and if( |
进BP的intruder模块进行爆破
可以看到响应2s的是开头为s的url,所以数据库的首字母为s
注意:因为没有错误提醒,所以一定要注意在url里sql语法上的问题
# 相关文章
1.G002
2.G001
3.How to learn English?
4.ctf-linux-cmd.md
5.Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写
6.ctfhub.md
7.Laravel笔记
8.fw-rule
1.G002
2.G001
3.How to learn English?
4.ctf-linux-cmd.md
5.Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写
6.ctfhub.md
7.Laravel笔记
8.fw-rule