Pikachu靶场:SQL-Inject之xx型注入
实验环境以及工具
Firefox浏览器、Burp Suite、Pikachu靶场
实验原理
数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击着可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄漏的一种漏洞。
XX型漏洞表示的是 变量 = ('xx')构造闭合的时候要注意括号单引号进行对应
实验步骤
1.注入点探测
在xx型注入中看到输入框,在里面输入kobe能够返回uid和email两个字段
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5VMNnVL9-1618974314582)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210418181200814.png)]](https://i-blog.csdnimg.cn/blog_migrate/90a03c6caa7c69c23277c68bc9127086.png)
那么就以这个输入框作为注入点。
2.进行注入
在注入点使用 order by进行字段数的测试,由于上面已经返回了两个字段,这里进行三字段的测试。
输入payload为 a') order by 3 #
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4YUb1Bpf-1618974314583)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210418181501788.png)]](https://i-blog.csdnimg.cn/blog_migrate/876aefe4a4364d825e79fb1775ba6890.png)
返回错误,证明只有两个字段。
假设这个地方使用的SQL语句是 select uid 邮箱 from 用户表 where name = (‘kobe’)
那么我们尝试让它将用户表所有人的信息查询出来,闭合前面的 (’ 在后面加上 or 1=1,这样判断条件变成了永真,然后加上 # 将后面的内容注释掉,返回所有查询结果。
输入payload为 a' )or 1=1#
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFY7C9Yq-1618974314586)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210418181720063.png)]](https://i-blog.csdnimg.cn/blog_migrate/8003c5d28bc41cf6cfc4554ee6569fdc.png)
成功返回了所有人的信息。
总结
进行SQL注入漏洞测试,首先进行注入点的探测,利用 order by 试探出查询语句所用的列名个数之后,进行简单注入测试检验漏洞。每个不同的漏洞类型对应的构造闭合的方式也不同。
1822

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



