第一次实战SQL注入
作战类型 : 显错注入
目标 : 拿下flag数据
目标长相 :

1. 判断注入类型
- 输入: and 1=1 => 正常, 再输入: and 1=2 => 还正常, 排除数字型

- 输入单引号: ' => 网页发生变化, 则为字符型

从报错信息可以看出是字符型, 故类型为 显错注入
2. 判断字段数
接下来判断字段个数:


3个报错, 2个正常, 可知字段数为2个
注意: 由于是字符型,注入sql语句时, 注意最后一个引号的闭合, 要使用双引号内嵌或者使用 # 注释掉最后一个闭合的单引号
其中, # 的 url 编码是 %23. 空格符是%20
3. 爆数据库版本
知道字段数之后, 就可以采用联合注入, 注入的sql语句就类似为: select 1,2 from... (1,2可以用相应字段替换)

得mysql数据库版本为5.5.35
4. 爆库
由我之前的博客 << SQL注入 >> 可进行爆库:

哦豁, 发现串成一串了, 这里我们利用mysql的 group_concat() 函数 (用法自行查= =) :

此时已经可以看到所有数据库了!
5. 爆表
继续爆表, 我猜测flag应该在webug数据库中(别问我为什么===):

6. 爆字段
接来下大同小异了...:

7. 拿数据
万事俱备, 只欠一个简单查询:

得到 flag = =
实战SQL注入技巧
本文详细介绍了一次实战SQL注入的过程,包括判断注入类型、确定字段数、爆破数据库版本、库名、表名及字段名,最终成功获取flag数据。通过实际案例展示了显错注入的具体操作步骤。
2722

被折叠的 条评论
为什么被折叠?



