CTFer成长记录——CTF之Web专题·buuctf—Cookies

发布时间 2023-08-18 17:08:19作者: MiracleWolf

一、题目链接

https://ctf.bugku.com/challenges/detail/id/87.html?id=87&

二、解法步骤

  打开网页,发现自动给url上了参数:

 line的值为空,filename是base64加密格式,解密后为:key.txt。

  首先尝试更改line=1,、2、3、4;发现无反应,然后尝试访问用filename访问index.php。因为直接访问地址会跳转上上述页面,猜测参数的值会触发302重定向。

于是filename=aW5kZXgucGhw

页面无显示,查看源代码:,发现第一行有代码显示。猜测line控制显示代码行数:

 

line= 2:

 接着用bp爆破line 从1~30试试,然后把每行的代码拼接起来:

  通过代码审计,需要我们传入cookie的参数margin=margin,使得file_list数组存储(keys.php),最后传入filename=keys.php的base64编码即可:

  payload:index.php?line=&filename=a2V5cy5waHA=

  

  最后在源代码中找到flag:

三、总结

  本题考察是代码审计。破题点是要尝试将filename =index.php传入,同时结合源代码回显得出line参数的作用,通过bp爆破得到完整的代码,最后通过代码审计来传入合适的Cookie与filename得到flag。总的来说不难。