吐槽一下:整个ISCC2014的Web关都充斥着SQLi,让人注入都注吐了,基本上每道题都会用SQLi拿flag。(就不能换一种么!~)
0x00 国君之争 Score:100
当年齐国国政混乱,公子小白与公子纠当年争夺齐国国君的地位,管仲一箭将小白射中,小白假装倒地而死,于是管仲与公子纠就放松了警惕。但是这个时候作为公子小白手下的你,能否帮助小白不在齐国,却能取得齐国国君的宝座,把象征执掌齐国权利的flag拿到?
思路:进入关卡后,只有个文件下载链接,down之。打开发现是个elf文件(文件名:crackBynet-意思是需要连网么?),于是在linux中运行了后,发现需要输入一个注册码,随便输入后,无果。既然是elf,载入IDA分析,经过一阵分析后,发现该程序的大致流程-用户输入注册码(32bit int),将该值作为”http://www.ty-ing.org/script/1/cat.php?ty=”的参数值进行提交,通过接受返回信息,当result=1时,程序才会输出flag,于是就拿起软件一阵乱爆,无果。后来又看了看IDA反汇编出的代码,发现了该程序输出flag的函数,flag的生成与ty值无关(硬编码?),于是直接手算之,得到flag-vs24dedfd343e。(另一思路是改本地hosts,使得www.ty-ing.org指向本地,通过本地编写代码验证)flag计算脚本如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
s = 'the password is : '
v15 = 'sdfaer34dfv234523aae3fas'
v0 = v15[10]
v1 = v15[0]
v2 = str(len(v15))
v3 = v15[1]
v4 = v15[4]
v5 = v15[8]
v6 = v15[21]
v7 = v15[8]
v8 = v15[16]
v9 = v15[13]
v10 = v15[12]
v11 = v15[19]
string = s + v0 + v1 + v2 + v3 + v4 + v5 \
+ v6 + v7 + v8 + v9 + v10 + v11
print string
flag:vs24dedfd343e
0x01 霸业蓝图 Score:200
即位之初的齐桓公想要杀掉管仲,已报自己的一箭之仇,但是,与管仲交好的你,心里却非常明白管仲心里有一个很清晰的让齐国称霸诸侯国的宏伟蓝图,现在这个能查看图片信息的小工具,你来看看这个管仲霸业蓝图有没有漏洞吧!
思路:进入关卡后,只有个文件上传的表