Secuinside CTF Quals 2013
Secuinside是韩国人办的信息安全比赛,在ctftime.org上排名很靠前。这次应该算是我第二次参加类似的比赛,不过这类做题形式的还是头一次。
我对安全这块几乎什么都不了解,本来得知这个比赛的讯息后打算在两周内好好突击学习一下的。无奈俗务缠身,困于各个deadline、物理实验、数电实验等。不过这学期活动倒是不少,Google GDG两次活动(一次是Google I/O直播之夜,都是签到就有T恤衫,相当不错),Lisp中国地区爱好者技术沙龙、编程之美、Yahoo Hack Day等。直到比赛前两天才有时间开始学习Web安全方面的知识,https://pentesterlab.com/web_for_pentester.html提供了非常不错的学习资源,我开始接触SQL injection、directory traversal这类东西。下载到的iso是可引导的,可以用qemu启动。图方便我用了tap方式让虚拟机接入网络。另外Linux下有个工具lxc,增强版的chroot,可以构建单独的网络环境,对于这个应用来说应该会更方便,以后再了解了。
周五21:00多比赛开始,binary类题目远多余web类题目,web类题目我也几乎处于蒙昧状态,在强力的队友面前我能做的就是打杂了。不过在三天的学习过程中倒是了解到了不少工具:
- sqlmap
- ettercap
- whatweb
- knocker
赛后反思一下,我对Web安全方面的知识储备严重匮乏,也没有接触过MySQL和PHP,以后要好好了解一下。这段时间要抽空看一下这几本书:《SQL Injection Attacks and Defense》、《Web 前端黑客技术揭秘》、《白帽子讲WEB安全》。
比赛持续48个小时,今天21:00结束。我们blue-lotus战队最后是第7名,据说要制作战队队衫了,好期待啊!
Shell utilities技巧
- plain hexdump:
xxd -p
- reverse operation of plain hexdump:
xxd -r -p
。 我想到的是个比较笨的方法:ruby -ne 'print $1.scan(/../).map{|x|x.to_i(16).chr}.join
。 不得不说逻辑稍烦杂的one-liner得数Ruby最好用,Smalltalk的cascading函数调用风格比Perl还好用不少。 tar
的选项--to-command
,这个是第一次见。curl
的{}[]
有特殊含义,-g
可以关掉这一特性,-r
可用于指定Range:
HTTP首部。