实战 | 1day漏洞反推技巧实战(2)

admin 2022年10月10日14:45:48评论104 views字数 1202阅读4分0秒阅读模式

CVE-2018-11784简单分析之反推的魅力

  实战 | 1day漏洞反推技巧实战(2)

看着挺有趣的,简单分析下:

通过搜索tomcat漏洞找到:

http://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.91

  实战 | 1day漏洞反推技巧实战(2)

修改了这两个文件,我们看java文件即可,xml文件先不看:

因为跟url跳转相关,直接搜索redirect/direct等关键字:

  实战 | 1day漏洞反推技巧实战(2)

关键问题在这里

说实话这样黑盒找修复代码,还是有点费劲的,毕竟看的是修复代码,没有漏洞代码做参照

通过网上前人的脚印找到github漏洞修复对比:

   https://github.com/apache/tomcat/commit/efb860b3ff8ebcf606199b8d0d432f76898040da

  实战 | 1day漏洞反推技巧实战(2)

这样看太清晰了,其中问题代码是左边的代码块:

    实战 | 1day漏洞反推技巧实战(2)

右边是加了一行这个:

// Avoid protocol relative redirects        while (location.length() > 1 && location.charAt(1) == '/') {            location.deleteCharAt(0);        }

修复这个问题代码的版本如下:

  实战 | 1day漏洞反推技巧实战(2)

github项目:tomcat>9.0.12都修复了,tomcat9.0.12之前都没做处理

跟进相关修复文件:

    实战 | 1day漏洞反推技巧实战(2)

复制粘贴出来这一段到我的本地测试:

  实战 | 1day漏洞反推技巧实战(2)

这是修复后的,直接去除掉修复的代码:

  实战 | 1day漏洞反推技巧实战(2)

运行查看:

    实战 | 1day漏洞反推技巧实战(2)

 

访问:http://localhost:8070//test

  实战 | 1day漏洞反推技巧实战(2)

跳转到了test

漏洞原因就是因为:

sendRedirect方法支持http/https外,还有//

  实战 | 1day漏洞反推技巧实战(2)

运行下:

访问路由地址,跳转到百度:

  实战 | 1day漏洞反推技巧实战(2)

这里的代码没对//做处理,导致变量走sendRedirect的时候,直接url跳转了:

简单跟下sendRedirect方法:

  实战 | 1day漏洞反推技巧实战(2)   实战 | 1day漏洞反推技巧实战(2)

再往下跟进函数

    实战 | 1day漏洞反推技巧实战(2)

修复方案就是去除掉两次/

所以官方的修复方案就是这样:

循环判断,如果这里的while改成if,那么会存在安全问题hhhh

    实战 | 1day漏洞反推技巧实战(2)

再次访问:http://localhost:8070//test/

已经不能重定向了

输入//,只会输出一个

  实战 | 1day漏洞反推技巧实战(2)

这样可控点再走sendRedirect方法,就不能url跳转了.

这种反推对漏洞挖掘来说还是很有意思的   

实战 | 1day漏洞反推技巧实战(2)


推荐阅读


实战 | 记一次渗透拿下某儿童色情网站的经过


实战 | 记一次企业钓鱼演练


2022年,从现在开始学安全还不迟!


干货 | 2022年超全的安全知识库


实战 | 实战一次完整的BC网站渗透测试


作者:飘渺红尘

文章来源:https://www.cnblogs.com/piaomiaohongchen/p/15215885.html

如有侵权,请联系删除


星球部分精华内容推荐

实战 | 1day漏洞反推技巧实战(2)

实战 | 1day漏洞反推技巧实战(2)

实战 | 1day漏洞反推技巧实战(2)

实战 | 1day漏洞反推技巧实战(2)

实战 | 1day漏洞反推技巧实战(2)

实战 | 1day漏洞反推技巧实战(2)

其他更多精彩内容,欢迎加入我们的星球

实战 | 1day漏洞反推技巧实战(2)


原文始发于微信公众号(HACK学习君):实战 | 1day漏洞反推技巧实战(2)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月10日14:45:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战 | 1day漏洞反推技巧实战(2)https://cn-sec.com/archives/1292599.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息