网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月29日漏签0天
广东技术师范大学吧 关注:26,822贴子:216,246
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 24回复贴,共2页
  • ,跳到 页  
<<返回广东技术师...吧
>0< 加载中...

[GPNU.02405]关于自动查询剩余电费的构想与探索

  • 只看楼主
  • 收藏

  • 回复
  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
记录一个想法,经常因为忘记交电费导致战局到了紧张时刻然后断电。只留下空虚的黑暗,与我舍友的望眼欲穿的眼光


  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
[1]前情提要与背景介绍
我们白云校区的电费都是在企业微信上,一个学校制作的第三方应用查的。




2026-05-29 00:50:47
广告
不感兴趣
开通SVIP免广告
  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个页面是可以提取出URL的,这意味着我们可以在浏览器里调试,然后看看他发送了什么返回了什么。(其实我们也可以在企业微信里面看,不过这是后话)
理想情况下,查电费会发送一个POST请求,然后服务器返回一个json文件。那么我们要做的就是找到这个请求然后仿照它也向服务器发送一个这样的请求。


  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
经典F12下,我们手动发送一次查询请求,可以看到多出来的POST请求

这就是我们要模范的参数格式
URL=https://xyk2.gpnu.edu.cn/wechat/basicQuery/queryElecRoomInfo.html
data={"aid": "0030000000004401","area": '{"area": "", "areaname": ""}', "building":'{"building": "", "buildingid": ""}',"floor": '{"floorid": "", "floor": ""}',"room": '{"room": "", "roomid": "b0几号楼0你的宿舍号"}',}
但是注意,直接这样发送请求是不行的。我们需要获取浏览器的Cookie,见请求头

一通操作下来,我们有了这样的代码

试试看?

剩余电量:136.37
可见确实成功了


  • 熊罴
  • 吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
经典抓包F12大法


  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
但是这样的方法并不能长久使用,因为我们使用的Cookie有效期只有两个小时,然后就需要手动去获取新的。那么,有没有办法能够自动化这个过程呢?
首先我们得先来看看这个cookie是怎么来的。
清除浏览器cookie后,我们再刷新页面。然后就可以在最开始的GET请求中找到这个:

一个Set-Cookie藏在响应头里面,这就是这个cookie的来源


  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那么,我们是不是只要一直仿照这个GET向服务器请求新的cookie就行了呢。
让我们分析一下这个URL:
会发现url后面带有明文的好几个参数

其中,json应该是一个固定不变的参数。然而,token是一个会变化的参数,这个参数每次刷新页面后都会不一样,而每个新建的token同样拥有两个小时的有效期。有效期过后,我们再使用这个URL便无法再获取新的cookie。
这意味着如果我们希望获取稳定的方式,那么破解token的来由就变得尤为重要


  • L1NINE
  • 石牌桂岗
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
bro太有石粒辣


2026-05-29 00:44:47
广告
不感兴趣
开通SVIP免广告
  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
让我们仔细看看这个token到底是什么东西

这里已经是dev自动解码后的显示,但是仍然有%转义符号的存在,这意味着这段其实是二重URL编码,我们需要再手动转换一次。

经过二次解码,我们得到了这样的字符串:uXBLTpaFCDGCVMMqBMcaTg==
用=来填充末尾来保证长度一致是base64编码的经典特征,所以我们需要再进行一次base64解码。
但是,无论用什么编码格式都无法正常显示解码出来的字符串。这意味着base64后面还有一次加密
而在我阅读了企业微信的各种文档之后,我觉得是AES加密。
欸,我打AES?真的假的
那么很显然,寄希望于破解token的生成方式是不可能的了


  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

但是,直到现在我们都不知道这个token是怎么来的。这前不着村后没有店的。
所以我们需要从它的上一个页面开始分析。
前期提要,我们要进入这个充钱页面是需要先点击学生卡页面的。
这里我们就不能继续使用外部浏览器来分析了,因为只能打开一个页面,点任何按钮跳转都会被重定向到“请使用企业微信打开”
幸好企业微信留足了后路,我们使用ctrl+shitf+alt+D即可打开企业微信的调试模式,这个模式下,我们可以打开每个页面的Dev工具。


  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我们再完整分析一下从学生卡界面进入充钱界面的流程。
初见端倪

可见它并不是直接跳转,而且经过了一个重定向页面,而这个页面指向经典的微信OAuth服务器。
伏笔回收,一开始我就提到这是第三方应用,所谓的第三方应用其实就是经过OAuth授权后可访问的一类资源。
这里,我们单纯模仿发送的参数是无效的,因为它还存在随机state匹配,来确保提供服务和提供授权的服务器都是可信的。而跨站请求伪造(CSRF)攻击也无法通过微信的验证。


  • pz6842zk
  • 西路孤城
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
所以我的结论是,想要获取稳定长久的查询电费的途径是很难的(也许会有漏洞,但是楼主已经没办法了)。这里我没写死,是希望后继有人,帮我继续下去。
整个查询功能其实都是寄托在企业微信的生态上的。
所以我的想法是:
1.或许可以先获取到用户的登录信息(主动扫描二维码,不是盗号),然后完全取代企业微信的前端,然后用用户信息进行授权。
2.寻找延长token和cookie的有效时长的方法(听说频繁发送POST会有效?)


  • curtainly丶
  • 初入师门
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我之前也做过,但是token会变为也放弃了。本来还想着推动到微信上


  • 贴吧用户_a6VQyyb
  • 三元里下
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我们读的是同一所大学吗bro?


2026-05-29 00:38:47
广告
不感兴趣
开通SVIP免广告
  • 咸鱼暴龙战士
  • 初至羊城
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我去,真别这么有实力


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 24回复贴,共2页
  • ,跳到 页  
<<返回广东技术师...吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示