CTF_文件上传

Posted hunpi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTF_文件上传相关的知识,希望对你有一定的参考价值。


概述

  目前文件检查思路:

	1.javascript前端校验函数
	2.MIME文件类型检查
	3.文件后缀黑名单(包含常见的后缀替换,以及组件解析漏洞)
	4.htaccess配置文件
	5.文件头检查
	6.文件内容检查(关键字"php"的替换)
	7.条件竞争
	8.hash存储路径
	9.%00截断(需要可控路径存储参数)

  3.后缀"php"的可能替换:php3、phtml。大小写绕过。加空格ph p。
Windows解析特性:php.、php::$DATA。
  6.使用换行符\\、或者使用PHP的四种标签写法中的短标签绕过。

XML风格
<?php echo  '书写内容' ;  ?>

简短风格(需要在配置中开启才能使用)
<?  echo  '书写内容' ;  ?>

SCRIPT风格
<script language='php'> echo  '书写内容' ;   </script>

ASP风格(需要在配置中开启才能使用)
<% echo '书写内容';%>

参考

  《Upload-labs通关手册》,2018-07
https://xz.aliyun.com/t/2435

  《PHP的四种标记(书写形式)》,2013-06
https://blog.csdn.net/dajungoodluck/article/details/84444862


buu你传你🐎呢

  独立测试完成,时间2021-05。有被无聊到。

  Python看一下res.headers,确认开发语言是PHP5.6。
  查看首页的前端代码,看到upload.php。再看upload.php,没什么。
  准备一句话木马:<?php @eval($_POST[shell]);?>,命名为shell.php。

  测试:

	1.直接上传shell.php,upload.php输出"我扌your problem?",无前端校验。
	
	2.把文件后缀改成jpg,上传shell.jpg,查看是否有文件头、文件内容检查。
上传成功,路径有哈希!返回/var/www/html/upload/d9e3f21338eff0f140be883e96922f4a/shell.jpg succesfully uploaded!

	3.继续上传shell.jpg,更改Content-type类型为"application/x-php",测试MIME校验。
返回"我扌your problem?"。绕过方式:"Content-type:image/jpeg"

	4.还剩三个检查方式没有测试。测试黑名单。估计是白名单。考虑上传htaccess配置文件。
使用文件后缀php3/php4/php5/phtml/PHP/ph p,均返回"我扌your problem?"。
	
	利用Windows解析特性,上传shell. php.,成功上传。(.php.或者. php.都可以)
返回/var/www/html/upload/d9e3f21338eff0f140be883e96922f4a/shell. php. succesfully uploaded!
	访问文件,发现没有解析。Nmap扫描主机,发现应该是Linux操作系统。
	
	5.上传htaccess文件。文件名称.htaccess。文件内容:SetHandler application/x-httpd-php。
修改Content-type类型后成功上传。
这时候访问/upload/d9e3f21338eff0f140be883e96922f4a/shell.%20php.,发现被解析了。
	访问执行shell=phpinfo();,验证成功。
	没有条件竞争。

	6.蚁剑连接,在根目录下找到/flag,提交flag成功。

  测试排除:

×	1.JavaScript前端校验函数
√	2.MIME文件类型检查(存在)(passed)
√	3.文件后缀黑名单或白名单(包含常见的后缀替换,以及组件解析漏洞)(passed)
√	4.htaccess配置文件(pass黑名单)
×	5.文件头检查(排除)
×	6.文件内容检查(关键字"php"的替换)
×	7.条件竞争
×	8.hash存储路径(给出了存储路径,passed)
×	9.%00截断(无upload存储路径参数,不可控)

以上是关于CTF_文件上传的主要内容,如果未能解决你的问题,请参考以下文章

CTF-文件上传

CTF_Misc题目分析3_流量分析之arp欺骗

CTF_Misc题目分析3_流量分析之arp欺骗

CTF_Misc题目分析3_流量分析之arp欺骗

CTF_Misc题目分析3_流量分析之arp欺骗

XCTF-攻防世界CTF平台-Web类——11upload1(文件上传前端校验)