原地址:https://kmrvog7plx.k.topthink.com/@1m29qknr67/kaifasilu.html
知不可乎骤得,托遗响于悲风
今年的国安在加密方面有所提高,以前数据接口基本都是明文。讲讲分析流程吧,长话短说。
地址:https://2023gjaqzsjs.haedu.cn/gajs/#/
目前还没有开始答题,首先想法就是爬一下题库,后面整理题库接入程序。
抓题库页面包,可以容易抓到题库链接
查看一下返回的数据,四个字段,count、data、page、page_count。各个字段就跟其表面意思一样,很容易发现data是加密过的数据,显然该接口返回的就是题库数据。既然web可以显示出来题目,那就一定是返回的data在前端解密显示在界面上。我们将目光放在解密这件事情上
代码是webpack打包出来的,有混淆,直接全局搜索可能不太好定位,那就挂标准库hook一下代码,很容易hook到我们需要的decrpt位置。
本地解密一下,标准的aes,不过解密之后我们发现,data中混有욜一些奇奇怪怪的东西。第一反应是前端还进行了字体加密,那就按部就班分析呗。找找woff,tff文件。找到了这两个地址https\://2023gjaqzsjs.haedu.cn/gajs/fonts/element-icons.535877f5.woff
https\://2023gjaqzsjs.haedu.cn/gajs/fonts/element-icons.732389de.woff
字体工具查看一下。查看信息是 Microsoft YaHei Version 1.0 第一想法是直接去下载源文件做一下映射,奈何寻找无果。于是换种思路,绘制图,ocr识别,做出映射关系表。至此,数据解密全部结束。编写爬虫代码,这里一个循环即可搞定,不做过多赘述。
本来到此就可以结束,不过想到很久玩云开发,于是在云开发平台封装了一个接口,话说很奇怪,很久没登录该平台,登录上去还发现莫名的有一些工单未结。。
哦对,爬出来的数据有脏数据,中间对脏数据进行了清洗,最终题库为标准json格式。如图。
理论上来讲,等答题日期到之后,再去分析答题协议,去做匹配自动提交。不过不清楚我到时候是否还有时间,于是今天用e去快速封装了一个搜题程序。接口按量计费,害怕被恶意请求就不放出来了。
ps:答题开放后,有朋友要做答题可以联系我拿搜题接口,免费。
蓝奏:https://wwpw.lanzouf.com/iwZFt0vg4skf