实战 | 1day漏洞反推技巧代码审计实战(3)
2022-9-13 10:21:44 Author: HACK学习君(查看原文) 阅读量:24 收藏

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

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

 

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

去github寻找apache-airflow:

打开就是主分支:

   

切换到漏洞版本分支:

有两个办法:

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

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

   

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

  

切换过来然后:

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

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

   

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

下载修复版本:

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

下载之后可通过

git diff 文件夹1 文件夹2:

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

  

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

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

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

  

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

  

遇到的问题: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: '" ./


推荐阅读

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

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

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

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

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

作者:飘渺红尘

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

如有侵权,请联系删除

星球部分精华内容推荐

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


文章来源: http://mp.weixin.qq.com/s?__biz=MzIzNzMxMDkxNw==&mid=2247490263&idx=1&sn=270f1370da53b3abfd5f5e4ee4b95055&chksm=e8cbdc7ddfbc556b561086253fbfc4e880bf9c51b15b1f6948f46bf5ffb8d543bb66bee82178#rd
如有侵权请联系:admin#unsafe.sh