记录下mitmproxy做代理,实现淘宝登陆
2019年1月1日我要上班很慌啊。。这天气应该躺在被窝里美滋滋的睡觉。今天上班不知道干啥,闲来无事,记录下之前使用mitmproxy实现淘宝登陆。不多说,分割线------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一 mitmproxy安装
mitmproxy:就是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。
安装方式: linux,mac,windows都一样,pip install mitmrpoxy
参考教程:https://blog.wolfogre.com/posts/usage-of-mitmproxy/
各位最好按照参考教程过一遍熟悉每个func的定义,基本都能跑通。最后那一步addons是关键,需要给你定义的class运行放进去。
mitmproxy设置:mitmdefine.py:
import mitmproxy.httpt0 ='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.textprint('注入成功')
addons = [Tb()
]
注释:t0是对webdriver navigator的伪装,为false。t2,t3,t4是针对headless进行的伪装,简而言之就是无头跟有头之间的三个明显化差异,想想就知道了,一个是请求头,一个浏览器的设置语言,一个是浏览器插件。
启动命令: 命令段运行
mitmdumps -s mitmfile.py or mitmweb -s mitmfile.py '''mtimfile 你的mitm文件名称'''
启动结果:
二 登陆
只要启动了mitmrpxy伪装,一切selenium都可以实现登陆(原则上是,有一段时间哪怕是有界面的都不行,怀疑是有了新的js检测)
def __init_browser(self):options = Options()# service_args = ['--proxy=127.0.0.1:8080','--proxy-type=http','--ignore-ssl-errors=true']# DesiredCapabilities.PHANTOMJS[# 'phantomjs.page.settings.userAgent'] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0"# options.add_argument("--headless")# options.add_argument('--disable-gpu')options.add_argument('--proxy-server=http://127.0.0.1:8080')# options.add_argument(# 'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36')self.browser = webdriver.Chrome(options=options)# self.browser = webdriver.PhantomJS(service_args=service_args)return self.browserdef __login(self):self.browser.get(TB_LOGIN_URL)# self.browser.get('http://www.mamicode.com/info-detail-2423225.html')page = self.browser.page_sourceself.browser.get_screenshot_as_file('2222.png')WebDriverWait(self.browser, 20).until(EC.presence_of_element_located((By.ID, 'TPL_username_1')))self.browser.find_element_by_xpath('//input[@id="TPL_username_1"]').send_keys(un)self.browser.get_screenshot_as_file('4444.png')time.sleep(0.5)self.browser.find_element_by_xpath('//input[@id="TPL_password_1"]').send_keys(pwd)time.sleep(0.5)self.browser.get_screenshot_as_file('3333.png')time.sleep(10)self.__f5__slider()if self.__lock_exist():print('存在滑块解锁')time.sleep(1.5)self.__unlock()self.browser.find_element_by_xpath('//button[@id="J_SubmitStatic"]').click()
这里只贴了两段代码。一段是初始化浏览器的,注释掉的代码包括chromeheadlss的运行以及phantomjs的运行,本文只涉及有头模式下启动,另外一段时login滑块的判断。
三 命令端查看
四 推荐其它几个网站地址
1. selenium的webdirver检测,包括chrome内核特征值的修改
https://stackoverflow.com/questions/33225947/can-a-website-detect-when-you-are-using-selenium-with-chromedriver
2. 针对tm的研究
https://www.kebook.cn/9060/
记录下mitmproxy做代理,实现淘宝登陆相关推荐
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一1.3 选择创业的行业...
本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第1章,第1.3节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...
- 淘宝卖家开店怎么做有效减少淘宝垃圾流量
不少商家在店铺刚开的时候或者产品上新没有流量的时候,就选择使用朋友圈.微信公众号进行站外推广,这样做会给商品带来许多流量,但是有很大一部分都是无法形成转化的垃圾流量,那么如何开网店,商家要怎么做才能有 ...
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》导读
前言 大众创业做电商--淘宝与微店 开店 运营 推广 一册通 中国互联网络信息中心第36次<中国互联网络发展状况统计报告>显示,截至2015年6月,我国网民规模达6.68亿人.近几年,我国 ...
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.3 B2C电子商务模式...
本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.3节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.1 电子商务的发展历史...
本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.1节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一1.1 电商创业者需要具备的素质...
本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第1章,第1.1节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.7 电子商务运营的关键点...
本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.7节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.6 常见电商平台...
本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.6节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.4 C2C电子商务模式...
本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.4节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...
最新文章
- SpringBoot资料整理(3)
- struts基本原理图
- CSS3无前缀脚本prefixfree.js及Animatable介绍
- windchill开发之创建对象
- 1秒识别200个假大牌 成本降50% 清华阿里邀全国人才用20张图锻造“打假AI”
- ASP.NET中的随机密码生成
- nyist 2 括号配对问题
- 凸优化第四章凸优化问题 4.2 凸优化
- php fseek函数,php fseek函数怎么用 - fseek
- ps 蒙版抠图更换背景色或背景图片
- App Inventor自定义插件Extension
- 2008年最吸引眼球的10只股票
- Gist in GitHub
- ubuntu系统怎么看电脑配置
- 用python做网站优点_php和django做网站哪个好
- 柯基数据携手亚马逊云科技打造一站式知识图谱平台案例
- Symantec Backup Exec恢复数据库
- 开源免费,捷微H5活动平台(微砍价、九宫格、斧头帮、摇一摇送卡券) h5huodong.com...
- 电子科大 数据结构专题
- 邱锡鹏《神经网络与深度学习》 绪论
热门文章
- 当下的零售新进化,同以往的电商时代还是有着很多区别的
- charCodeAt()
- 焱老师带你学习MYSQL系列 第二篇 (MYSQL 数据结构)
- 计算机主板ttl串口,TTL基础知识介绍,串口TTL与电脑RS232接口区别,主板高清图...
- 牛客小白月赛24C	十面埋伏(bfs+模拟)
- LeetCode:912. 排序数组
- 【知识点】不同LED颜色导通电压
- 傅里叶变换的意义和理解(通俗易懂)——转载
- 比 json 快 10 倍的的msgpack
- 传统行业WXID爆粉微信营销需要注意的9个陷阱(上篇)