全国大学生信息安全竞赛,web wp和反思。

这次酱油了,感觉也有挺久没认真做题了,很多应该做出来的题都没做出来,但是总体来说这次的web出的还不错,因为我个人打比赛的时候只会记录一些零碎的东西,这次也没机会写wp所以这篇文章还是一些思路和近段时间的反思。

Web 150 PHP execise

这里我用的是之前i春秋一道题的方法,print_r(scandir(‘./’))然后直接print_r(file(‘flag_62cfc2dc115277d0c04ed0f74e48e3e9.php’)),队友是用的是print_r(glob(“**”));然后include flag文件再打印全局变量,没什么可以说的,值得一提的是61d的wp里他们是首先看了phpinfo()中的disable function,这样的思路和思想方法比较好,如果是过滤严格的话单纯的fuzz会花很长时间。

Web 250 wanna to see your hat?

看别人的wp里发现有svn泄漏,可以通过wc.db拿到源码,我们这里是直接发现了单引号被转换成\,然后直接绕过登陆就可以了,也没什么好说的,但是忘记是没扫目录还是怎么了没有发现svn泄漏,很尴尬,做web题的时候不管题目提示有多明显都最好完成一些基本的检测:扫目录,看源码,看相应头,能扫的时候扫端口,这是非常重要的,细节在web题目中的重要性实在是太大了。

Web 300 flag vending machine

好把,这道题是最不该出现失误的题目,但是最后还是卡住了,深感自己没有身为一个web狗的基本素养,这道题的话实际上fuzz一下就能发现问题了,比如说在注册的时候用户名后面加个单引号,然后再购买的时候就不会扣钱,这样就很容易确定题目的考点和利用方法了,很明显的二次注入,根据购买扣钱还是不扣钱来判断条件,但是自己一直没有去fuzz,确实题目太卡了而且实验室里的网速实在是有点差,一整天做题的时候大部分时间都是面对着burp的500页面,不知道是不是因为这个影响了一些判断力和心情。

Web 400 guestbook

很尴尬的一道题,最后没能做出来,其实也不能算脑洞,只是不是常规的思路而已,主页的XSS过滤了一些基本函数和on事件,但是可以通过window.open来绕过,提交的payload会被储存在一个html页面里,bot会去访问这个页面造成XSS,但是html页面delete了一些常规的函数,不能用XHR,同时发现主页还有一个改名字的功能,这个改名字也可以造成XSS,于是考虑在提交的payload里填写一个表单来更改bot在index.php的名字造成XSS从而不用考虑html里的delete function,通过这个XSS可以读到bot访问html页面的referer是一个admin/review.php?b=xxxx,参数貌似是一直不变的,自己去访问这个页面会显示you are not admin,很自然的想到用bot去访问这个页面,但是这里就是一个坑点,bot访问页面之后仍然显示的是not admin,尝试读cookie发现cookie为空,这就导致思路全断了,徒劳的读了很多所有页面的返回头和内容,最后还是没能做出来。事实上让bot去访问review.php的时候显示not admin并且cookie为空的时候就应该发现很可疑,就应该多往这方面想想,看了别人的WP后才发现是cookie的路径问题。

Web 400 方舟计划

更尴尬,队内的师傅们修仙做出的题目,我因为第二天有课而且受不了了回去睡觉了,走之前是做到了注入那里,先放个队友的WP:http://www.jianshu.com/p/0c362b6b2669

注入的话是常规的思路,报错注入+/*!00000from*/绕过对from的过滤,然后会有secret key和加密后的password,是AES,解密后进入下一关上传,是用的前段时间FFmpeg的任意文件读取,emmm,没有复现过,但是好像脚本可以直接用,因为题目之前有误,虽然修复了但是为了公平的原则还是改回去了,只不过是凌晨3点半改的23333。

总结

说是暴露了很多问题,其实大部分还是以前的那些问题,从来没改过,甚至没有认真的想去改,web或者说整个安全实际动手操作是必不可少的,之前看文章都是看过一遍然后默默记在心里有这个姿势,然后到真的要用的时候还要去翻文章然后重新复现,更别说大部分时候根本不会想起有这个姿势,感觉现在订阅的文章有点太杂太多了,并且对一些真正精华文章的重视度也不够,但是这次确实感受到了实际操作过带来的巨大优势,之前写XSS的时候实在是一脸懵逼,这次也能比较流畅的写出想要的payload。

碎碎念

虽然是第一次参加这样的比赛,但是不能去线下赛还是有点伤心,特别是自己负责的web下出现这样的情况,看着大师傅们各种AK回去睡觉还是有点不是滋味。打完比赛以后也是找在腾讯的学长聊了一下,回想起来今年1月开这个博客的时候连基本的union select都不知道是为什么,看着php序列化的字符串都不懂这是什么东西,深感自己作为一个大龄web萌新还有很长的路要走,同时也要开始学习其他的东西了,现在只会web的话不论是比赛还是之后工作可能都会举步维艰,值得庆幸的是还有2年的时间能在学校里安心度过(如果能正常毕业的话),希望能快点追上现在大师傅们的脚步。