C10-04-1-历史漏洞环境搭建和练习

一、Tomcat PUT 方法任意写文件漏洞(CVE-2017-12615)

1.1漏洞原理

  Apache Tomcat 7.0.0版本至7.0.79版本存在远程代码执行漏洞。当上述版本的Tomcat启用HTTP PUT请求方法时,远程攻击者可以构造恶意请求利用该漏洞向服务器上传包含任意代码执行的jsp文件,并被服务器执行该文件,导致攻击者可以执行任意代码。

  详细说明参考:https://www.cnnvd.org.cn/home/loophole

1.2搭环境:

docker pull cved/cve-2017-12615

[root@centos7 c10]# docker run -d -p 8083:8080 cved/cve-2017-12615

1.3 burp-HTTP抓包测试:

burp抓包简单配置:

  Burp配置代理:proxy-->options-->设置代理127.0.0.1:8082

  火狐浏览器配置代理:设置-->网络设置-->手动设置代理:127.0.0.1:8082

 

burb简单使用:

  Proxy菜单:

    intercept:on|off

 

  操作:intercept is on; 火狐浏览器访问10.0.0.104:8083

     

  右键:Send to Repeater

  

  手动修改http请求方法为OPTIONS:send

   

1.4 POC-漏洞利用的代码证明之通过shell执行命令

  Shell执行效果如下:

  

1.5  webshell图形化工具-蚁剑

         


 

二、Struts

 S2-048 远程代码执行漏洞(CVE-2017-9791)

2.1 漏洞原理

  影响版本:Apache Struts 2.3.x系列中启用了struts2-struts1-plugin插件的版本都在其影响的范围内。

  漏洞原理:该漏洞主要问题出在struts2-struts1-plugin这个插件包上。这个库的主要作用就是将struts1的action封装成struts2的action以便它能在strut2上运行使用。而由于 struts2-struts1-plugin 包中的 “Struts1Action.java” 中的 execute 函数可以执行OGNL表达式且能够调用 getText() 函数,而 getText() 函数的参数输入点又可以被用户直接控制,从而导致攻击者可以直接控制该点,构造恶意代码并执行从而实现RCE攻击。

2.2 搭环境

  [root@centos7 c10]# docker run -d -p 8084:8080 piesecurity/apache-struts2-cve-2017-5638

  前台访问如下:

    这个环境是直接下载的struts-2.3.32的showcase,部署在tomcat-8.5下。环境启动后,访问http://your-ip:8081/showcase/ 即可查看到struts2的测试页面。

  

 

2.3 OGNL表达式漏洞利用证明

  触发OGNL表达式的位置是 Gangster Name 这个表单。

  输入 ${8*8} 即可查看执行结果(剩下两个表单随意填写):表达式结果在页面上直接显示了

    |


 

三、JBoss

JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)

3.1 漏洞原理

0x01 漏洞简介

  该漏洞为 Java 反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了攻击者可以在服务器上执行任意代码。

0x02 漏洞版本

  漏洞影响5.x和6.x版本的JBoss。

0x03 漏洞原理

  JBOSS Application Server是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。

Java序列化:把Java对象转换为字节序列的过程,便于数据进行保存、传输。(类比通用文本格式 CSV、XML文本)

Java反序列化:把字节序列恢复为Java对象的过程,以实现函数、对象的调用,完成代码承载的功能。
序列化和反序列化本身属于正常的功能并不存在问题,问题在于,如果Java应用对于用户输入,即不可信数据
做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的对象,非预期的对象在调用
过程中就有可能带来任意代码执行。

3.2搭环境

  [root@centos7 c10]# docker run -d -p 8085:8080 hackingpub/cve-2017-12149

  页面访问如下:

  

3.3 JBoss反序列漏洞验证

  hackingpub/cve-2017-12149漏洞容器,

  

 

四、使用fcsan、Goby、dirsearch对虚机环境扫描

4.1 fcsan扫描结果

  存活探测,服务端口、漏洞扫描等

  

4.2 Goby扫描结果

  服务端口、应用类别、操作系统类别、潜在漏洞扫描等,漏洞可验证

   

4.3 dirsearch扫描结果

  目录资源扫描等

  

 

 注意事项:

    使用文章涉及工具扫描未经授权的目标是非法的.

    文章涉及工具仅可用于研究使用,切勿用于非法犯罪活动.

posted @ 2024-09-10 08:46  起点·漫步前行  阅读(41)  评论(0)    收藏  举报