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 组成的字符串,然后没两个不同的字符碰到一起都可以变成另外一个字符,然后变到最后,求最短的 ...
随机推荐
- 初识python: 面向对象是个啥?
编程范式:编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 ,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多 ...
- Ant 调用 Shell/CMD 命令
Ant中调用Makefile,使用shell中的make命令 <?xml version="1.0" encoding="utf-8" ?> < ...
- c# - 关于位移符号 >> 和 << 的使用
1.前言 这是对二进制数据进行位移的方法 2.操作 using System; namespace ConsoleApp1.toValue { public class test1 { public ...
- Apache Shiro反序列化远程代码执行复现
最近也是看shiro漏洞比较多,所以自己也在本地复现了一下,拿出来与大家一起分享 0x00 关于Apache Shiro Apache shiro是一个Java安全框架,提供了认证.授权.加密和会话管 ...
- 匿名函数托管 func-spring-boot-starter
匿名函数托管 func-spring-boot-starter 项目地址 func-spring-boot-starter开源项目地址: https://gitee.com/yiur/func-spr ...
- 如何让 Hexo 在服务器稳定运行
声明 本文地址:如何让 Hexo 在服务器稳定运行 背景 博客系统终于又搭建起来了(好一个又),但是每隔一段时间去访问自己的网站总是访问不到,去服务器查询 ps aux | grep hexo,发现 ...
- Solon 开发,四、Bean 扫描的三种方式
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...
- javascript随机变色--案例
1.打开网页,网页效果如图所示 代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset=" ...
- linux中链接错误的时候,快速找到缺失的符号在哪个库中
编译一个opencv程序,链接的时候出现大量的如下错误: /home/admin/opencv/opencv-master/modules/imgproc/src/color_lab.cpp:23: ...
- T-SQL的存储过程
1.简介 存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时 ...