继续创作,加速生长!这是我参与「日新计划 6 月更文应战」的第13天,点击检查活动概况

咱们好~我是米洛
我正在从0到1打造一个开源的接口测验平台, 也在编写一套与之对应的教程,希望咱们多多支持。
欢迎关注我的公众号米洛的测开日记,获取最新文章教程!

回顾

上一节咱们介绍了mitmproxy,这节咱们就来轻松愉快地完成一个篡改HTTP回来的功用。

装置证书

正好我的电脑重装了系统,所以证书嘛的,我也得重新装置一遍,顺便记录下整个过程。

首先咱们敞开mitmproxy.exe,接着翻开浏览器: 输入mitm.it

测试平台系列(131) 用例生成之配置mitmproxy

他提示咱们没有通过署理拜访这个网站,所以咱们需要配置下自己的署理服务器(Mac的用户还请自己百度一下,现在我的机器是Windows)

按住Windows键,查找署理

测试平台系列(131) 用例生成之配置mitmproxy

进入署理设置页面,输入127.0.0.1+8080端口,接着保存即可。

测试平台系列(131) 用例生成之配置mitmproxy

再次拜访mitm.it页面:

测试平台系列(131) 用例生成之配置mitmproxy

页面发生了改变,咱们直接下载Windows下的证书,下载完成后翻开,一直点下一步即可。

测试平台系列(131) 用例生成之配置mitmproxy

测试平台系列(131) 用例生成之配置mitmproxy

最终点击确定即可。

其实装置证书主要是为了让https接口能够正常运转,不然咱们录制到https接口的时分会提示咱们经过了署理,从而被拦截

翻开网站测验一下

测试平台系列(131) 用例生成之配置mitmproxy

咱们翻开,能够看到有很多个录制到的接口,而且页面基本上也是无感知的,不会报啥安全问题

(咱们能够多开几个网站试试看,看会不会有什么问题)

篡改百度首页

咱们今日的使命是写一个简略的mock脚本,让咱们感受一下mitmproxy的强壮。

当用户拜访https://www.baidu.com的时分,给他回来百度一下,你就知道

话不多说,开造。

  • 编写一个最基础的脚本

    咱们需要先编写一个baidu.py,接着写入以下内容:

from mitmproxy import http
class Baidu(object):
    def request(self, flow):
        if flow.request.pretty_url.startswith("https://www.baidu.com"):
            flow.response = http.Response.make(
                200,  # (optional) status code
                "百度一下,你就知道",  # (optional) content
                {"Content-Type": "application/json"}  # (optional) headers
            )
addons = [
    Baidu()
]

这里咱们界说了一个百度类,接着在每次request恳求进来的时分,咱们判断他的url是不是baidu.com,是的话,咱们就给他设置一下response,其中HTTP状况码为200,回来内容为百度一下,你就知道

接着咱们把这个类加入addons数组,并在mitmproxy.exe启动的时分挂载之。

  • 挂载addons

    执行一下指令(需要把mitmpdump.exe放入环境变量, 也能够pip大局装置mitmproxy)

mitmdump -s baidu.py

接着咱们挂上8080的署理,开端拜访百度,这时分就应该展示gif图了!

测试平台系列(131) 用例生成之配置mitmproxy

这样咱们就完成了一个简略的篡改恳求,虽然这不是用例录制相关的内容,但我还是想展示一下mitmproxy的强壮。


今日的内容就讲到这里,下一节咱们继续介绍用例生成相关内容。