Pikachu靶场:SQL-Inject之搜索型注入
实验环境以及工具
Firefox浏览器、Burp Suite、Pikachu靶场
实验原理
数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击着可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄漏的一种漏洞。
实验步骤
1.前期工作
先将Proxy中的intercept关闭,使其不进行拦截,让数据通过监听的端口。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fe7Hcaln-1618973420775)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210404141348698.png)]](https://i-blog.csdnimg.cn/blog_migrate/5259ad806f928604a765e4fca8e2f132.png)
2.注入点探测
在字符型注入中看到输入框,里面能够输入字符串。这里输入a点击查询,返回了多个用户的uid和email两个字段。由于是get请求所以在URL中也能看到输入的内容。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kXKDRqpo-1618973420777)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210418175634349.png)]](https://i-blog.csdnimg.cn/blog_migrate/f475f310b18e2bbe4d27c5857b25b02b.png)
那么就以这个输入框作为注入点。
3.进行注入
在注入点使用 order by进行字段数的测试,由于上面已经返回了三个字段,这里进行四字段的测试。
输入payload为 a%' order by 4 #
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fIfIfnLg-1618973420778)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210418175851334.png)]](https://i-blog.csdnimg.cn/blog_migrate/b3c6138f67d30b2401465c6e9ea399cd.png)
返回错误,证明只有三个字段。
假设这个地方使用的SQL语句是 select 人名 uid 邮箱 from 用户表 where name like '%a%'
那么我们尝试让它将用户表所有人的信息查询出来,闭合前面的 '% 在后面加上 or 1=1,这样判断条件变成了永真,然后加上 # 将后面的内容注释掉,返回所有查询结果。
输入payload为 a%' or 1=1#
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5LHM3lmL-1618973420779)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210418180247198.png)]](https://i-blog.csdnimg.cn/blog_migrate/4e54726dbe4492d902029b0e630efece.png)
成功返回了所有人的信息。
总结
进行SQL注入漏洞测试,首先进行注入点的探测,利用 order by 试探出查询语句所用的列名个数之后,进行简单注入测试检验漏洞。若漏洞可以利用,则使用联合查询来进行数据库内容的爆破,获取数据库名、表名和列名。然后进一步获取其中的用户名密码。
用 order by 试探出查询语句所用的列名个数之后,进行简单注入测试检验漏洞。若漏洞可以利用,则使用联合查询来进行数据库内容的爆破,获取数据库名、表名和列名。然后进一步获取其中的用户名密码。
本文介绍如何在Pikachu靶场上进行SQL注入攻击实验,包括环境搭建、注入点探测及利用等步骤,演示如何通过构造特定payload泄露数据库信息。
4214

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



