2023陇剑杯Hacked
1.介绍&题目
1.admin用户的密码是多少
2.app.config['SECRET_KEY']的值
3.flask网站由哪个用户启动
4.攻击者写入的内存马的路由名叫什么
2.查看基本内容
用WireShark打开流量包还是查看最基本的内容
1.统计中的流量图
2.导出HTTP
简单查看一下流量,发现大部分是login然后很多静态资源的流量。流量包比较少,就几十个,挨个翻找了。
3.解答
3.1第一问(admin用户密码)
直接搜索admin
找到相关的流量包了,往前翻找一下就看到了密码
但是这里直接填写KGM7NI0/WvKswK+PlmFIhO4gqe8jJzRdOi02GQ0wZoo=是不对的,可能要填写明文。
一般网站在发送数据的时候都会加密一下,这里的加密就是在前端进行的了。
可以看到js里面有个aes的js加密文件
KGM7NI0/WvKswK+PlmFIhO4gqe8jJzRdOi02GQ0wZoo=
直接解密字符串是解密不出来的,要先进行一下Base64解密。
最后得到密码flag{WelC0m5_TO_H3re}
3.2第二问(app.config[‘SECRET_KEY’]的值)
挨个翻找流量包找到SECRET_KEY的值,当然也可以直接进行搜索。
答案是ssti_flask_hsfvaldb
3.3第三问(flask网站由哪个用户启动)
由哪个用户启动的,这里指的不是上一题的用户,指的是系统启动的用户,到这里依然没有找到执行命令的地方,
但是剩下的地方也所剩无几,另一个变量就是Cookie地方的JWT,这里的JWT和之前文章的JWT不太一样,
SECRET_KEY的值是JWT加密的密钥。也算是上下两问联动。
这里不太了解的师傅可以单独去了解下FLask的Session解密
得到session解密的答案是red,上面的Session的解密对应的whoami是执行的命令,下面是返回的结果
那么用户就是Red
这里用到的软件可以去https://github.com/noraj/flask-session-cookie-manager下载
3.4 第四问(攻击者写入的内存马的路由名叫什么)
继续向后翻找,能找到写入内存马的流量包,一般这种都比较长,解密出来url的路由是Index
4.总结
这道题整体来说包比较小,但是流量的内容全都是加密的,如果对解密不熟练解决起来就会有困难,其中的Flask的Session的解密还是比较有意思。
写的不是很好,有问题欢迎师傅们留言指出
基础的篇章开始。