中间人修改线上js代码 学习资源 Web逆向 原创

xiang 1月前 806


爬虫逆向页面js代码时已经定位到了生成代码,但有一些内容看不懂他的逻辑是什么就萌生了修改页面js代码的想法,但他的js每次刷新页面都会重新加载所以不能本地修改

所需工具:

mitmproxy、chrome、python3

mitmproxy:

python的中间人发工具,官方文档,看不懂的看这个:使用 mitmproxy + python 做拦截代理

安装配置mitmproxy:

mac:

brew install mitmproxy

linux/windows:

下载安装 mitmproxy.org

pip安装

pip3 install mitmproxy

安装证书:

命令行运行mitmdump -p 8888 电脑配置代理指向mitmdump端口,默认8888,访问mitm.it下载对应客户端的证书

页面js代码:

for循环,每次都对变量o进行了赋值,现在我需要输出每次赋值后的o并输出结束循环的条件

需要改成:

main = function (e, t, r) {
    for (var i = 0, a = Math.pow(2, 32 - t); ;) {
        var o = i.toString(16) + ":" + e;
        i++;
        var s = n_hash(o);
        var temp = parseInt(s.substr(0, 8), 16) // 单独加的        console.log(o, s, a, temp);  // 另加的        if (parseInt(s.substr(0, 8), 16) < a)
            return void r(o)
    }}
以上的代码格式化后的,实际响应是:

根据实际代码格式进行修改

mitmproxy代码:


命令行执行 mitmdump -p 8080 -q -s .\update_js.py

配置代理

点保存生效

按两次f12重现加载内容,ctrl + F5强制重新加载全部内容,重新查看js

我们想修改的内容已经加上去了,看看执行效果

我们想要的内容都打印出来了,剩下的就是将所有相关函数全部提取出来,放在pycharm中执行传入相同参数查看结果是否相同

pycharm执行js代码的方法看我文章
最新回复 (18)
  • fly 1月前
    0 19
    666
  • lol_olo 1月前
    0 18
    666
  • lhxsimon 1月前
    0 17
    学习一下
  • 789十 1月前
    0 16
    666
  • jaynat 1月前
    0 15
    6666
  • george 1月前
    0 14
    666
    -------------------------------------
    作者: xiang
    来源: 夜幕爬虫安全论坛
    原文链接: https://bbs.nightteam.cn/thread-709.htm
    版权声明: 若无额外声明,本帖为作者原创帖,转载请附上帖子链接!
  • 0 13
    谢谢谢
  • 0 12
    看看
  • 0 11
    666666666
  • 0 10
    666
  • frank 1月前
    0 9
    666
  • zjw 1月前
    0 8
    6
  • franky 1月前
    0 7
    666
  • yagamil 1月前
    0 6
    let me check
  • luohua 1月前
    0 5
    o
  • 001 1月前
    0 4
    只有我刷不出来图片吗
  • shimy 1月前
    0 3
    1
  • Masol7 1月前
    0 2
    6
返回