基础功能
-
proxy
-
主要作用是拦截流量,并根据情况对流量做出规则替换或者手动修改
http history 会记录 所有经过burp的流量 , 并发送给辅助模块做分析,比如 targt
-
options 相关:
-
证书 | https
-
修改监听端口
-
本地端口间转发
-
远程 主机/域名转发 | 实用性 小
-
强制使用 ssl
-
隐形代理
-
在无浏览器端或者设置流量代理的应用中 代理流量的方法 | proxychain
-
修改 /etc/host , 将目标网址指向本地
-
修改 hostname resolution 选项 ,将接收到的请求,转发到对应的ip去
-
-
-
-
对请求包和返回包做出批量修改
-
自动修改,一些预设好的功能
-
手动设置修改规则
-
选定区域
-
写正则
-
-
和 repeater 的不同
-
可以操作返回头
-
可以对未知流量做批量替换
-
-
-
ssl pass through
- 对指定网址 进行 ssl 直连,但是优点没有看懂...
-
-
-
repeater
-
作用 :
-
修改,重放包进行测试攻击
-
查看 重点包的结果
-
-
注意 repeater 的 设置选项在顶栏
-
右上角可以设置重放包的target(host,port)
-
设置重放时是否进行跳转follow redirections
-
change method 自己更改可能会因为一些小细节导致包出错,直接使用着用方法会更好一+点
-
可以自动进行Url编码,空格转换成+,等等...
-
copy as curl,可以将整个Burp的包构造成curl的参数的形式请求
-
url解码和编码的快捷键,右键可以直接convert selection,进行编码和解码
-
post方法可以change body encoding,更改发包方式改成文件上传类型的
-
-
intruder 顶栏的设置中,可以包的内容进行替换和追加 | 自动化测试
-
作用
-
模糊测试 | 设置大量的payload进行模糊测试
-
爆破 密码
-
fuzz
-
sql
-
命令注入
-
-
-
提取特定信息
-
设置多种标识符
-
-
攻击模式
-
sniper
-
payload位置数量 : 1
-
payload 列表数量 : 1
-
替换方式 : 遍历payload列表
-
-
batteringram
-
payload 位置数量 : [:21]
-
payload 列表数量 : 1
-
替换方式 : 遍历payload列表,所有位置值相同
-
-
pitchfork
-
payload 位置数量 : [:21]
-
payload 列表数量 : [:21]
-
替换方式 : 同时遍历不同位置的payload列表 ,
- 例如 : payloadN[index ++]
-
-
clusterbo,mb
-
payload 位置数量 : [:21]
-
payload 列表数量 : [:21]
-
替换方式 : 在不同位置上依次遍历所有payload , 执行的Payload数据Payload组的乘积
-
例如 :
-
payload 1 [a , b] , payload 2 [c , d]
-
a , c
-
a , d
-
b , c
-
b , d
-
-
-
-
-
-
payload 类型
-
simple list
- 设置指定字符串,或者从多个文件中读取字符串内容
-
runtime file 运行时文件
- 设置从指定文件中按行读取payload
-
custom iterator 自定义迭代
- 最多8个占位,可以在不同占位设置不同的payload,从而组合成多个规则的payload
-
Character substitution 字符串替换
- 设置字符替换规则,对内容进行枚举后,生成payload
-
bruteforcer
-
此类 payload生成包含一个指定字符集,所有排列,特定长度的有效载荷
-
通常用于枚举字典的生成
Character set表示生成字典的数据集
-
-
-
Case modification 对字母大小写情况替换
-
多种
-
no change 不变
-
to lower case 小写
-
to upper case 大写
-
to propername 首字母大写其他小写
-
to ProperName 首字母大写其他不变
-
-
-
Recursive grep 递归替换
-
用于从服务端提取有效数据的场景
-
options (grep extract) 中设置正则抽离内容,才能为下一次请求获取数据
-
-
extesion-generated生成插件
- 基于插件生成payload
-
copy otherpayload
- 将其他位置的复制到该位置上
-
Illegal Unicode 不合法的 unicode 编码
- 在payloads里用指定的不合法Unicode编码替换字符本身,从这些Payload列表里产生出一个或者多个有效负荷。在尝试回避基于模式匹配的输入验证时,这个有效负荷会有用的
-
Character blocks 字符串
- 生成指定长度模式的字符,边界测试或者缓冲区溢出?
-
number 数字
- 根据配置生成数字payload
-
dates 日期类型
- 根据配置生成日期
-
NullPayloads 空类型
-
空字符串 , 间隔使用 , 实际作用没想到案例
-
这种负载类型产生的Payload,其值是一个空字符串。在攻击时,需要同样的请求反复被执行,在没有任何修改原始请求的场景下此Payload是非常有用的。它可用于各种攻击,例如cookie的序列分析、应用层Dos、或保活会话令牌是在其它的间歇试验中使用。
-
-
characterfrobber 字符 frobber
- 依次修改指定字符串每个字符位置的值,测试session的有效性
-
.bitflipper bit翻转
- 对于舍得payload 按照 bit 修改
-
usernamegenerator 用户名生成器'
-
ECB blockshuffler ECB加密块洗牌
- 测试基于ecb加密模式的 payload
-
-
-
target
-
在开着burp代理访问网站时,会根据访问记录进行收集分析,记录站点地图
-
作用:
-
手动收集站点地图
-
分析攻击面
- 通过不同权限用户生成的访问地图,来对比发现权限不同的影响
-
-
options :
-
设置 包含规则和禁用规则
- 可以筛选访问记录,从而获得需要的站点地图
-
比较站点地图
- 可以使用当前存在的站点地图,或者根据当前地图再次批量请求生成,并对请求参数做设置,从而获得不同情况下的站点地图
-
-
-
spider / scaner
-
作用
-
爬虫 ,层次挖掘的站点地图扫描
- 设置多个参数,从而模拟各种情况下爬取结果
-
简易漏扫
- 通过 设置审计规则,黑盒判断漏洞
-
传值可能是在path路径中,如:/a/id/1
-
-
-
Sequencer
- 监测数据随机化质量和令牌是否可预测
-
工具块
-
decode 解码
-
compare 比较
-
burp顶栏
-
burp collaborator外带通道 | 不是特别实用,但是临时用挺好
-
--collaborator-server,然后在顶栏打开client即可
-
可设置 用默认的公用服务器,或者自己部署的服务器
-
设置位置 project options -> misc -> burp collaborator server
-
-
-
burp clickbandit 点击劫持生成代码
-
burp infiltrator
-
能够检测服务端可能存在的一些API
-
LAST交互式应用程序安全检测模式
-
save state,restore state 保存流量,恢复流量
-
鉴权机制,检测未鉴权的接口
-
使用方式
- 从Burp菜单中选择 Burp Infiltrator 选项,选择应用程序类型后保存,在安装和运行Infiltrator之前不要运行应用程序。 将Infiltrator安装程序复制到应用程序的根文件夹中进行赋权并执行,执行交互完成后正常启动应用程序,最终在扫描过程中会触发一些安全报告。
-
-
search
- 可以设置模式和部分,对历史数据进行查找
-
Engagement tools
-
find references 获取指定 http 消息的 refre
-
Discover content 对指定消息根据url路径进行目录和文件枚举
-
Schedule task 设置任务调度表,对指定的Url 设置多种任务并按顺序执行
-
Generate CSRF Poc , 根据选定的消息,自动生成csrf的poc内容
-
-
project options
-
Burp 网络连接设置(Connections)
-
platform authentication 平台身份认证
- 自动执行到目标Web服务器的平台身份验证
-
upstream proxy server
- 设置匹配规则,代理信息
-
socks proxy
- 这些设置允许我们配置Burp使用SOCKS代理的方式进行所有传出的通信,但此设置只在TCP层生效
-
代理流程
- 本地 -> upstream proxy server - > socks server
-
timeout 超时设置
-
-
HTTP应答消息处理设置(HTTP)
-
SSL连接和加密设置(SSL)
-
会话设置(Sessions)
-
添加规则,对指定范围内的请求做出特定处理
-
范围
-
指定 服务器端口
-
指定 选项卡
- proxy , repeater ....
-
-
处理
-
Use Cookies From the Session Handling Cookie Jar
- 通过 cookie.jar 更新指定范围的 请求的 cookie
-
Set a Specific Cookie or Parameter Value
- 设定请求中特定参数的值,如果没有该参数会添加
-
Check Session Is Valid
-
检测当前 session 是否有效
- 也可以通过设置宏动作来检测session 是否有效
-
n个请求做一次检测(n 可设置) , 如果无效,则可选择地执行下一步的动作以获得新的有效会话。动作过程可设置
-
-
Prompt For In-Browser Session Recovery
-
这个配置的动作是针对于会话失效后,从浏览器内部进行会话恢复的 ,
-
前提
- 需要将关键操作通过 proxy 代理来记录在burp里
-
-
-
Run a Macro
-
宏操作是一系列请求的组合动作
-
宏操作的设置位置 : session -> macros
-
-
Run a Post-Request Macro
-
有些时候操作依靠与上一步场景中的某些值, 比如 csrf token
-
通过宏操作来自动填充
-
-
Invoke a Burp Extension
- 调用插件来对会话做出处理
-
-
-
-
显示设置(Display)
-
页面风格
-
Http消息显示主要用来设置其他Burp工具组件中http消息的显示字体、高亮等形式
-
字符集设置是为了设置http消息显示的字符集
-
作用 : 防止乱码
-
默认值 : 系统当前字符集
-
-
-
其它工具设置(Misc)
-
快捷键
-
日志设置
-
临时文件位置
- burp 工作过程中产生的临时文件
-
自动备份设置
- 用于自动保存 burp 当前的工作状态
-
任务队列
- 设置任务的周期性运行
-
性能反馈
-
-
-
-
插件
-
来源
-
bapp 模块
-
github PortSwigger
-
github burp collection
-
...
-
-
chunk分块传输绕过waf chunk-coding-convert
-
knife,可以自动生成很多常用的payload
-
带爆破验证码的登陆reCAPTCHA
-
content-type快速类型转换
-
xray,passsive-scan-client
-
web缓存扫描
-
参数命令注入,可以Bypass disable_function
<pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="" cid="n549" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 0px; margin-top: 0px; width: inherit;">find /tmp -iname 1 -or -exec whoami ; -quit
注意 -exec+cmd+;+ 其中+号存在的地方,必须要有空格,分号要转义一下
如果只使用
find /tmp -iname 1 -exec whoami ; -quit ,那么必须查出来文件才会执行cmd,而加上-or就不需要一定要查出文件
find -exec whoami ; 会有很多返回结果,所有要在分号后面加上“ -quit”这样就只有一条返回了
tar zxvf 1.tar.gz --to-command=whoami 也是必须要存在tar的正常语法不能报错
</pre>
jpython,插件开发
-
jpython
-
前提 Jython.jar ,配置好才可运行
-
-
demo剖析
tip
-
堆大小设置,插件多了之后,启动变慢,设置启动内存(利用破解版,在后面直接加参数)
java -Xbootclasspath/p:F:\tools\burpsuite_pro_v1.7.30_sts\burp-loader-keygen.jar -jar F:\tools\burpsuite_pro_v1.7.30_sts\burpsuite_pro_v1.7.37.jar -Xms4096m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=1024M
-
chrome和firefox上的插件自动代理
chrome-switchsharp
firefox-switchomage
- 我暂时没有解决 firefox 的 https 证书设置问题
-
抓取https需要先导入ca证书
-
打开burp , 并开启浏览器的代理设置
-
访问 http://burp , 点 CA Certificate 从而获得证书
-
从浏览器的设置中导入证书 , chrome 注意 选择 受信任的根证书颁发机构
-
网友评论