zoukankan      html  css  js  c++  java
  • 1day漏洞反推技巧实战(1)

        学习笔记里的存货(1)

        以前看了一篇推特老外做赏金猎人的文章,感触有点深,作者没有写相关漏洞分析,只是说了自己挖了多少个漏洞,这里简单的分析下:

        1day漏洞在很多时候至关重要,不管是在红蓝对抗,还是在赏金猎人生涯中,他占据着很大的地位,关于1day概念,这里不再过多描述.

      开始我们快乐的全过程学习:

        发现某个cms,他是nodejs开发的,cms是Etherpad Lite,通过百度 google搜索相关漏洞详情:

      

      随便找几个打开链接:

        

       会发现一件事情,你根本看不到漏洞细节,全是漏洞描述信息

       使用中文搜索:

      

      

      

      也是只有描述没有漏洞细节

       而你用这种方法去搜索一些国内比较知名的cms,如phpcms漏洞:

      

      

     你可以搜索到很多,并且除了描述信息,还有直接利用的漏洞poc和exp,你可以通过百度/谷歌获取到漏洞细节,直接利用漏洞.  

      现在继续回到Etherpad Lite这个cms系统,很显然Etherpad Lite公开的漏洞描述,并没有公开poc,说明是1day,需要我们去反推:

       让我们再来一次,再次谷歌搜索:

      

      

      

      这些都是cve列表,记录着产品的漏洞,我们随便找到一个打开,我以第一个为例:

        

       发现很多漏洞,点一个xss进去:

      

       会发现一个链接:点击链接部分:

      

      

    https://github.com/ether/etherpad-lite/commit/5879037ddca4ab9a4002adf90fc7ce6c9f82f01b

      打开链接,通过两边文件的代码对比,就可以看出哪里出现的安全问题:

      

      

    这样我们就可以看到区别,修复后的文件,使用padutils.escapeHTML去处理修复,这样我们追踪到问题代码后,对我们唯一的难点就是获取完整代码,跟踪路由地址,往上看文件修复:

      

     

    作者说漏洞于2019年10月19日完成修复,那么怎么更快确认哪些版本的Etherpad Lite受影响呢?通过这里查看:

      

      这些列举出来的是已经修复的,而1.8.0-beta.1之前都是未修复的,打开releases看下:

        

    的确是,1.7.5版本他的发布时间是2019年1月26,1.8.0-beta.1的发布时间是2019年11月3.

     下载1.7.5版本的项目看看便知:

     通过修复文件获取到漏洞路径:src/templates/pad.html:

      

      通过代码发现,只要传入url数据,带入到box.innerHTML 即可触发xss,url没做处理

      下载1.8.0-beta.1,查看相关代码,可以发现已经修复了:

      

       同理其他漏洞/其他产品漏洞也可以通过这种方法发现漏洞问题是什么.

      光光是知道哪个文件存在漏洞还不行的,这里简单的梳理下,怎么做才能真正利用上漏洞:

      大致思路如下:    

    获取存在安全问题项目源码->摸清楚路由地址->根据修复之前的代码反推安全问题->构造漏洞poc->攻击

       简单抛砖引玉,希望可以帮助到大家.

  • 相关阅读:
    第十三周助教作业
    【西北师大-19软工】第五次作业成绩汇总
    第十二周助教工作总结
    第十一周助教工作总结
    第九周助教工作总结
    第八周助教工作总结
    第七周助教工作总结
    SQLAlchemy 学习笔记(二):ORM 基础
    WebSocket 与 HTTP/2
    Chrome 与 Firefox-Dev 的 DevTools
  • 原文地址:https://www.cnblogs.com/piaomiaohongchen/p/15140742.html
Copyright © 2011-2022 走看看