文章总结: 本文介绍了一位安全研究员在某985高校证书站点发现的SQL注入漏洞过程。作者通过注册账号进入系统,在个人页面发现了一个类似查询字段,通过添加单引号引发SQL报错,初步判断存在SQL注入。在绕过WAF拦截后,作者利用Oracle数据库特有的||字符串拼接符成功执行SQL注入,最终获取了敏感信息。文章强调了在渗透测试中识别数据库类型并利用其特性的重要性。 综合评分: 78 文章分类: 渗透测试,WEB安全,漏洞分析,漏洞POC,实战经验
什么?瞎逛也能捡到高危漏洞?
原创
只会弱口令
只会弱口令
2025年12月19日 23:31 广西
前言
来自菲神投稿
起因
事情的起因是喵神跟我说他在某所“985”高校的证书站点研究得正起劲,并告诉我这个站点是有漏洞的,我寻来也来捡捡漏没准也能捞到一本证书。
进入正题
这里有一个注册功能随便注册一个账号,进入系统
注册成功点击个人页面
发现一个”select”:”id,name”类似查询字段,然后我就想如果在这个类似查询字段中插入闭合符号会不会引发sql报错
添加加单引号发现报错
添加两个单引号就不会报错了但是这里有一个变化就是name值变成空了
正当以为使用 ‘ OR ‘1’=’1–+ 证明存在SQL注入漏洞发送数据包时被拦截,尝试使用 || 代替 OR,还是不行,发现拦截的是=号后面任何值。
其实一开始我也怀疑这里是没有sql的但是冥冥之中就是感觉这里有sql注入然后用注释符试了一下”select”:”id,name-‘”不回显内容但是加上完整的闭合符后就会”select”:”id,name–+”回显内容断定这里存在sql然后就是进行sql语句的构造了。但是构造了半个小时并没有发现什么端倪,这里就请教喵神。
首先使用 || 看看怎么个事,发现这里竟然没报错而是name字段是我们输入的payload。
接着尝试,这里竟然执行了拼接,那么可能是Oracle数据库,因为在Oracle数据库 || 是字符串拼接。
知道了数据库后面就可以针对性的测试了,废话不多说直接上payload。直接解析user的值。高危到手!
为什么user会被解析呢?在Oracle中user是内置函数不加引号不会执行,但是使用了 || 会触发表达式拼接,所有user的值会被计算进去。
最后总结
至此非常感谢喵神告诉这个系统存在漏洞,并在漏洞挖掘的过程中之中循循善诱、谆谆教诲,一步步地引导我,直至圆满地完成此次地漏洞挖掘
查看原文:《什么?瞎逛也能捡到高危漏洞?》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论