一、服务器弊端(1)

打印 上一主题 下一主题

主题 571|帖子 571|积分 1713

目录
1.路径遍历
1.1 通过路径遍历读取恣意文件
示例:含有文件遍历弊端​编辑
2.存取控制
2.1 什么是访问控制?
2.2 垂直权限提升
2.3 未受保护的功能
示例:一个未受保护的管理员面板,删除用户
2.4 未受保护的功能 - 续
示例:
2.5 基于参数的访问控制方法
示例:
2.6 水平权限提升
留意
实例 
2.7 水平到垂直的权限提升
 示例

学习工具:Web Application Security, Testing, & Scanning - PortSwigger
(以下部分知识内容由浏览器自带翻译翻译而来)
1.路径遍历

    路径遍历也称为目录遍历。这些弊端使攻击者可以或许读取运行应用程序的服务器上的恣意文件,包罗:


  • 应用程序代码和数据
  • 后端体系的凭据
  • 敏感的操纵体系文件
    在某些环境下,攻击者大概可以或许写入服务器上的恣意文件,从而允许他们修改应用程序数据或行为,并终极完全控制服务器。
1.1 通过路径遍历读取恣意文件

想象一下,一个表现待售商品图像的购物应用程序。这大概会使用以下 HTML 加载图像:
<img src="/loadImage?filename=218.png">
URL 采用参数并返回指定文件的内容。映像文件存储在磁盘上的位置。为了返回图像,应用程序将请求的文件名追加到此基目录,并使用文件体系 API 读取文件的内容。换句话说,应用程序从以下文件路径读取:loadImagefilename/var/www/images/
/var/www/images/218.png
此应用程序不实行针对路径遍历攻击的防御。因此,攻击者可以请求以下 URL 以从服务器的文件体系中检索文件:/etc/passwd
https://insecure-website.com/loadImage?filename=../../../etc/passwd
这会导致应用程序从以下文件路径读取:
/var/www/images/../../../etc/passwd
该序列在文件路径中有效,意味着在目录结构中提升一个级别。三个一连的序列从文件体系根级递增,因此实际读取的文件是:../..//var/www/images/
/etc/passwd
在基于 Unix 的操纵体系上,这是一个尺度文件,其中包罗在服务器上注册的用户的详细信息,但攻击者可以使用相同的技术检索其他恣意文件。
在 Windows 上,和 都是有效的目录遍历序列。以下是针对基于 Windows 的服务器的等效攻击示例:../..\
https://insecure-website.com/loadImage?filename=..\..\..\windows\win.ini
示例:含有文件遍历弊端


使用Burpsuite抓包

修改数据包并发送

2.存取控制

2.1 什么是访问控制?

访问控制是对有权执行操纵或访问资源的职员或内容应用约束。在 Web 应用程序的上下文中,访问控制依赖于身份验证和会话管理:


  • 身份验证确认用户是他们所说的人。
  • 会话管理可识别同一用户正在发出哪些后续 HTTP 请求。
  • 访问控制确定是否允许用户执行他们尝试执行的操纵。
    破坏的访问控制很常见,而且通常存在严重的安全弊端。访问控制的设计和管理是一个复杂且动态的问题,它将业务、构造和法律约束应用于技术实现。访问控制设计决议必须由人类做出,因此出错的大概性很高。
2.2 垂直权限提升

    如果用户可以访问他们不允许访问的功能,则这就是垂直权限提升。例如,如果非管理员用户可以访问管理员页面,他们可以在其中删除用户帐户,则这就是垂直权限提升。
2.3 未受保护的功能

    在最基本的环境下,当应用程序不对敏感功能实行任何保护时,就会发生垂直权限提升。例如,管理功能大概从管理员的欢迎页面链接,但不能从用户的欢迎页面链接。但是,用户大概可以或许通过浏览到相关的管理员 URL 来访问管理功能。
    例如,网站大概会在以下 URL 上托管敏感功能:
https://insecure-website.com/admin
    任何用户都可以访问此内容,而不仅仅是在其用户界面中具有指向该功能的链接的管理用户。在某些环境下,管理 URL 大概会在其他位置披露,例如文件:robots.txt
https://insecure-website.com/robots.txt
    纵然 URL 未在任何地方披露,攻击者也大概可以或许使用单词列表来暴力破解敏感功能的位置。
示例:一个未受保护的管理员面板,删除用户

1.在url中输入/robots.txt

  User-agent: *:这一行表现这个指令实用于所有的搜索引擎爬虫。* 是通配符,表现任何搜索引擎。
  Disallow: /administrator-panel:这一行表现搜索引擎爬虫不应该访问网站的           /administrator-panel 路径。也就是说,这个路径下的内容不会被搜索引擎索引到。
    这个文件的作用是帮助网站管理员控制哪些部分的内容可以被搜索引擎抓取和索引,从而保护一些敏感内容或不渴望被公开的部分。
访问/administrator-panel路径
得到管理员权限。
2.4 未受保护的功能 - 续

    在某些环境下,通过为其提供不太可预测的 URL 来隐藏敏感功能。这就是所谓的“隐蔽性安全”的一个例子。但是,隐藏敏感功能并不能提供有效的访问控制,因为用户大概会以多种方式发现混淆的 URL。
