docker-compose和docker
Vulhub漏洞及复现
Weblogic弱口令/任意文件读取
弱口令
直接从字典库中发现密码
账号:weblogic
密码:Oracle@123
任意文件读取
本环境存在一个任意文件读取的漏洞,weblogic密码使用AES加密,对称加密可解密,所以只需要找到用户的密文与加密时的密钥即可,而这两个文件这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml。
用Bp抓包SerializedSystemIni.dat
将返回包的乱码Copy to file,并命名为SerializedSystemIni.dat,得到
同样的使用bp抓取172.16.2.174:7001/hello/file.jsp?path=config/config.xml,获得加密后的管理员密钥
使用vulhub中的解密工具,得到密码
Apache druid/换行解析
Druid RCE
将漏洞的请求包使用bp抓取
构造readme中提供的请求包,请求包中执行了请求用户id的命令,结果返回。
换行解析
Apache在2.4.0-2.4.29版本中存在一个解析漏洞。程序在解析PHP时,如果文件名最后有一个换行符x0A,apache依然会将其当成php解析,但是在上传文件时可以成功的绕过黑名单。
使用BP构造
在hex界面中,加入0a
send数据包,得到返回
访问目录,注入成功
tomcat弱口令/后台文件上传Getshell
弱口令
靶场中访问界面,点击右边的Manager App
存在弱口令
用户名:tomcat
密码:tomcat
文件上传
存在文件上传漏洞,将带有shell脚本的war包上传
构建带有shell脚本的war包,上传
上传后可以访问到shell脚本的目录
RCE漏洞的原理和利用条件及解决方案
原理
输入验证不足:
应用程序未对用户输入进行严格验证,导致恶意数据被执行。
不安全的代码执行函数:
使用不安全的函数或方法执行动态代码,如 eval、exec、system 。
命令注入:
攻击者通过操控应用程序的输入参数,将恶意命令注入到系统命令中执行。
代码注入:
在应用程序的代码中注入恶意代码,例如在PHP中通过字符串拼接生成恶意代码。
配置错误:
服务器或应用程序配置错误,允许攻击者通过特定的请求执行代码。例如允许用户上传包含shell脚本的war包
利用条件
输入点暴露:
系统或应用程序暴露了可以接受用户输入并执行的点,如表单、API接口或参数。
执行环境:
应用程序或系统中存在不安全的代码执行环境,如不受限制的eval、system等函数。
权限控制缺失:
应用程序没有适当的权限控制,允许用户执行本应受限制的操作。
文件上传功能:
允许用户上传文件且未对文件类型或内容进行有效验证,攻击者可以上传并执行恶意脚本。
配置问题:
配置文件或服务器设置不当,例如,开启了调试模式或允许远程代码执行的配置选项。
解决方案
添加白名单或者黑名单的方式:
使用白名单或黑名单方法来验证输入数据。
不安全编码屏蔽:
屏蔽不安全的代码执行函数(如 eval、exec)。
限制权限:
运行应用程序和脚本的权限应最小化,避免使用过高权限的账户执行操作。
口令加密:
避免弱口令漏洞
代码审计与安全测试:
定期进行代码审计和安全测试,发现并修复潜在的RCE漏洞。
日志记录与监控:
实施日志记录和实时监控,检测异常行为并及时响应潜在的攻击。