吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6413|回复: 30
收起左侧

[Web逆向] 通过fiddler脚本逆序排列文件列表

  [复制链接]
生有涯知无涯 发表于 2020-2-15 17:35
本帖最后由 生有涯知无涯 于 2020-2-15 18:19 编辑

1581748537(1).jpg
由于工作原因,需要把上图所示的待办文件按接收时间逆序排列(即把最早收到的文件排到第一个,现在的情况是最新收到的文件排在第一个),尝试点击“接收时间”排序后发现只有一种方式,并不能满足需求,所以问了工程师能不能增加一种排序方式,然而我已经预测到了会回答不能(我跟工程师提过几次需求,没一次能解决,全是自己搞定的,无语。。。,因为OA是人家公司做的,签维保合同时只能和做系统的公司签,所以人家不做也没办法)
2.png
先F12调试一下看看什么情况
3.png
大致翻一下,可以发现gettodolist这个可疑项,从字面看是“获取待办列表”的意思,点开看看响应数据:
4.jpg
果然是。把JSON数据格式化一下:
5.png
结构一目了然。total是待办文件的总数,content是一个文件信息的列表,ROW_NUM应该是该文件所在的行数,所以,现在的思路如下;
10.jpg
1.拦截访问http://172.16.61.237/spring/officeList/getTodoList时服务器返回的JSON数据
2.把数据中的content里的内容逆序排列,然后把每个文件信息的ROW_NUM从1赋值到total
开始之前,需要考虑一个问题:ROW_NUM是否决定了文件所在行呢?用fiddler拦截一下手工修改数据就知道了,答案是肯定的,我已经试过了。
下面开始编写程序。
fiddler脚本可以用两种语言编写,这两种我都没学过,所以就先查了下哪种语言参考资料较多就选用哪种,我选的是C#,由于本人python用的比较多,所以处理数据的部分用python实现。
7.jpg
要拦截响应数据,所以Go to那里选择第二项,会跳转到相应代码处
1581761914(1).jpg

然后在OnBeforeResponse函数内添加如下代码:
[C#] 纯文本查看 复制代码
if(oSession.fullUrl.Contains("getTodoList")){//判断URL中是否含getTodoList
    //FiddlerObject.alert(oSession.fullUrl);
    var responseStr = oSession.GetResponseBodyAsString();//获取响应数据
    //FiddlerObject.alert(responseStr);
    
    System.IO.File.WriteAllText(@"C:\filedata.json", responseStr);//把响应数据写入文件
    Process.Start("C:\\reverselist.vbs");//调用python程序处理数据
    Thread.Sleep(1000);
    var alterJsonStr = System.IO.File.ReadAllText(@"C:\filedata.json");
    
    oSession.utilSetResponseBody(alterJsonStr); //把修改后的数据写回,实现篡改

}

9.jpg


reverselist.vbs:
[Visual Basic] 纯文本查看 复制代码
set ws = createobject("wscript.shell")
ws.Run "D:\software\py\python.exe C:\reverselist.py",0

reverselist.py:
[Asm] 纯文本查看 复制代码
# -*- coding: UTF-8 -*-
import json

with open('C:\\filedata.json', 'r',encoding='UTF-8') as f:
    data = json.load(f)

contentlist = data["content"]
contentlist.reverse()

num = 1;
for fileObject in contentlist:
    fileObject["ROW_NUM"] = num
    num = num + 1

data["content"] = contentlist

with open('C:\\filedata.json', 'w') as f:
    json.dump(data, f)



测试一下,成功:
11.jpg


免费评分

参与人数 7威望 +1 吾爱币 +12 热心值 +7 收起 理由
雨落惊鸿, + 1 + 1 我很赞同!
Hmily + 1 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Lopht + 1 + 1 深入浅出,有用,感谢,已收藏。
By阿清 + 1 + 1 我很赞同
zhenchenawn + 1 + 1 我很赞同!
七个涨停一倍 + 1 我很赞同!
Jackjoily + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

dayer 发表于 2020-2-15 19:54
还有你们单位的维保真叼。。。我也搞维保。我们给一个单位的网络部门维保。擦各种系统屁股,不是我们写的我们也帮忙。。。中控考勤机的oa系统有一个功能后台特殊字符没有过滤,导致系统崩溃。也是我们一点点排查到原因,然后去改前端JS,加强验证功能(没办法后台代码木有)。。。类似情况很多。总之,客户给出问题,我们基本上都说没问题!
 楼主| 生有涯知无涯 发表于 2020-2-15 20:28
pk8900 发表于 2020-2-15 20:08
浏览器的话,好像写个油猴脚本更实用。

每次要开fiddler确实有点烦。我还没写过油猴脚本,改天研究一下
Jackjoily 发表于 2020-2-15 17:44
我觉得挺好的,挺不错的!对于Fiddler有开阔眼界了!
carson512 发表于 2020-2-15 17:50
Fiddler也算是神器 就是不知道长期经过他代{过}{滤}理 会不会产生过多记录
黄河大鲤鱼 发表于 2020-2-15 17:56
大佬,你们的系统叫什么名字啊
virgolong 发表于 2020-2-15 18:19
第一次见fiddler这么用,又学到了,下来研究下
google815 发表于 2020-2-15 18:20
偶遇大神
qmk 发表于 2020-2-15 18:38
第一次知道fiddler可以这么用
Rod.9800 发表于 2020-2-15 19:07
虽然我不懂,但是觉得好厉害
52ppp 发表于 2020-2-15 19:14
很经典的一款抓包工具
头像被屏蔽
poemrain 发表于 2020-2-15 19:42
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 01:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表