【SRC挖掘】众测下的SQL注入挖掘案例

众测下的SQL注入挖掘

0x01原理:

sql注入的原理在这里就不在详细介绍了,我相信大多数师傅对sql注入都是有一定的理解,如果对sql注入了解不深入的可以详细的去学习一下基础,手工打打靶场,熟悉sql函数等。
当然我们在学习sql注入的时候我们一定要先去简单的了解各种数据库的特征
比如:exp()函数来测试注入点,exp(709)正常、exp(710)报错,mssql和mysql适用,oracle中exp()没有固定值,只要能执行我们输入的语句,就可能存在注入

其余对比有心人可以自己去整理,之后在项目中挖掘sql注入会有很大的帮助

0x02测试方法:

在众测的时候可以对sql注入挖掘的方法有两种:
1.被动扫描检查(这一点不建议使用,但是在众测没有说明不能用扫描器的时候可以使用流量较小的扫描)
2.手工配合sqlmap检查
现在的web站点大多数都进行了上waf或者进行预编译来防护sql注入,但是这两种情况并没有彻底的防护住sql注入:

  • *1: 如果web站点有waf 但可以找出真实ip,我们可以通过真实ip去访问站点,或许这时候我们所访问的真实ip就不存在waf了进而形成注入
  • *2: 我们也可以爬取整个web站点的接口,因为有可能开发人员在开发的时候,就对一个接口忘记添加waf了
  • *3:在实战中,可控的表名、列名、order by、sort、desc、limit参数后,不属于用户的输入,也能造成注入,这就是预编译不能完全防范sql注入的原因。

常用手法:

单引号报错,双引号正常(对比返回长度)可能存在注入,然后判断数据库类型,套用各数据库语句函数,证明有注,之后可以放入sqlmap中跑出注入或者自己写脚本来跑

注入存在点:

  • 1、常见的参数传递,像id=1(数字型),id=x(字符串型)、查询框、登录框
  • 2、cookies、http头、user-agent、ip,也有可能存在注入,不要放过数据包的每个部分。
  • 3、不明显地方,字段排序、表名、字段名可控也能注入。

例如:order by id、sort=id、desc、asc、limit后注入,可以用逗号来闭合,后面接上注入语句,达到注入的结果。

0x03案例:

在某安的一次项目中,感觉web上的资产确实太少了,而且很多人都在挖掘于是将资产转移到了app上面:
当我们下好app后,就如下图一样没有什么特别。
在这里插入图片描述

(我个人挖掘app的时候喜欢将所有功能点都点一下,然后回去看历史记录)
但是在我把所有功能点都尝试了一次,我发现一个接口是post传参,但是在格式中存在xx_xx_id等字眼,于是进行单引号测试,没想到成功报错,闭合后数据包返回正常(这里的参数很奇怪,在测试中不要放过任何一个参数,说不定这个参数就有问题)
在这里插入图片描述

相信很多师傅都只会去测试第一个id,后面的id可能看都不会看一眼,但是在这些出现问题的参数就是最后一个,简单的单引号就可以测试出来。
在确定某参数存在注入后,放入sqlmap中自动跑出结果即可:
在这里插入图片描述
通过sqlmap跑出的参数也可以看出是最后一个参数存在注入,当时以为整个站点都会存在,于是各个都跑了一次,最后才发现只有我的客服这一个点存在注入,所以当网站有我的客服这一个点的时候可以进行注入测试。
最后也是获取高危赏金4k。

总结

虽然挖掘的过程很简单,但是挣来的赏金是实实在在的,要挖SRC就要多测,总有功能点会出现问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

webfker from 0 to 1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值