webgoat-Path traversal

2023-11-06 17:52
文章标签 path traversal webgoat

本文主要是介绍webgoat-Path traversal,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Path traversal

路径(目录)遍历是一种漏洞,攻击者能够访问或存储外部的文件和目录 应用程序运行的位置。这可能会导致从其他目录读取文件,如果是文件,则会导致读取文件 上传覆盖关键系统文件。

它是如何工作的?
例如,假设我们有一个应用程序,它托管了一些文件,并且可以在下面请求它们 格式:http://example.com/file=report.pdf
现在,作为攻击者,您当然对其他文件感兴趣,所以 你试试http://example.com/file=…/…/…/…/…/etc/passwd/etc/passwd…/在这种情况下,您尝试爬到文件系统的根目录 然后进入以获取对此文件的访问权限。称为点-点-斜杠,这是这种攻击的另一个名称
参考:https://blog.csdn.net/qq_53079406/article/details/127140512

0x02

题目要求把文件传入/home/webgoat/.webgoat-8.2.2/PathTraversal/username目录下,
1、直接上传文件,发现文件被传到/home/webgoat/.webgoat-8.2.2/PathTraversal/test/test
2、猜想存在注入,修改fullname为…/test,即可上传到/home/webgoat/.webgoat-8.2.2/PathTraversal/test
在这里插入图片描述

0x03

过滤了…/,但是可以使用双写绕过…//
在这里插入图片描述

0x05

题目要求找到图片path-traversal-secret.jpg
抓包,在response的Location中看到参数为id
在这里插入图片描述

直接用id请求返回400
在这里插入图片描述
…/提示不合法
在这里插入图片描述
编码绕过 ?id=%2e%2e%2fpath-traversal-secret.jpg 返回400
双写编码 ?id=%2e%2e%2f%2e%2e%2fpath-traversal-secret.jpg 返回400
?id=%2e%2e%2f%2e%2e%2fpath-traversal-secret 返回 You found it submit the SHA-512 hash of your username as answer
将用户名用sha512编码结果作为answer提交通过。

在这里插入图片描述

Zip Slip 漏洞

在上传zip文件的地方,上传压缩包文件,后端解压压缩包保存其中的文件到服务器本地。

漏洞成因:待上传的压缩包中可以构造条目名,后端保存文件的时候,常常将条目名提取出来并和保存目录拼接作为最后的保存文件路径,但是压缩包是可控的,从而其中保存的原始条目名也是可控的,因此可以在文件名处利用…/跳转到任意目录,从而向任意目录写入新文件或者覆盖旧文件
如果一个zip文件包含内容为 …/…/…/…/…/…/…/tmp/evil.sh
那么这个文件最后会被保存到/tmp/evil.sh

这篇关于webgoat-Path traversal的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/358145

相关文章

Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解

Flask 在创建app的时候 是用 app = Flask(__name__) 来创建的,不传入 static_folder参数的话 ,默认的静态文件的位置是在 static目录下 我们可以进入 Flask的源码里面查看 ctrl+鼠标左键进入 这是Flask的 __init__源码(后面还有一些,我就选了需要的代码)     def __init__(self,import_

(4)SVG-path中的椭圆弧A(绝对)或a(相对)

1、概念 表示经过起始点(即上一条命令的结束点),到结束点之间画一段椭圆弧 2、7个参数 rx,ry,x-axis-rotation,large-arc-flag,sweep-flag,x,y (1)和(2)rx,ry rx:椭圆的x轴半径(即水平半径) ry:椭圆的y轴半径(即垂直半径) 这两个参数好理解,就是椭圆的两条对称轴半径,相等即为圆 也可以写比例,写比例时默认用符合条件

【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期:最小成本路径原理及实操案例 概述(Creating the least-cost path)1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径(Cost path)2.1.2 成本距离(Cost distance)2.1.2 路径距离(Path Distance) 2.2 案例: 参考 概述(Cre

大数据Java基础-JAVA IO 9】java IO流 (九) Path、Paths、Files的使用

1.NIO的使用说明: >Java NIO (New IO,Non-Blocking IO)是从Java 1.4版本开始引入的一套新的IO API,可以替代标准的Java IO AP。 >NIO与原来的IO同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基于通道的IO操作。 >NIO将以更加高效的方式进行文件的读写操作。 >随着 JDK 7 的发布,Java对N

最短路径(Shortest Path)

单源最短路径问题 Dijkstra算法:基于递推的思想设计 未达顶点的最短路径一定是由已到达顶点的最短路径求出 所有顶点之间的最短路径,任意两个顶点之间的最短路径 Floyd算法:只是Dijkstra最短路径算法的加强,其本质还是递推

【ArcGIS Pro实操第一期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期:最小成本路径原理及实操案例 概述(Creating the least-cost path)1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径(Cost path)2.1.2 成本距离(Cost distance)2.1.2 路径距离(Path Distance) 2.2 案例: 参考 概述(Cre

[LeetCode] 64. Minimum Path Sum

题:https://leetcode.com/problems/minimum-path-sum/description/ 题目 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers

[LeetCode] 687. Longest Univalue Path

题:https://leetcode.com/problems/longest-univalue-path/description/ 题目 Given a binary tree, find the length of the longest path where each node in the path has the same value. This path may or may no

C#从入门到精通(22)—Path类的使用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家!人工智能学习网站 前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发上位机软件的过程中,有时候需要对文件的路径、文件名、扩展名进行操作,下面进行详细介绍: 1、合并路径 将盘符、文件夹、文件进行合并成最全的文件路径 st

【HDU】2807 The Shortest Path 最短路

传送门:【HDU】2807 The Shortest Path 题目分析:题目很简单,矩阵计算出两个城市的连通性,建边,然后每次询问求最短路回答(或者floyd预处理)。 当然暴力的代价是惨痛的,用堆优化+dij+输入优化最多800ms。 然后很好奇前面的是怎么跑的这么快的,看了别人写的题解才发现,原来他们是用了hash的方法将二维化为一维了,虽然可能会错误,但在出题人不是故意去卡的情