1day漏洞反推技巧实战(3)
代码审计必备技能,github代码对比,写一笔:
搜索某开源组建漏洞,搜索出来某个版本rce:

通过消息得出:存在漏洞版本:1.10.10 ,修复漏洞版本1.10.11
去github寻找apache-airflow:
打开就是主分支:
切换到漏洞版本分支:
有两个办法:
(1)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: '" ./

找到漏洞文件,如果还有更好的方法,麻烦留言!
1day漏洞反推技巧实战(3)的更多相关文章
- 1day漏洞反推技巧实战(1)
学习笔记里的存货(1) 以前看了一篇推特老外做赏金猎人的文章,感触有点深,作者没有写相关漏洞分析,只是说了自己挖了多少个漏洞,这里简单的分析下: 1day漏洞在很多时候至关重要,不管是在红蓝对抗,还是 ...
- 1day漏洞反推技巧实战(2)
学习存货(2) CVE-2018-11784简单分析之反推的魅力 看着挺有趣的,简单分析下: 通过搜索tomcat漏洞找到: http://tomcat.apache.org/security-7.h ...
- Gym 101102J---Divisible Numbers(反推技巧题)
题目链接 http://codeforces.com/gym/101102/problem/J Description standard input/output You are given an a ...
- Python高效编程技巧实战 实战编程+面试典型问题 中高阶程序员过渡
下载链接:https://www.yinxiangit.com/603.html 目录: 如果你想用python从事多个领域的开发工作,且有一些python基础, 想进一步提高python应用能力 ...
- dwr2反推
package services; import org.directwebremoting.Browser; import org.directwebremoting.ScriptSessions; ...
- Anipang2反推文档
此文档主要用于一个开发同学尝试学习描述一个产品的基本设计.也许工程师都应该有类似能力. 反推的基础,目前是自己玩过的一些关卡和youtube上的一些关卡通关视频,主要是前120关.(120关后面应该是 ...
- base64随机字符混淆加密、解密-美拍视频地址解密,反推加密算法
用火车头测试采集美拍的数据时无意中发现美拍的视频地址是一段加了混淆字符串的base64代码.如下图 于是好奇之下研究了下解密算法.具体过程省略800字.发现美拍的视频解密是通过js完成,于是找到了具体 ...
- JavaScript反调试技巧
一.函数重定义 这是一种最基本也是最常用的代码反调试技术了.在JavaScript中,我们可以对用于收集信息的函数进行重定义.比如说,console.log()函数可以用来收集函数和变量等信息,并将其 ...
- HackerRank - string-reduction【反推】【规律】
HackerRank - string-reduction[反推] 题意 给出一串 只有 字母 a, b, c 组成的字符串,然后没两个不同的字符碰到一起都可以变成另外一个字符,然后变到最后,求最短的 ...
随机推荐
- 微信小程序--数据共享与方法共享
目录 全局数据共享 Mobox npm安装及其注意事项 小程序对 npm 的支持与限制 npm 依赖包的安装与使用 Mobox 1. 全局数据共享 2. 小程序中的全局数据共享方案 3. 使用mobx ...
- vue再页面渲染json数据时没有显示
对象点属性不能获取数据. 原因: 在创建数据对象时我使用了k,v方式:tempMap['category '] = this.category[i].label 如果在创建数据时使用的k,v方式,那么 ...
- PowerShell【For篇】
1-10的循环 1 for($i=1;$i -le 10;$i++){ 2 $i 3 } 当然之前前一篇中所写到的1..9你也可以直接在ps中写道 1..10 运行结果也是一样的. 也可以这样 1 f ...
- Hive分析统计离线日志信息
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)云盘目录说明:tools目录是安装包res 目录是每一个课件对应的代码和资源等doc 目录是一 ...
- 老旧业务重构案例——IM系统如何设计
一年半之前刚来到这个团队,便遭遇了一次挑战: 当时有个CRM系统,老是出问题,之前大的优化进行了4次小的优化进行了10多次,要么BUG重复出现,要么性能十分拉胯,总之体验是否糟糕!技术团队因此受到了诸 ...
- 使用VUE组件创建SpreadJS自定义单元格(二)
在上篇中,我们介绍了如何通过设置runtimeCompiler为true,在Vue中实现了动态创建电子表格组件.想了解具体内容可看点击查看使用VUE组件创建SpreadJS自定义单元格(一). 但是在 ...
- [WPF] 用 Effect 实现线条光影效果
1. 前言 几个月前 ChokCoco 大佬发布了一篇文章: CSS 奇技淫巧 | 妙用 drop-shadow 实现线条光影效果 在文章里实现了一个发光的心形线条互相追逐的效果: 现在正好有空就试试 ...
- 使用.NET 6开发TodoList应用(29)——实现静态字符串本地化功能
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 在开发一些需要支持多种语言的应用程序时,我们需要根据切换的语言来对应展示一些静态的字符串字段,在本文中我们暂时不去讨论如何结合 ...
- Kotlin 协程一 —— 全面了解 Kotlin 协程
一.协程的一些前置知识 1.1 进程和线程 1.1.1基本定义 1.1.2为什么要有线程 1.1.3 进程与线程的区别 1.2 协作式与抢占式 1.2.1 协作式 1.2.2 抢占式 1.3 协程 二 ...
- C语言字幕从外向中间汇聚
演示数据中多个字符,从两端向中间移动,向中间汇聚 简单,粗暴,先上代码: Sleep()函数属于<windows.h>头文件中. sizeof()函数求右下标:数组内是数字时,求右下标要- ...