[国外案例分享]Oracle的神jin注入

admin 2025年1月9日12:41:28评论11 views字数 1060阅读3分32秒阅读模式
小声BB

既然回归,就应该腹泻式更新,上一篇推文意想不到地赚了3块钱广告费,知足常乐!网络安全,未来可期~

[国外案例分享]Oracle的神jin注入
切回主线

依旧是国外的项目,这次的项目是已经打入后台,然后在一个products参数发现注入,这个注入的利用方式较为罕见,写个小作文给师傅们唠嗑唠嗑,分享属于我的 快乐 悲伤。

[国外案例分享]Oracle的神jin注入
漏洞详情

1.登录后台之后,发现漏洞接口,products参数单引号直接报错,平平无奇的开局。

[国外案例分享]Oracle的神jin注入

2.原以为滔天富贵这么容易降临,于是继续插入'or'1'='1,没想到居然还报错。

[国外案例分享]Oracle的神jin注入

我继续插入单个数字1为什么一个数字参数也会报错?

[国外案例分享]Oracle的神jin注入

这对于注入级别还在萌新阶段的我来说,不得不对这个报错提出了质疑,难道是自定义的报错信息?

[国外案例分享]Oracle的神jin注入

3.经过反复折腾,我放弃了这个点,实在太不像注入了。

[国外案例分享]Oracle的神jin注入

4.然后我去挖别的项目,终于有一天,我挖不到洞,就回头看,越看越气,这怎么可能不是注入呢?

[国外案例分享]Oracle的神jin注入

5.作为一个合格的菜鸡,我今天一定要把它搞清楚!于是我不断尝试,在系统的其他接口orderby注入,那个orderby也是历经九九八十一难才注出数据(这里就不展开吹牛了),经orderby注入出数据库的类型为Oracle。这下子思路就出来了,手工构造逃逸点,最终构造出poc:''||'666'||''

[国外案例分享]Oracle的神jin注入

6.那么问题来了,这个无回显,怎么注出数据呢?我尝试过用dbms_pipe.receive_message('RDS', 10),当然也尝试过dnslog,但都没有拿到预期的执行结果。经过查询许多资料,我发现可以执行大量数据查询操作实现时间盲注的效果,

献上poc:

''||(select+decode(substr('C',1,1),'C',(select+count(*)+from+all_objects),0)+from+dual)||''poc释疑:当decode的条件成立时:执行select+count(*)+from+all_objects我们先执行10次条件成立的请求。

[国外案例分享]Oracle的神jin注入
[国外案例分享]Oracle的神jin注入

再执行10次条件不成立的请求。

[国外案例分享]Oracle的神jin注入

执行结果比对如下:

[国外案例分享]Oracle的神jin注入

通过分析可以看到一个明显的规律,当条件成立时,响应完成的时间最小不低于700,而条件不成立时,最小的响应时间经常处于100以下。接下来的注出数据,应该不需要我继续写下去了吧?有疑问的师傅可以后台滴滴,一起交流交流。

[国外案例分享]Oracle的神jin注入
经验三点总结

1.耐心。2.专注。3.愣头青精神。

结尾

公众号更新不易,不仅存在法律风险,也难免被人收割成果。用爱发电,走得并不远,总之,且看且珍惜,我要上山去剪沙糖桔了~

[国外案例分享]Oracle的神jin注入

原文始发于微信公众号(森柒柒):[国外案例分享]Oracle的神jin注入

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月9日12:41:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [国外案例分享]Oracle的神jin注入https://cn-sec.com/archives/3610094.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息