C11
作业1
1、使用Burp抓包判断:在浏览器输入www.baidu.com,回车之后到访问成功,客户端一共发送了几个请求数据包?
答:4
作业二
2、练习Tomcat PUT方法任意写文件漏洞(CVE-2017-12615),提供蚁剑连接成功截图
一、Tomcat
Tomcat PUT 方法任意写文件漏洞(CVE-2017-12615)
Tomcat版本:7.0.0-7.0.79、8.5.19
1、下载漏洞
docker pull docker.io/cved/cve-2017-12615
通过dockers下载版本漏洞
2、通过burp抓包
加入shell脚本
更改上传方式PUT
3、访问是否成功
如果返回报错看状态码,空白标识成功,如果不确定也可以抓包看状态码
4、执行攻击
一般执行什么参数都会加入“?”作为执行符;
如百度搜索,查询等;
5、通过“蚁剑”攻击攻击连接
抓包上传POC
6、使用“蚁剑”攻击
作业三
3、练习S2-048 远程代码执行漏洞(CVE-2017-9791),提供命令执行截图
1、docker安装
docker pull docker.io/piesecurity/apache-struts2-cve-2017-5638
2、漏洞介绍
这个环境是直接下载struts-2.3.32的showcase,部署在tomcat-8.5下,环境启动后,访问http://your-ip:8081/showcase/ 即可查看到struts2的测试页面。
3、启动靶场
docker run -d -p 8081:8080 piesecurity/apache-struts2-cve-2017-5638
4、访问ip+8081端口
5、触发漏洞
触发OGNL表达式的位置是Gangster Name表单
输入${1*1}即可查看执行结果
作业四
4、练习JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149),提供命令执行截图
1、Jboss漏洞介绍
该漏洞为Java反序列化错误类型,存在于jboss的Httplnvoker组件中的ReadOnlyAccessFilter过滤器中,该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了攻击者可以在服务器上执行代码。
2、漏洞原理
Jboss application server是一个基于J2EE的开放源代码的应用服务器,jboss代码遵循LGPL许可,可以在任何商业应用中免费使用。
知识点:
1、Java序列化:吧Java对象(函数、程序、参数等)转换为字节(文本)序列的过程,便于数据进行保存、传输;(格式、底层)如果不序列化直接复制粘贴,可能无法允许,可能英文底层问题或者格式的问题导致无法允许,这就是为什么要序列化
2、Java反序列化:吧字节序列恢复Java对象的过程,以实现函数、对象的调用,完成代码承载的功能;
3、序列化和反序列化本身属于正常的功能并不存在问题,问题在于,如果Java应用对于用户输入,即不可信数据做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的对象,非预期的对象在调用过程中就可以带来任意代码执行。
3、通过jboss检查是否存在漏洞
Java –jar(jar如果双击打不开可以通过命令执行打开)
输入目标地址,点击检查