something about burpsuite
BurpSuite
BurpSuite 介绍
- Burp suite 维基百科
- Burp suite 官网
- Burpsuite 是由JAVA语言编写
- Burpsuite 在测试时需要手动配置某些参数以触发对应的行为来完成测试
工作原理
自己理解的 BurpSuite 工作原理:
正确设置 BurpSuite 截断后,浏览器发送请求;请求被 BurpSuite 拦截,此时可以分析 拦截下的 http 请求,分析注入点。当 BurpSuite 放行请求后,请求被发送给目标服务器。 服务器返回对应的响应至 BurpSuite , BurpSuite 将对应响应交还至浏览器。
BurpSuite 可以:
- 重复发送拦截下的请求
- 可以更改请求内容后,发送请求
基于此,可以对关心的内容设置注入点,使用合适字典,从而达到暴力破解的目的。
BurpSuite 模块
- Proxy 模块
- Intercept
- Intercept is on/off 用于设置截断HTTP请求 开/关
- Forward 放行HTTP请求
- Drop 丢弃此次拦截的请求
- Action 将截断的请求发送到其它模块
Spider 模块Engagement tools-Discover content 爬虫模块(Pro Only)
- HTTP history 提交过的请求历史记录(支持Filter)
- Options 配置选项
- Proxy Listeners 代理监听设置
- 设置监听端口
- Intercept Client Requests 截断客户端请求
- 设置截断规则,优先级由上至下
- Intercept Server Responses 截断服务器响应
- 筛选符合条件的HTTP响应,优先级由上至下
- Intercept WebSockets Messages 截断WebSocket通信
- Response Modification 服务端响应修改
- Unhide hidden form fields 将隐藏的表单元素显示化
- Enable disabled form fields 将disabled表单元素enable化
- Remove input field length limits 移除输入框长度限制
- Remove JavaScript form validation 移除JS表单验证
- Remove all JavaScript 绕过文件上传中的JS验证
- 搭配 Repeater 模块使用
- Convert HTTPS links to HTTP 将HTTPS链接转换为HTTP
- Match and Replace 匹配与替换HTTP消息内容
- 配置替换HTTP请求头等,用以伪装客户端等
- TLS Pass Through 配置TLS(SSL)等直连
- Miscellaneous 其它配置
- Use HTTP/1.0 in requests to server 配置使用HTTP/1.0协议给服务器发送请求
- Set response header “Connection: close” 配置响应头 “Connection: close”
- Suppress Burp error messages in browser 设置不再将Burp的错误消息发送至浏览器
- Proxy Listeners 代理监听设置
- Intercept
- Target 模块
- Scope 作用域
- 可以对拦截设置更细的粒度
- 可以设置拦截白名单
- 可以设置拦截指定文件
- Site map 站点地图
- 左侧为访问的URL
- 右击Menu
- Engagement tools-Analyze Target 分析站点(Pro Only)
Spider 模块Engagement tools-Discover content 爬虫模块(Pro Only)- Compare site map 站点地图比较,比较登录与不登录响应是否不同
- 右侧为URL详细
- 支持Filter
- Scope 作用域
- Intruder 模块
- 标识符枚举 (注入点字典枚举)
- Attack type:
- Sniper 狙击枪模式,精准模式,只针对一个位置进行测试
- Battering ram 攻城锤模式,针对多个位置使用同一个Payload
- Pitchfork 单叉模式,针对多个位置使用不同Payload
- Cluster bomb 激素炮模式,针对多个位置,全部组合
- Attack type:
- 提取有用数据
- 模糊测试
- Options
- Grep - Extract 从Response中获取内容,如不断变化的Token
- Redirections 配置重定向
- 标识符枚举 (注入点字典枚举)
Repeater 模块
用于多次重放请求和手工修改请求消息后对服务器端响应进行分析的模块。
Sequencer 模块
用于检测数据样本随机性质量的工具,通常用于检测访问令牌是否可预测,密码重置 是否可预测等场景。
Decoder 模块
用于对字符串进行加密操作。
Comparer 模块
用于对两个不同的HTTP请求进行比较。
BurpSuite 配置
- 设置代理
- 使用 SwitchyOmega 设置模式,针对测试主机使用burpsuite代理,其他主机(CDN等)正常访问
- 设置CA证书
- 使用系统管理员权限打开浏览器
- 访问 http://burp/ (burpsuite代理)
- 在页面下载CA证书
- 将下载的CA证书导入浏览器
BurpSuite 截断WebApp
- 设置 BurpSuite 主机和测试移动设备在同一网段下
- 设置移动设备代理,代理服务器为 BurpSuite 主机
BurpSuite 目录扫描
利用BurpSuite的Intruder模块进行不断枚举,然后对HTTP状态码进行筛选。
即以GET方式枚举URL路径。
BurpSuite 高级使用
针对
brute force(#High)token
检测测试
something about burpsuite