从Proxy模块开始是因为这个模块可以说是burpsuite的核心,多数的功能都是基于在这个模块的基础上去使用的
使用前的两个准备
打开Burpsuite
配置好浏览器代理,并且安装好了CA证书
关于CA证书,如果安装好了之后,并且代理也确定都配置好了,但是还是抓不了HTTPS的包,检测证书导入的位置是否正确
Firefox
chrome
如果不在这里面的话就说明导错了位置,重新指定位置导入即可
准备好了就让我们先来看看Burpsuite2021的Proxy界面,简单了解一下菜单栏中一些按键的功能
- Intercept(拦截功能),这个是Proxy模块也是Burpsuite的核心功能,我们抓取数据包对数据包进行增删改等操作都是在这里面进行
- HTTP history/WebSocket history(历史记录),这两个功能会记录通过Burpsuite代理发起的HTTP/WebSocket请求以及对应响应的内容
- Options(Proxy配置),在这里面可以对Proxy模块的功能进行一些配置
下面会对它们进行逐一介绍
首先呢我们可以点击Intercept is off
,然后它就会变成Intercept is on
,这样Burpsuite就会开始拦截我们通过浏览器发起的请求,如果想关闭拦截功能再点一下Intercept is on
即可
如图所示,打开拦截功能后我们直接用浏览器访问自己需要拦截请求的URL
注:
- 如果暂时不知道要抓哪个页面的请求我们可以先关闭拦截,等找到自己想要抓取的页面在打开拦截,然后刷新一下页面即可
- 有时候Burpsuite会拦截很多不是我们想要的请求包,我们也可以重启开启一下拦截,然后马上刷新页面这样就可以抓到自己想要的包了,当然这个问题有更好的解决办法,后面会说
下面就是我拦截到的请求内容,这时候前面还是灰色的三个按键已经亮了起来,表示可以对这个数据包进行操作了,我先解释这几个按键的含义
然后是数据区域中的标签含义
Raw,这个是数据的主要视图格式,它里面包含了HTTP请求的方法,地址,协议版本,请求头,等信息,如果是POST请求的话,在请求头的下面应该还会有请求的实体内容
Hex,这个是数据的二进制内容,它是以16进制的形式进行显示的,我们可以通过Hex编辑器直接对内容进行修改
\n这个的作用是显示当前请求数据中的换行符,效果很显而易见,要在Rwa视图中使用
\n旁边那三条横杆以及Action还有鼠标在数据区右击所弹出来的菜单栏,这几个东西都是一样的,后面一起说
在数据区的右侧还有这样一个东西,在这里面我们可以更直观的看到数据区中的一些内容,以及更方便的对他们进行修改,不会因为选取修改内容的失误而导致修改了我们不想修改的数据
Action中的内容
东西有点多,可能不会对它每一行都进行详细介绍
联动扫描模块,把当前请求的目标放到扫描模块,进行扫描,这个扫描模块后面会说
将当前数据发送到其他模块,都是一些对应的模块名,这里就不细说了
Engagement tools,用一些工具对当前请求进行处理
Find references,在历史记录中找到有对当前请求地址进行引用的记录(其实也就是带有当前地址的请求记录)
Discover content,对请求的地址发起目录以及文件的扫描,这个挺有意思可以了解一下
进来的时候应该是默认在Control的,不过呢这里先说Config页面
下面看下另外两个菜单栏的作用
site map中就可以看到它所收集到的文件和目录
Schedule task,设置一个定时任务,它应该是和扫描模块联动的,不过这里我也没仔细研究
Generate CSRF Poc,根据当前请求模块自动生成CSRF漏洞的利用脚本
Change request method,改变请求的HTTP方法
Change body encoding,改变请求内容的格式,它可以把正常的表单内容改成分块上传,以及GET请求
下面几个忽略
Don’t intercept request,这里可以通过当前请求的一些值来设置不拦截对应的内容
Do intercept,拦截一些指定的东西,这里面就一个选项,就是拦截这个请求的响应包
URL-encode as you type,对你在这里面输入的一些特殊字符自动进行url编码
下面呢是对于一些小细节的介绍
target的设置,点击箭头所指的地方就会弹出这个框,这里显示的是请求所要发送的地址以及端口,如果勾中Use HTTPS
那么端口号会自动转为443
、
comment的设置,框框中是可以填写对这个数据包的备注,然后那个扇子一样的东西是可以设置这个请求在历史记录中的颜色,这样我们可以在历史记录中更方便的找到这个请求
例如我在这里写上这是我抓到的第一个数据包
,然后把颜色设置为红色
在历史记录中犹如鹤立鸡群,一下就能找到它
search,这个搜索框可以用来搜索请求中是否有我们需要的内容,旁边的齿轮是对它的设置,前两个好选项好理解,不过第三个我也没懂它什么意思,也试不出来
这里呢只说HTPP history,另外一个和它差不多,HTTP history里面呢也只说它的过滤器,其他的都比较简单,能看懂
通过点击箭头所指的位置,它就会弹出Filter settings这个设置框,通过它我们可以对历史记录中的记录进行过滤,以便我们更好的查看
这里面呢总共有七个框,我们对他们的功能逐一进行介绍
Filter by request type(按请求的类型进行筛选)
Show only in-scope items(仅显示作用域内的记录),这个作用域是结合Burpsuite中的target模块来使用的
我进入Target的作用域设置中添加作用域
192.168.1.2
,然后勾上这个选项,历史记录中就只会出现192.168.1.2
这个地址的记录了Hide items without responses(隐藏没有响应的记录)
- Show only parameterized requests(显示有参数的请求),GET或者POST传参的都会显示
Filter by MIME type(根据MIME这个类型来进行过滤),MIME类型是Content-Type这个请求头的值,并且这里面是勾上的才会显示
Filter by status code(根据请求状态码来过滤),勾上的才会被显示
Filter by search term(根据搜索的内容来进行过滤),只会显示数据中存储指定搜索内容的记录
- Regex 启用正则
- Case sensitive 区分大小写
- Negative search 反向搜索(没有指定字符的返回会被匹配)
Filter by file extension(根据文件后缀名来过滤)
Filter by annotation(根据注释来过滤)
- Show only commented items,只显示有备注的记录
- Show only highlighted items,只显示设置了高亮的记录
Filter by listener(根据端口来过滤),从字面上我是这样理解的,但是尝试设置80或者443端口它都有显示任何内容,有点不理解了
Options中主要分为8个区域,下面会逐一介绍
这个模块主要是Proxy代理的地址进行设置,默认是127.0.0.1:8080
,在这里注意一点,正在监听的端口在Running中有一个小勾,有时候你发现Burpsuite设置好了代理也抓不到包,可以来这里看看,如果没有勾可能是端口被占用了,这时候要关闭占用端口的程序要么改端口
Add是添加监听地址
Edit是修改选中的监听地址
Add和Edit点击之后都是弹出同一个窗口界面, 所以就统一说了
- Loopback only 设置这个地址,那么Burpsuite的代理只有本地可以访问到
- All interfaces 设置这个的话,用户当前所处的环境中的设备都可以设置这个机器为代理,例如我们的手机和电脑在一个网络下,就可以设置wifi的代理为电脑的IP地址以及Burpsuite的代理端口,这样就可以拦截到手机上的HTTP/S请求包
- Specific address,这个就是选择主机指定的一个网卡地址进行监听了,对应网络地址下的设备也可以设置这个主机为代理
TLS Protocols是设置关于TLS协议的
HTTP这里面就一个选项,勾上就使用HTTP/2协议
Remove是删除选中的监听地址
最下面两个按键是搞CA证书的,这里就不说了
对请求的拦截进行配置,我们主要来看它的Add窗口
Add用于添加拦截规则,Edit其实也一样,只不过修改已有的规则而已
- Boolean operator,设置拦截规则的逻辑,And或者Or
- Match type,设置根据什么来拦截
- Domain name,根据域名拦截,可以指定只拦截这个域名的数据包,还是只不拦截这个域名的数据包,这个就是Burpsuite会抓到我们不想要的网站数据包时候的解决方案
- IP address,根据IP地址拦截,它的值可以是一个IP段
- Protocol,根据协议来拦截,只有HTTP和HTTPS可以选
- HTTP method,根据HTTP请求方法来拦截
- URL,根据URL来拦截
- File extension,根据文件拓展名来拦截
- Reuqest,根据请求的参数名来拦截
- Cookie name/Cookie value,根据Cookie的key或者值来拦截
- Any header,根据请求头来拦截
- Body,根据请求实体内容进行拦截
- Param name/Param value,根据参数名或者值来拦截
- Listener port,根据请求的端口进行拦截
- Match relationship,根据匹配类型的不同,内容可能也不同,不过也就是指定匹配/不匹配或者指定匹配什么
- Match condition,匹配的详细内容
这个和Intercept Client Requests没差很多,所以请参考上面
这个设置是否拦截WebSockets的消息,就两个设置,拦截客户端到服务器,拦截服务器到客户端
我在这里做个测试,下面的正常的抓包内容,参数名是useranme
我设置一个规则,将请求参数useranme改成name,保存后,再次抓包
username就被替换成了name
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-劲夫 | 30.00 | 0 | 2021-12-28 14:02:58 | 活动奖励 |
Track-劲夫 | 60.00 | 0 | 2021-12-28 14:02:50 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
2596377137
发表于 2022-9-13
666666666
评论列表
加载数据中...