题目链接: BUUCTF在线评测
打开题目,发现网页一直跳转到 /die 页面,查看源代码也没用,抓包试试。
发现有个/chase/目录,访问下:
接着访问/left目录:
又出现了/shoot/目录,之后也是一样,访问回响时提示的目录,一步步往下访问。
总结下出现的所有目录(按顺序从左到右依次访问,static/js/fight.js这个是最后一个。。
嫌麻烦的话直接访问static/js/fight.js即可访问到关于flag的页面,前面的与解题感觉没啥关系,只是一个引领的作用。
)
/chase /left /shoot /door /static/js/door.js /open/ /static/js/open_sesame.js /fight/
/static/js/fight.js
这里附上几张部分访问图片:
总之这道题就是一直访问一个目录,之后右侧回响时又会提示另一个目录,直到最后访问到static/js/fight.js,才是关于flag的
flag顺序被打乱了,排列组合一下就行,脚本跑出所有组合,一个个试下看看哪个能提交成功。
from itertools import permutations
flag = ["{hey", "_boy", "aaaa", "s_im", "ck!}", "_baa", "aaaa", "pctf"]
item = permutations(flag)
for i in item:
a = ''.join(list(i))
if a.startswith('pctf{hey_boys') and a[-1] == '}':
print(a)
pctf{hey_boys_imaaaa_baaaaaack!}
pctf{hey_boys_imaaaaaaaa_baack!}
pctf{hey_boys_im_baaaaaaaaaack!}
pctf{hey_boys_im_baaaaaaaaaack!}
pctf{hey_boys_imaaaaaaaa_baack!}
pctf{hey_boys_imaaaa_baaaaaack!}