“网鼎杯”网络安全大赛 青龙组Writeup&总结
周末在SJTU队打了网鼎杯,学到了不少新姿势,记录一下。
filejava
一个apache看到8.0.24版本第一直觉就是CVE-2020-1938,然而8009端口没什么响应……然后有个<!-- flag in /flag -->
的提示应该是要getshell啥的,上传页面也没啥好搞的也不解析。
然后在乱试的时候发现在/DownloadServlet
这里的filename
如果留空会报错,错误信息里有doPost
的函数,这就有点意思了,试试POST提交,filename
依然留空
1 | java.io.FileNotFoundException: /usr/local/tomcat/webapps/file_in_java/WEB-INF/upload/0/0 (Is a directory) |
啧,路径都出来了结合这个报错八成就是LFI,filename
改成../../../../../../../../../../etc/passwd
果然就能下载到文件了。
这里推荐一个开源工具方便dump整个java目录https://github.com/LandGrey/ClassHound
用工具就是
1 | python classhound.py -u "http://x.com:8080/file_in_java/DownloadServlet" --post "filename=../../../../../../../../../../usr/local/tomcat/webapps/file_in_java/#WEB-INF/web.xml#" |
拿到源码,审计一下就能发现upload故意做了个手脚,会加载excel-
开头的xlsx
文件,都这么明显了还给了poi的版本号就是xxe完事了……
参考这里弄一个文件传上去就能打到flag了。
trace
很弱智的东西一扫就deny了只能手动fuzz,还要时不时reset一下……insert用户名盲注,然而information_schema
被过滤了,5.5.62版本也没有sys,innodb也没戏,试了几个都不存在然后就开始走歪了……
发现文件读不了,也不能堆叠注入,然后发现file_priv
好像是Y,secure_file_priv=/var/lib/mysql-files/
,不是NULL?接下来就开始从这个走上各种奇技淫巧的不归路。。
最后刚结束才发现表名就是flag,但是列名不是不过这个不是问题可以绕,然而当初fuzz的时候用的是flag的列名就排除了……草
notes
一看引用了pug
就想着能不能SSTI,然后翻了翻代码发现没戏……不过记录一下
1 | const pug=require('pug'); |
结果是
1 | 1 |
第二条-
后可接任意payload
代码不长能有问题的就只有那个类和status函数了,看了看能控制下标,大概就是原型链污染了,不知道的小伙伴可以看看这篇文章很详细。攻击链就是修改note_list
的原型从而污染status
的commands
导致RCE。
1 | POST /edit_note |
然后访问/status
即可
Teslaaaaa
这题有人先用SavvyCAN提取出了固件,然后就完全懵逼不知道怎么搞这个arm…里面的一个明文flag还是假的,不过一问xdd就被秒了,也瞬间到了#1,xddnb
下面来学习一下arm逆向的姿势:
IDA载入,改成arm架构一路确认即可
进去后当然他是识别不了代码的,我们需要知道base和入口点,在0x00000000位置按d
修改两个值为DCD
,Arm M核心启动流程在0x00000000位置是SP,0x00000004是PC,如图
在这么一个小程序中基本PC减几位就是base了,如果比较大可以参考这里寻找基址,这个程序一般就是0x08000000,在Edit-Segments-Rebase
中可以修改基址,接下来要将Arm指令修改为Thumb指令以便于反汇编,方法是在0x08000000(也可在入口点不过要对齐向下取整)按Alt+G,把T值改成1就是Thumb指令了,最后将之前的DCD
还原成DCB
,按c
即可还原出函数和指令啦~
最后就是秒了
未完成的书
极其鬼畜,吐槽一下。
wenyan-lang还原之后是个混淆后的js,变量名感觉就是个神棍,极其恶心……
xdd逆出了
1 | 造化玉碟=2da71604095d8979fa3640811c9128f0ca0bea8c2e93b70a4108ee4fbe606db4216654410302f8099c8cfdf4f994e38216947b966d1ed194ca953af3114e16eb50fe13b240f0123f0ac80a9b90569eda73c54a03a64f6c70c5cb0c950690fb0e434fd2c388efd934a28ea17728af0a73a1787ca78f |
实在tql,然而前面还有虚空悟
和虚空变
,虚空变
里还有虚空转
没时间搞了……待有缘人继续。。。
视觉效果参考下面这个主函数