漏洞挖掘 | src中一次证书站有趣的SQL注入

一、确定站点

按照以前文章中提到的寻找可进站测试的思路,找到了某证书站的一处站点,通告栏中写明了初始密码的结构,因此我们可通过信息搜集进入该站点(可以考虑去搜集比较老的学号,因为这样的账号要么被冻结,要么就是初始密码,经验之谈,大家可适当参考):
 

图片


因为该站点涉及到的学校很多,特征也很明显,所以打了重重的马赛克,希望各位牛子见谅。

二、SQL盲注

一般能够进站时,我一般习惯先测试逻辑漏洞,再去测试常规漏洞,在这之前可以先将功能都点一点,让我们burp中的插件先帮我们测试着其它漏洞。
经过测试,并没有发现逻辑漏洞。接下来,就测试有无SQL注入。虽然我们的插件没有帮我们扫到,但是好在功能点比较少,手动测也不会浪费太多时间。
最后在某接口处,发现有SQL盲注:
 

图片


点击电子票据抓包,正常包:

图片

加单引号:

图片

直接返回500,但并不是SQL语法的报错,所以暂时先不考虑报错注入,有先考虑盲注。
加注释符号,返回包恢复正常:
 

图片


接下来有趣的一幕出现了:
我用如下payload时:’and+1=1—,被拦截了:
 

图片


猜测是and的问题,大概是被检测为关键字了,所以被拦了。虽然这里不能用and了,但还有其他的可以考虑,比如like、>、<、in等。我这里就是用in绕过的。

布尔盲注语句为真时,数据包正常:
 

图片


payload:’and+1+in+1—
语句为假,返回200,但内容为空:
 

图片


payload:’and+1+in+2—
接下来该利用盲注获得一些数据,例如数据库长度,user长度,版本号等信息才可以提交,想要往下走就要知道是什么数据库。我首先用了len函数,结果返回404,不考虑被过滤的情况下,那可能就是不存在该函数,排除mssql,接下来使用length函数。之后我使用了database(),依旧404,排除mysql,大概率是oracle,最后我使用了user,返回正常。接下来是判断user长度的过程:
 

图片


 

图片


在长度为3时成功回显,说明确实user的长度为3,且为oracle数据库,为了验证我还使用了oralce的数据库函数,也成功注入出了长度,这里不在演示。
正当我打算提交时,我将in改成了=,按理说是应该返回404被过滤的,但是结果竟然回显正常:
 

图片


那上文的and+1=1为毛不行?这里,我又换成了and+-1=-1,发现竟然没被过滤,回显正常:
 

图片


最后判断,应该是过滤了常用的盲注payload: and 1=1 …..
如果过滤了and,可以考虑使用上文提到的方法进行绕过,最后提交漏洞,结束测试。

更多网络安全优质免费学习资料与干货教程加v

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值