贵阳之旅及2023蓝帽杯半决赛WP
最后更新时间:
文章总字数:
预计阅读时间:
贵阳之旅
起
初赛随便混了点取证没想到还进了半决赛,坐六个多小时高铁到贵阳线下打线上赛(指线下可联网且赛制和线上完全一样)。
半决赛前入门取证事实证明还是有用的,可惜半决赛只考了手机取证和 app 取证,要是再加上服务器取证,电脑取证和内存取证,其他分析软件就也能派上用场了。
去打线下赛竟然忘记带笔记本充电线了,难受得要死,幸好遇到了好心工作人员(警哥)借了我一条,下次一定要检查好所有设备再出门()。
承
第一天到的时候已经晚上8点多了,而且经开车师傅介绍,这附近没什么不那么酸辣的餐馆,本想着只能又叫麦或肯,结果发现警训楼里面还有饭提供,虽然口味一般,但是确实能吃饱。
晚上和广大方班的南溟师傅和 CharOn 师傅聊了很久,很开心,感觉南溟师傅像可靠的大学长(
转
第二天正式比赛,不得不说还是有点紧张的,买了杯瑞幸只喝了几口。一开始我就去做取证题,先观望 web 是否多人解出。取证13/15的时候发现 web 还是零人解出,我就接着攻克14题,发现14题需要逆向或者搭建安卓开发环境,马上开搭,搭了半天还没搭好(赛后发现搭安卓开发环境真的要人命)。
去看 web 题,有个附件,下载下来竟然是公共靶机的ip和端口!!竟然不是源码!竟然是公共靶机!!!之前被公共靶机恶心过,总有人拿到 shell 之后往上面写假的 flag 文件来恶心别人,或者上传一堆垃圾。我看了看题,感觉是 xss,但是过滤之后没什么头绪,就把代码粘到了 Google ,发现这竟然是一道原题!(更让我震惊的是下午出的另一道 web 也是原题,这个 saferman (初赛和半决 web 出题人)估计是个前端工程师)。看了一下原题的题解,运用的是侧信道攻击,赶紧拿下脚本开始跑。
脚本跑着跑着出了个 503,又得重跑,我想:不妙了,估计靶机被人侧到服务不正常。果然,不管我 sleep 多少都会时不时出现 503,一出现 503 我就得重跑。到比赛结束之前我跑了二十多次都不行,我放弃了(后来拍照的时候听说有人跑了4个小时出来了,南溟说他5分钟就出来了)害,真应该早上就做。。
合
比赛结束了,进前20,排在26,没能进到决赛,不过终于没那么紧张了,坐了一天感觉腰酸背痛。拍完照赶紧出去贵阳市中心转转,转来转去其实也啥都没看到,晚上景点基本都关门了,而且这里也没什么景点。7点多为了体验当地特色,吃了个家常菜,5个人人均73,我的评价是味道很家常,价格不家常。晚上9点的时候在路上已经人影稀疏了,而且很多店都关了,有点黑,还时不时看到那种通向不知何处的全黑的巷子(真的会有人走这种巷子吗),感慨这里还是不如深圳广州的夜生活。转了两圈回去了,第二天一早就赶往贵阳北站,又坐了六个多小时高铁回来。
回来之后感慨还是深圳好啊,感觉宿舍是真的舒服,饭堂是真的好吃啊()。这种出差还是不宜太多,回来躺了两天,还有点精神涣散。
总结:不虚此行!但下次不想去了。
一些花絮
高铁上所见的桂林
到站
7点多到达警训楼
一堆取证软件但是没有用上几个
丰盛的自助餐(但是吃不惯或者本来就不是很好吃)
强互作用力宇宙探测器
一张合影:“里面有你认识的人吗?”
贵阳市中心(大概是中心)
一大早启程返深
终于回到学校
WEB&取证WP
WEB
web 两道原题,说实话没啥意思,saferman 真的很会出题!
贴上链接记录一下这次比赛的所有 web 题都是原题(两道题都只改了前端,处理逻辑和源码完全一样,对着原题学习也是一样的)。
第一道题侧信道攻击:
https://github.com/amelkiy/write-ups/tree/master/CCC/36c3/WriteupBin
https://blog.csdn.net/keyball123/article/details/104508815
第二道题 log4j lookup漏洞:
https://logging.apache.org/log4j/2.x/manual/lookups.html
https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/
本题只需要完成这篇文章里说的第一关。
取证
仅为记录答案正确的,不考虑格式问题(赛后因为格式改了两道题的答案),仅供参考!!!
1
logs.log
09-11 17:21 (文字游戏)
2
24.32
3
sailfish
4
352531082716257
5
contacts.db
6
应用日志不同应用应用标识不同,经审查都不同
205(正确答案是206,我也不知道是为什么())
7
com.example.myapplication
8
SHA256-RSA
9
从AndroidManifest.xml里面获取
主要处理逻辑确实都写在这个入口类里面
10
应该是3,根据描述需要读取通话记录和短信,要有权限
11
使用 jadx 反编译出源代码分析
base64,后面解密的时候也可以使用base64直接解看来电
12
base64 calllog
2
13
短信记录是SMS,总共两次,先AES再base64
2
14
key 要从 native 方法中获取,估计要搭安卓环境直接用 so 库或者逆向 so 文件,以后再来研究。