程序猿的进阶屋

mitmproxy 代理设置selenium可以绕过淘宝检测机制

2020-10-30  本文已影响0人  程序里的小仙女

1遇到了获取cookies这个重要的问题,而获取cookies的前提是实现用户登录,登陆的过程就不赘述了,相信大家都遇到了滑块,滚动条等反爬手段,(本人用webdriver破解),可大厂的技术团队还是给了我们一个更难解决的问题,就是通过js给webdriver请求响应错误信息。那我们的思考路线就是如何让这个js文件功能作废,本人使用的方法是通过 mitmproxy 蔽掉识别 webdriver 标识符的 js 文件。
2.首先下载mitproxy,pip安装方法:
安装mitmproy:

  pip install mitmproxy
  1. 打开chrome的开发者工具,找到目标网站是通过哪个js文件控制webdriver相应的, 如:


4.mitmproxy_test.py:

import mitmproxy.http
t0='Object.defineProperties(navigator,{webdriver:{get:() => false}});'
t1='window.navigator.chrome = {runtime: {},// etc.};'
t2='''
Object.defineProperty(navigator, 'languages', {
      get: () => ['en-US', 'en']
    });
'''
t3='''
Object.defineProperty(navigator, 'plugins', {
    get: () => [1, 2, 3, 4, 5,6],
  });
'''
t4='''
           Object.defineProperties(navigator,{
             userAgent:{
               get: () => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36;
             }
           })
'''
class Tb(object):
    def response(slef, flow: mitmproxy.http.HTTPFlow):
        if '114.js' in flow.request.url or 'um.js' in flow.request.url:
            flow.response.text=t3 + t2 + t4 + t0 + flow.response.text
            print('注入成功')
addons=[
    Tb()
]

5.CMD 运行 mitmproxy_test.py

D:\AAA_alifapai\fpf_new\test\mitmproxy>mitmweb -s  mitmproxy_test.py

6.运行截图如下:


浏览器 打开 " http://127.0.0.1:8081/#/flows"

参考:
https://blog.csdn.net/weixin_46089319/article/details/105559094
https://blog.csdn.net/Chen_chong__/article/details/85526088
上一篇 下一篇

猜你喜欢

热点阅读