获取体温填报OpenID以实现自动体温填报

2021-02-16 -> OUTDATED

返校健康卡现已使用 OAuth2,OpenID 仍可获得且接口可用。

Disclaimer

本工具仅限个人学习使用,切勿用于非法目的,体温还是得好好填的。
而且获取到的 OpenID 可以通过智慧济大下几乎所有依赖于 OpenID 的认证,获取大量个人信息,请尽量自建 bot。
同时建议学校挂 https 但还是默认走了 http。

Requirements

  • 一台电脑(手机使用对应的抓包工具解决也可)
  • 一部登录了微信的手机(绑定济大微信)
  • 手机与电脑在同一网路环境下
  • Telegram 账户
  • 能访问 telegram 的服务器(可选)(自建用)

获取体温填报的 OpenID

由于学校企业微信调用的页面并没有启用 https,故可以直接使用 burpsuite/fiddler/mitmproxy 等工具直接获取 OpenID,本文采用 mitmproxy。

获取 mitmproxy

从这里下载 mitmproxy
安装过程略

获取 OpenID

打开 mitmproxy ui(Linux 下的 Cli 也可)

保证手机电脑在同一个网路环境下,电脑获取 IP 地址(Windows 下 Win+X 打开命令提示符 输入 ipconfig 一般是 192.168.x.x Linux 下开 terminal 输入 ip -4 addr 或 ifconfig)

在手机的 WiFi 设置中修改目前连接的 WiFi,代理服务器设置为手动,地址填写电脑的地址,端口 8080。

打开微信济大公众号,点开返校健康卡,在电脑上 mitmproxy 打开的浏览器页面中,应该会有一条
http://fanxiao.ujn.edu.cn/wxUser/wxLoginByOpenId?openId=xxxxxxx
openId=的后面即 openid

使用自动填体温

在 bot 的 chat 中,输入/enable <刚才获取的OpenID>即可启用,输入/disable <刚才获取的OpenID>即可停止。
PS:在下午 7 点后设置完毕的是无法自动填报的,请使用/trigger <刚才获取的OpenID>手动更新。

手动搭建 bot

参考SpartaEN/ujn-temperature-report-bot中的 Usage。