Loading

『Upload-labs靶场通关』

Upadload-labs文件上传靶场学习

文件上传

客户端和服务端检测

  • 服务端检测包括: 1、后缀检测 2、检测内容
    • 后缀检测包括:1、黑名单检测 2、白名单检测
PHP一句话木马:<?php @eval($_POST['key']);?>
ASP一句话木马:<%eval request['key']%>
ASPX一句话木马:<%@ Page Language="Jscript"%><%eval(Request.Item["key"],"unsafe");%>
客户端验证 本地JS验证,直接通过brup改包绕过
白名单 定义上传文件的符合格式,例如.jpg .phg .gif 等等,只要不符合以上格式一律不让上传
黑名单 定义上传文件的不符合格式,例如.php .zip .jsp等等,只要符合以上任意格式一律不让上传

第一关(JS本地文件名绕过)

1、首先判断是否为客户端还是服务端检验(可以查看网页源码是否有判断的JS代码)
解题:

  1. 查看网页源码发现验证为本地JS验证(客户端验证)
    20211104174356
  2. 通过网页JS源码可以看出本地JS只允许上传.jpg | .png | .gif后缀的文件
    20211104174447
  3. 绕过客户端验证,使用brup抓包,更改文件后缀
    20211104174521
  4. 将.jpg后缀改为.php绕过客户端验证,上传成功
    20211104174559

第二关(文件类型绕过)

1、首先判断为不是客户端JS验证(因为网页源码没有过滤代码)
2、使用burp改包绕过检测机制
解题:

  1. 首先将写好的webshell后缀改为图片格式文件类型
    20211104174647
  2. 然后通过burp抓包上传数据包,然后更改其文件后缀文件类型
    20211104174706
  3. 绕过成功
    20211104174726

第三关(特殊后缀名绕过)

1、使用特殊PHP后缀绕过黑名单检测

例如:php3 | php5 | phphtml格式等
只有后台为apcher

解题:

  1. 尝试特殊后缀名
    20211104175343
  2. 绕过成功
    20211104175400

第四关(.htaccess文件绕过)

1、使用.htaccess文件绕过

<FilesMatch “4.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

第五关()


第六关(大小写绕过)

1、尝试大小写修改后缀名
解题:

  1. 修改后缀名大小写
    20211104180710
  2. 绕过成功
    20211104180722

第七关(后缀空格绕过)

1、尝试后缀加上空格绕过
解题:

  1. 文件后缀添加空格尝试绕过

  2. 绕过成功


第八关(后缀加点.绕过)

1、尝试后缀加上点.绕过
解题:

  1. 文件后缀添加点.尝试绕过
    20211104181443
  2. 绕过成功
    20211104181500

第九关(::$DATA绕过)

1、::$DATA绕过机制
解题:

  1. 文件名后缀加上::$DATA
    20211104183955
  2. 绕过成功
    20211104184017

第十关(通过无循环机制绕过)

1、
解题:

  1. 代码没有遍历循环,组合空格和点绕过检测
    20211104184640
  2. 绕过成功
    20211104184701

第十一关()

1、
解题:


第十二关(%00绕过)

1、
解题:

posted @ 2021-11-03 23:58  小刘小刘富得流油#  阅读(93)  评论(0编辑  收藏  举报