想象一下,一个应用程序在以下 URL 上托管管理功能:
https://insecure-website.com/administrator-panel-yb556
    攻击者大概无法直接猜到这一点。但是,应用程序仍大概将 URL 泄露给用户。URL 大概会在 JavaScript 中公开,该 JavaScript 根据用户的角色构建用户界面:
<script> var isAdmin = false; if (isAdmin) { ... var adminPanelTag = document.createElement('a'); adminPanelTag.setAttribute('https://insecure-website.com/administrator-panel-yb556'); adminPanelTag.innerText = 'Admin panel'; ... } </script>
    如果用户是管理员用户,则此脚本会向用户的 UI 添加一个链接。但是无论其角色怎样,包罗 URL 的脚本对所有效户都是可见的。
示例:

    一个未受保护的管理员面板。它位于不可预测的位置,但该位置在应用程序中的某处公开。通过访问管理员面板并使用它删除用户。
1.访问页面源代码

如果 isAdmin 被设置为 true,则会在 top-links 元素中动态添加一个指向 /admin-4x6g0a 的管理员面板链接。访问此链接
成功得到管理员权限。
2.5 基于参数的访问控制方法

    某些应用程序在登录时确定用户的访问权限或角色,然后将此信息存储在用户可控制的位置。这大概是:


  • 一个隐藏的字段。
  • 一个cookie。
  • 预设的查询字符串参数。
应用程序根据提交的值做出访问控制决议。例如:
https://insecure-website.com/login/home.jsp?admin=true https://insecure-website.com/login/home.jsp?role=1
这种方法是不安全的,因为用户可以修改他们无权访问的值和访问功能,例如管理功能。
示例:

     有一个管理员面板,用于识别使用可伪造 Cookie 的管理员。/admin
    通过访问管理员面板并使用它来删除用户。carlos
    您可以使用以下凭据登录到您本身的帐户:wiener:peter
   1.访问页面,用所给的用户名和密码登录账户


2.开启Burpsuite举行抓包
将Admin=false改为Admin=true
我们得到管理员面板链接,点击
此时我们就可以得到管理员权限删除用户
2.6 水平权限提升

    如果用户可以或许访问属于另一个用户的资源,而不是他们本身的该类型的资源,则会发生水平权限提升。例如,如果员工可以访问其他员工的记载以及他们本身的记载,则这就是水平权限提升。
    横向权限提升攻击大概使用与垂直权限提升类似的利用方法。例如,用户可以使用以下 URL 访问本身的帐户页面:
https://insecure-website.com/myaccount?id=123
    如果攻击者将参数值修改为其他用户的参数值,他们大概会得到对其他用户的帐户页面以及相关数据和功能的访问权限。
   留意

      这是不安全的直接对象引用 (IDOR) 弊端的一个示例。当用户控制器参数值用于直接访问资源或功能时,就会出现此类弊端。
      在某些应用程序中,可利用参数没有可预测的值。例如,应用程序大概使用全局唯一标识符 (GUID) 来标识用户,而不是递增的数字。这可以防止攻击者推测或预测其他用户的标识符。但是,属于其他用户的 GUID 大概会在引用用户的应用程序中的其他位置披露,例如用户消息或批评。
实例 


   此实验室在用户帐户页面上存在水平权限提升弊端,但使用 GUID 识别用户。若要办理实验问题,请找到 的 GUID,然后提交其 API 密钥作为办理方案。carlos
  您可以使用以下凭据登录到您本身的帐户:wiener:peter
  打开实验界面
 
这里表现其用户名
点击,此时我们可以获取到其用户ID,记取此ID

用所给的账号和密码登录我们的账户

将我们的ID更换为刚才生存的其他用户的ID,我们就可以看到其API秘钥,提交此秘钥,此实验结束。
2.7 水平到垂直的权限提升

    通常,水平权限提升攻击可以通过危害特权更高的用户来变化为垂直权限提升。例如,水平升级大概允许攻击者重置或捕获属于其他用户的密码。如果攻击者以管理用户为目的并粉碎其帐户,则他们可以得到管理访问权限,从而执行垂直权限提升。
    攻击者大概可以或许使用已针对水平权限提升形貌的参数窜改技术来访问其他用户的帐户页面:
https://insecure-website.com/myaccount?id=456
    如果目的用户是应用程序管理员,则攻击者将得到对管理帐户页面的访问权限。此页面大概会泄露管理员的密码或提供更改密码的方法,大概大概提供对特权功能的直接访问。
 示例

   此实验室具有效户帐户页,其中包罗当前用户的现有密码,并预添补在屏蔽输入中。
  要办理实验室问题,请检索管理员的密码,然后使用它删除用户。carlos
  您可以使用以下凭据登录到您本身的帐户:wiener:peter
   根据所给的账号和密码登录本身的账号,界面如下:

开启Burpsuite,在url中更改ID为adminstrator,点击update Password举行抓包

得到adminstrator账号密码,复制此Password,用此账号登录

此时便可以删除用户
到此,此实验结束。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表