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. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一1.3 选择创业的行业...

    本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第1章,第1.3节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...

  2. 淘宝卖家开店怎么做有效减少淘宝垃圾流量

    不少商家在店铺刚开的时候或者产品上新没有流量的时候,就选择使用朋友圈.微信公众号进行站外推广,这样做会给商品带来许多流量,但是有很大一部分都是无法形成转化的垃圾流量,那么如何开网店,商家要怎么做才能有 ...

  3. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》导读

    前言 大众创业做电商--淘宝与微店 开店 运营 推广 一册通 中国互联网络信息中心第36次<中国互联网络发展状况统计报告>显示,截至2015年6月,我国网民规模达6.68亿人.近几年,我国 ...

  4. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.3 B2C电子商务模式...

    本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.3节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...

  5. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.1 电子商务的发展历史...

    本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.1节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...

  6. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一1.1 电商创业者需要具备的素质...

    本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第1章,第1.1节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...

  7. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.7 电子商务运营的关键点...

    本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.7节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...

  8. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.6 常见电商平台...

    本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.6节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...

  9. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.4 C2C电子商务模式...

    本节书摘来自异步社区出版社<大众创业做电商--淘宝与微店 开店 运营 推广 一册通>一书中的第2章,第2.4节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区" ...

最新文章

  1. SpringBoot资料整理(3)
  2. struts基本原理图
  3. CSS3无前缀脚本prefixfree.js及Animatable介绍
  4. windchill开发之创建对象
  5. 1秒识别200个假大牌 成本降50%  清华阿里邀全国人才用20张图锻造“打假AI”
  6. ASP.NET中的随机密码生成
  7. nyist 2 括号配对问题
  8. 凸优化第四章凸优化问题 4.2 凸优化
  9. php fseek函数,php fseek函数怎么用 - fseek
  10. ps 蒙版抠图更换背景色或背景图片
  11. App Inventor自定义插件Extension
  12. 2008年最吸引眼球的10只股票
  13. Gist in GitHub
  14. ubuntu系统怎么看电脑配置
  15. 用python做网站优点_php和django做网站哪个好
  16. 柯基数据携手亚马逊云科技打造一站式知识图谱平台案例
  17. Symantec Backup Exec恢复数据库
  18. 开源免费,捷微H5活动平台(微砍价、九宫格、斧头帮、摇一摇送卡券) h5huodong.com...
  19. 电子科大 数据结构专题
  20. 邱锡鹏《神经网络与深度学习》 绪论

热门文章

  1. 当下的零售新进化,同以往的电商时代还是有着很多区别的
  2. charCodeAt()
  3. 焱老师带你学习MYSQL系列 第二篇 (MYSQL 数据结构)
  4. 计算机主板ttl串口,TTL基础知识介绍,串口TTL与电脑RS232接口区别,主板高清图...
  5. 牛客小白月赛24C 十面埋伏(bfs+模拟)
  6. LeetCode:912. 排序数组
  7. 【知识点】不同LED颜色导通电压
  8. 傅里叶变换的意义和理解(通俗易懂)——转载
  9. 比 json 快 10 倍的的msgpack
  10. 传统行业WXID爆粉微信营销需要注意的9个陷阱(上篇)