某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言

  • 服务器端主题(翻译)

  • 客户端主题(翻译)

  • 高级主题(翻译)

  • 扩展阅读(翻译)

  • 个人学习笔记

  • 实验室做题记录

    • 实验室做题记录
    • 服务器端

      • SQL注入

      • 身份验证

      • 目录遍历

        • 学徒-文件路径遍历-简单示例
        • 从业者-文件路径遍历-绝对路径
        • 从业者-文件路径遍历-剥离式遍历序列
        • 从业者-文件路径遍历-多余的URL解码
          • 题目
          • 实操
        • 从业者-文件路径遍历-起始路径验证
        • 从业者-文件路径遍历-空字符绕过
      • OS命令注入

      • 业务逻辑漏洞

      • 信息泄露

      • 访问控制

      • 文件上传漏洞

      • SSRF漏洞

      • XXE注入漏洞

    • 客户端

    • 高级主题

  • BurpSuite及官方实验室
  • 实验室做题记录
  • 服务器端
  • 目录遍历
clincat
2023-06-09
目录

从业者-文件路径遍历-多余的URL解码

# 实验室:文件路径遍历,多余的URL解码

# 题目

本实验室的 产品图像显示路径 中存在文件路径遍历 (opens new window)漏洞。

如果用户输入 包含路径遍历序列,则应用程序会阻止它。在使用输入之前,应用程序会对其进行 URL 解码。

若要解决实验室问题,请检索/etc/passwd文件的内容。

实验室-从业者

文件路径遍历,在多余的URL解码中剥离遍历序列 >>

- name: 实验室-从业者
  desc: 文件路径遍历,在多余的URL解码中剥离遍历序列 >>
  avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
  link: https://portswigger.net/web-security/file-path-traversal/lab-superfluous-url-decode
  bgColor: '#001350'
  textColor: '#4cc1ff'
1
2
3
4
5
6

# 实操

根据题意,可得实验目标:

  • 在 产品图像的显示路径 当中,存在文件路径遍历漏洞。
  • 应用程序实现了某种防护措施,阻止了 遍历序列 的使用。
  • 但,应用程序会对用户输入进行一次额外的 URL 解码(中间件自带解码 + 代码层面解码 = 2 次解码)。
  • 尝试绕过防护 并利用该漏洞,检索 /etc/passwd 文件的内容。

点击 “Access the lab” 进入实验室。

Not Found Image

实验室首页如下,可以看到很多的产品图像。

启用浏览器代理,任意选择一张图像,在新的标签页中 打开图像。

Not Found Image

将捕获的数据包发送到 “Intruder” 。

Not Found Image

将 filename 参数的值添加到选区。

Not Found Image

根据学习到的知识,BurpSuite 内置了一些常用字典。

(用了好久的 Burp ,直到现在才发现有内置的字典......)

设置攻击载荷,点击下方的 “Add from list...” 。

Not Found Image

选择其中的 “Fuzzing - path traversal” ,这是用于路径遍历漏洞的模糊测试字典。

Not Found Image

点击之后,会自动添加 所选列表中的攻击载荷。

Not Found Image

下滑窗口,找到 “Payload encoding” 配置项,将其中的 √ 取消勾选(默认是启用的)。

因为目录遍历的 攻击载荷 存在特殊字符,要防止其被编码。

Not Found Image

做好一切之后,点击 “Start attack” 开始攻击。

Not Found Image

对攻击结果进行排序,发现一个异常条目。在请求数据包中可以看到,它的 Payload 进行了 2 次 URL 编码。

Not Found Image

查看响应数据包,返回了/etc/hosts文件的内容,说明漏洞利用成功。

Not Found Image

使用 “Repeater” 功能,编辑刚刚的请求数据包,将其中的/etc/hosts更改为/etc/passwd,然后发送数据包。

?filename=.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252f.%252e%252fetc/passwd
1

成功检索/etc/passwd文件的内容。

Not Found Image

实验完成。

Not Found Image
编辑 (opens new window)
从业者-文件路径遍历-剥离式遍历序列
从业者-文件路径遍历-起始路径验证

← 从业者-文件路径遍历-剥离式遍历序列 从业者-文件路径遍历-起始路径验证→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式