并不是有了HTTPS,浏览器显示绿色的小锁就安全了

今天主要讲解如何使用mitmdump配合python来实现抓包,修改请求头和响应内容,目的是希望各位千万别只看网站是不是加了https就安全了,并不是使用了HTTPS,浏览器显示个绿色的小锁就代表网站是安全的,当黑客通过MITM中间人攻击,只要有权限,是可以随意篡改请求和响应头或响应内容的。

增加请求头

def response(flow):
    flow.response.headers["newheader"] = "foo"  

改写请求参数

实现,改写百度的搜索关键词,不管输入任何关键词都替换成网易云

    from mitmproxy import ctx

def request(flow):
    # 忽略非百度搜索地址
    if flow.request.host != "www.baidu.com" or not flow.request.path.startswith("/s"):
        return
    # 确认请求参数中有搜索词
    if "wd" not in flow.request.query.keys():
        return
    # 替换搜索词为“网易云”
    flow.request.query.set_all("wd", ["网易云"])

    flow.request.host  http请求host

效果

图片[1]-并不是有了HTTPS,浏览器显示绿色的小锁就安全了-夏末浅笑

关于流量请求的一些方法

  • flow.request.method请求方法
  • flow.request.scheme请求协议
  • flow.request.url请求URL链接
  • flow.request.query请求URL查询参数
  • flow.request.path请求URL路径
  • flow.request.urlencoded_form请求POST数据
  • flow.response.status_code HTTP响应状态码
  • flow.response.headers HTTP响应头信息
  • flow.response.get_text HTTP响应内容

改写响应信息

def response(flow):
    # 忽略非百度搜索地址
    if flow.request.host != "www.baidu.com":
        return

    # 将响应中百度的 logo“”替换为“谷歌的 logo”
    text = flow.response.get_text()
     text = text.replace("//www.baidu.com/img/bd_logo1.png", "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png")
    flow.response.set_text(text)

效果

图片[2]-并不是有了HTTPS,浏览器显示绿色的小锁就安全了-夏末浅笑

爬取得到APP电子书存入MongoDB(来源python爬虫)

import json
import pymongo
from mitmproxy import ctx

client = pymongo.MongoClient('localhost')
db = client['igetget']
collection = db['books']


def response(flow):
    global collection
    url = 'https://dedao.igetget.com/v3/discover/bookList'
    if flow.request.url.startswith(url):
        text = flow.response.text
        data = json.loads(text)
        books = data.get('c').get('list')
        for book in books:
            data = {
                'title': book.get('operating_title'),
                'cover': book.get('cover'),
                'summary': book.get('other_share_summary'),
                'price': book.get('price')
            }
            ctx.log.info(str(data))
            collection.insert(data)
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
相关推荐
  • 暂无相关文章
  • 评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容