如何利用python2.7实现网页的抓包拦包改包功能?有没有范例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用python2.7实现网页的抓包拦包改包功能?有没有范例相关的知识,希望对你有一定的参考价值。

登陆其实就是将账号密码之类的POST到那个网站的服务器。你可以通过抓包看到你点击登陆时发的POST包。那么你用python也模拟发一个一样的包给服务器,就实现了模拟登陆呗。 参考技术A 可用用fiddler的思路来实现这个功能,就是实现一个代理服务器,这样就可以将经过的数据包进行拦截修改。代理服务器的实现网上例子很多。

Fiddler改包的三种方式

  fiddler作为一个抓包道理工具,接收从客户端/H5发出的请求,再发给服务器,接收从服务器得到的响应,再发给客户端/H5,过程如下图

技术图片

 

  在工作中,我们经常会碰到这样的问题:客户端限制输入100个字,超过100个就不让输入,但是后台有没有限制这个字段的字数呢?当然我们也可以利用jmeter/postman来模拟请求,但是比较复杂,用fiddler抓包后直接改包,就可以,十分便捷。

 改包的三种方式
1.全局断点,Rules->Automatic Breakpoints->Before requests/After responses 可以打开全局断点,点击Disable可以关闭断点

技术图片

 

 比如点击Before requests,然后页面打开www.baidu.com

技术图片

fiddler的每个请求都处于等待状态,同时底部的工具栏也亮了

技术图片

 

查看该请求的Raw选项卡,修改请求,比如说添加参数a=1

技术图片

 

 

 修改完后可以点击两个按钮 

Break on Response ,相当于在服务器返回后继续拦截,此时可以继续改Raw下的内容,然后点击 Run to completion,把内容返回给客户端,该请求结束

 技术图片技术图片

 

 

 Run to completion:不拦截服务器返回,直接返回给客户端,该请求结束

 

2.bpu单个断点 

在命令区输入 bpu  www.baidu.com  ,其实只要输入请求的子字符串,匹配该字符串的请求就会被拦截,不支持正则表达式,因此这样写也可以 bpu baidu

技术图片

 

现在再访问 www.baidu.com,也是一样的fiddler等待,底部高亮

 

技术图片

 技术图片

之后的操作就和上面的一样了

关闭拦截:上面选择Disable就可以了,这里关闭在命令行输入bpu就可以取消拦截

 

3.AutoResponder

这是fiddler的一个选项卡,可以提前设置响应的内容,不需要再请求过程中去修改

技术图片

 

 

Enable Rule:打开该规则

Unmatched request passthrough:不匹配规则的请求就放行,不理他

请求一个百度首页,然后把它拖到这个选项卡中

 

技术图片

 

设置匹配规则,其中常用的有如下几种:

1.匹配链接,我们拖进去会显示为EXACT:xxx,我们可以改为要匹配的链接的子字符串,如baidu,当有链接包含baidu就会自动返回设定的值

2.URLWithBody  这里要匹配两个url和body,所以一般都是用例匹配POST请求,比如 URLWithBody:baidu name,当遇到url中包含baidu,且body中有name的,就会自动返回设定的值

3.Header:Accept=html  当请求的Header中包含Accept=html,就会自动返回设定的值

技术图片

 

 返回值设置:可以把响应的值设置为404,503等,但是常用的是选择一个本地文件

技术图片

 

 

打开百度首页,在请求中,我们会发现其中的logo图片请求

 

技术图片

 

 把这个请求拖到AutoResponsder,在选择一个本地图片find a file,把上面的enable和unmatched都勾选上,点击save

技术图片

 

 此时ctrl+F5刷新百度,注意不能用缓存,然后就变成这样

技术图片

 

如果是要在已存在的返回中修改呢?首先必须获得一个返回,在raw中修改,保存,再把这个作为自动返回。

打开百度首页,抓包,修改raw

技术图片

 

 改成闪电1111

技术图片

 

 将该请求保存save->response->entire response,保存名为entire

 

 按照上面的步骤,把这个请求拖到AutoResponder,选择find a file,选择刚才的entire,

技术图片

 

再次ctrl+F5刷新页面。变成了闪电估分1111

 

技术图片

 

 

  总结:Before requests/After responses会对所有的请求都阻断,bpu可以对指定的某一些阻断,然后再自己去改,AutoResponder可以提前设置返回的值

 

打字太累了,如果觉得有帮助,不妨请作者喝杯可乐吧!

技术图片技术图片

 

以上是关于如何利用python2.7实现网页的抓包拦包改包功能?有没有范例的主要内容,如果未能解决你的问题,请参考以下文章

汉化版fiddler怎么抓包改包

burp抓包显示pd5

web-iPhone X

burpsuite 怎么抓软件包

苹果手机app怎么burpsuirt抓包怎么设置

安全测试工具