实战 | 1day漏洞反推技巧代码审计实战(3)

admin 2022年10月8日15:19:28评论67 views字数 1099阅读3分39秒阅读模式

代码审计必备技能,github代码对比,写一笔:


搜索某开源组建漏洞,搜索出来某个版本rce:

 实战 | 1day漏洞反推技巧代码审计实战(3)


通过消息得出:存在漏洞版本:1.10.10 ,修复漏洞版本1.10.11

去github寻找apache-airflow:

打开就是主分支:

  实战 | 1day漏洞反推技巧代码审计实战(3) 

切换到漏洞版本分支:

有两个办法:

https://github.com/apache/airflow/tags

一个个翻,翻到对应版本,往下拉

   实战 | 1day漏洞反推技巧代码审计实战(3)

(2)搜索Tags分支,切换分支:

  实战 | 1day漏洞反推技巧代码审计实战(3)

切换过来然后:

切换分支下载对应版本项目:

git clone -b 1.10.10 https://github.com/apache/airflow.git

  实战 | 1day漏洞反推技巧代码审计实战(3) 

这样就把存在漏洞的版本下载下来了,修复版本是1.10.11

下载修复版本:

git clone -b 1.10.11 https://github.com/apache/airflow.git

下载之后可通过

git diff 文件夹1 文件夹2:

这样就可以查看修改了哪些文件:

  实战 | 1day漏洞反推技巧代码审计实战(3)

除了下载下来查看,也可以直接网页查看对比:

https://github.com/apache/airflow/compare/1.10.10...1.10.11?diff=split

可以看到1.10.10~1.10.11之间提交的Commits和修改的文件:

  实战 | 1day漏洞反推技巧代码审计实战(3)

查看代码修改,左侧是修复前,右侧是修复后的代码片段:

  实战 | 1day漏洞反推技巧代码审计实战(3)

遇到的问题:Commit太多了,版本更新迭代的文件太多了,这时候,我们怎么定位到哪个是问题文件?

(1) 理想状态:第三方漏洞预警平台提供了对应的漏洞Commit提交记录

(2)只知道某种漏洞类型,如sql注入类型/rce类型

大部分都是2,如果是1的情况,直接看对应的Commit提交记录就可以了,不要那么费劲

如果是2,只知道漏洞类型怎么办?

举例子说明:git diff配合grep:

git diff airflow airflow_novuln/ |  grep "command" > aa.txt
去漏洞版本项目中搜索部分代码片段:
grep -rn "echo "Here is the message: '" ./

实战 | 1day漏洞反推技巧代码审计实战(3)


推荐阅读


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


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


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


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


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


作者:飘渺红尘

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

如有侵权,请联系删除


星球部分精华内容推荐

实战 | 1day漏洞反推技巧代码审计实战(3)

实战 | 1day漏洞反推技巧代码审计实战(3)

实战 | 1day漏洞反推技巧代码审计实战(3)

实战 | 1day漏洞反推技巧代码审计实战(3)

实战 | 1day漏洞反推技巧代码审计实战(3)

实战 | 1day漏洞反推技巧代码审计实战(3)

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

实战 | 1day漏洞反推技巧代码审计实战(3)

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

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月8日15:19:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战 | 1day漏洞反推技巧代码审计实战(3)http://cn-sec.com/archives/1293686.html

发表评论

匿名网友 填写信息