南邮CTF上传绕过writeup

题目地址:
http://teamxlc.sinaapp.com/web5/21232f297a57a5a743894a0e4a801fc3/index.html
随便上传一个图片看到以下报错信息:

Array ( [0] => .PNG [1] => PNG ) Upload: 捕获3.PNG
Type: image/png
Size: 39.1416015625 Kb
Stored in: ./uploads/8a9e5f6a7a789acb.phparray(4) { ["dirname"]=> string(9) "./uploads" ["basename"]=> string(11) "捕获3.PNG" ["extension"]=> string(3) "PNG" ["filename"]=> string(7) "捕获3" }
必须上传成后缀名为php的文件才行啊!

再传一个php文件试试:

Array ( [0] => .php [1] => php ) 不被允许的文件类型,仅支持上传jpg,gif,png后缀的文件

直接php文件肯定是传不上去了,所以还是传一个jpg或者gif,png用burp发包
南邮CTF上传绕过writeup_第1张图片
Stored in: ./uploads/8a9e5f6a7a789acb.phparray(4) { [“dirname”]=> string(9) “./uploads” [“basename”]=> string(11) “捕获3.PNG” [“extension”]=> string(3) “PNG” [“filename”]=> string(7) “捕获3” }
有这句报错我们知道在经过图片后缀检查后,根据basename判断是不是php文件,所以想到空字节截断在/uploads/后给出一个名字比如:
/uploads/1.php
在php后用hex增加一个00字符:
南邮CTF上传绕过writeup_第2张图片
成功绕过,拿到flag

你可能感兴趣的:(CTF-Web,笔记)