当前位置:网站首页 > 更多 > 编程开发 > 正文

[Python] 分析最近的一个网课答案查询2.0

作者:CC下载站 日期:2020-05-06 00:00:00 浏览:56 分类:编程开发

这是一次没啥技术含量的分析,只为水一篇博文嘿嘿,这个接口也是这个作者免费开放的。在此感谢作者

最近看到一些网站都有这个网课答案查询软件

于是想着,这么简单的软件,应该不会很复杂吧,然后下载之后进行了抓包(谁让咱不会逆向涅)

打开工具:Wireshark(还真是个强大的软件呢),随便查询一下,然后慢慢找吧

似乎就是这个了

把这个值,转码看下吧

好吧这个是返回值了,应该没错了,然后是这个请求url,继续拿去转码一下

三个值:title,secret,token

然后既然是get请求,直接放到浏览器看下,老铁没毛病。

然后就是分析三个值了,第一个title就是关键词了,第二个secret暂时不知道,第三个token估计是秘钥吧

然后打开那个网站看一下

好吧三个值是什么意思知道了,secret加密文件加密的,token是作者授权的,所以token应该不变就这一个就行了。

既然是加密文件,那要么是在本地文件,亦或者还有接口,然后继续翻抓包软件吧。这次把目标锁定在http协议上。所以加一个过滤器

嗯,又看到一个

继续转码看看

t=后面跟的是之前搜的东西,放到浏览器打开看下


这串值似乎就是之前的加密文件加密后的东西

/topic/getSubject?title=lanol&secret=8942b58ebfe8e11133e7127e47256fe1&token=C00B0C13B9814BEA5360766F4445D623

然后看下这个页面源代码吧。

引用了一个JS,然后就是加密。然后思路:把这个JS文件保存,用python调用。

importexecjs

withopen('jm.js','r')asf:
js=f.read()
question='lanol'
jiami=execjs.compile(js).call('get_tk',f'{question}')
print(jiami)

然后ok,生成的secret一模一样

然后就可以查题了

完美

然后我又翻了一下抓包记录

打开到浏览器看了下

感谢这个软件的作者了

最后python代码:

importexecjs
importrequests


defanswer(question,jiami):
url=f'https://www.150s.cn/topic/getSubject?title={question}&secret={jiami}&token=C00B0C13B9814BEA5360766F4445D623'
html=requests.get(url).json()
returnhtml


print("欢迎使用Lan网课查题助手")
print("www.lanol.cn")
withopen('jm.js','r')asf:
js=f.read()
whileTrue:
question=input("请输入题干(六个字以上):")
jiami=execjs.compile(js).call('get_tk',f'{question}')
result=answer(question,jiami)
qu=result['title']
an=result['answer']
print(f'题目:{qu}
答案:{an}')

js文件:


jm.js密码:www.lanol.cn|大小:212KB已经过安全软件检测无毒,请您放心下载。
您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