ctfhub_WEB基础关(文件上传)

发布时间 2023-09-13 19:06:10作者: 凉城厌心

WEB基础

六、文件上传

1、无验证

无验证的话,直接上传一个一句话木马试试

  • 利用哥斯拉生成php木马

  • 将生成的文件上传

  • 利用哥斯拉连接,进入

  • 进入文件管理,查看flag

2、前端认证

  • 将第一关利用哥斯拉生成的ctf.php文件修改后缀名,改为ctf.jpg

  • 上传该文件,并用Bp拦截修改文件后缀名

  • 利用哥斯拉连接,并进入读取文件管理中的flag

3、.htaccess

  • 先上传一个图片码

    shell.jpg
    <?php @eval($_POST['a']); ?>
    
  • 在上传一个.htaccess文件,修改其中的内容,使其可以将第一次上传的图片文件解析成php文件

  • 利用蚁剑连接,连接上传的图片码,此时图片文件以为解析成php文件

  • 获取flag

4、MIME绕过

  • 上传shell.php文件,并用bp拦截,修改Content-Type

  • 上传成功

  • 利用蚁剑连接,并获取flag

5、00截断

  • 查看页面源码,上传的目录是可控的

  • 上传shell.jpg,并用Bp拦截,修改上传的路径使用%00截断

  • 文件是可以上传成功的,然后利用蚁剑连接,获得flag

6、双写后缀

  • 查看页面的源码,上传的php等文件,会将文件的后缀名置空,但是是单次检查,可以双写后缀名进行绕过

  • 上传shell.php文件,利用bp拦截,双写后缀名

  • 上传成功

  • 利用蚁剑进行连接,并获取flag

7、文件头检查

  • 只是检测文件头有没有图像文件的标识,并不检测后缀名

  • 上传一张图片文件,用bp进行拦截,转发到重发器

    • 上传图片显示上传成功

    • 将后缀.png改为.php,依旧上传成功

    • 在.php文件内容的末尾加入一句话木马上传

  • 利用蚁剑尝试连接

  • 获取flag