Pikachu靶场:SQL-Inject之数字型注入(post)

本文详细讲述了如何在Pikachu靶场环境中利用SQL注入漏洞,从数字型注入点探测,到利用orderby进行列数确认,再到联合查询获取数据库信息,最后破解密码的过程。关键步骤包括注入点定位、SQL语句分析和安全测试实践。
摘要由CSDN通过智能技术生成

Pikachu靶场:SQL-Inject之数字型注入(post)

实验环境以及工具

Firefox浏览器、Burp Suite、Pikachu靶场

实验原理

数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击着可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄漏的一种漏洞。

实验步骤

1.前期工作

先将Proxy中的intercept关闭,使其不进行拦截,让数据通过监听的端口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9fFCr3A-1618388872155)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210404141348698.png)]

2.注入点探测

在数字型注入中只看到一个下拉框,里面包含了从1到6的数字,这个地方无法进行输入,那么将注意力转向到报文中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5bn4kSq7-1618388872157)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414145026528.png)]

将proxy中的intercept的拦截开启,任意选择一个数字进行查询,这里选择的是1,然后在报文中进行查找,发现了一个id=1,这里就是注入点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7StxmlBu-1618388872158)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414145524198.png)]

3.进行注入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B0rPuVLg-1618388872161)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414150528568.png)]

由于这里返回的结果包含一个人名和一个邮箱,猜测查询语句查询了两个字段。

在注入点中使用order by进行字段数的测试。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nsVRmykI-1618388872162)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414151312186.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wt07z5H6-1618388872163)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414151556703.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iREhQQTt-1618388872164)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414151409529.png)]

发现order by 2正常返回,order by 3报错,说明第三个列不存在,那么查询语句只用了两个列名。

假设这个地方使用的SQL语句是 select 人名 邮箱 from 用户表 where id=1

那么我们尝试让它将用户表所有人的信息查询出来,在后面加上 or 1=1,这样判断条件变成了永真,返回所有查询结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8l9CrDNX-1618388872164)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414150004185.png)]

4.利用union查询获取数据库信息

使用 union select database(),user() 爆破当前的数据名和当前的用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VXSEGmcb-1618388872165)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414152800105.png)]

利用之前查出来的数据库名称 pikachu 构建payload union select TABLE_SCHEMA,TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = ‘pikachu’ 查询数据库中的表名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dmuQBh7T-1618388872166)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414154806360.png)]

利用之前查出来的数据库名称pikachu、用户表名 users构建payload union select TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = ‘pikachu’ and TABLE_NAME = ‘users’ 查询表中的列名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GZZPAxJL-1618388872167)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414155931693.png)]

由于联合查询要求前后两个SQL语句的列名数要一致,所以这里只能用两个列名进行查询。故使用

union select username,password from users查询users表中的用户名和密码字段。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-smF67ZHS-1618388872167)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414160254244.png)]

整理用户名和密码

用户名 admin

密码 e10adc3949ba59abbe56e057f20f883e

用户名 pikachu

密码 670b14728ad9902aecba32e22fa4f6bd

用户名 test

密码 e99a18c428cb38d5f260853678922e03

5.利用hash-identifier和在线哈希破解网站破解密码

使用kali自带工具hash-identitier判断pikachu用户的密码的哈希类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UxXYZPSx-1618388872168)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414161200492.png)]

类型为MD5

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cXolb4qv-1618388872168)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210414162237605.png)]

在MD5解密网站解密得到密文000000

总结

进行SQL注入漏洞测试,首先进行注入点的探测,利用 order by 试探出查询语句所用的列名个数之后,进行简单注入测试检验漏洞。若漏洞可以利用,则使用联合查询来进行数据库内容的爆破,获取数据库名、表名和列名。然后进一步获取其中的用户名密码。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值