目录
一、在vps安装docker和docker-compose
在阿里云创建ECS实例,使用Termius远程连接
这里可直接点击实例名,在"定时与自动化任务"菜单栏下安装docker:
在Termius中输入以下命令,安装docker-compose:
yum -y install docker-compose
安装成功,分别查看docker和docker-compose的版本:
二、 vulhub漏洞复现
2.1 tomcat
下载vuihub-master,启动tomcat。
docker-compose up -d
发现报错,将docker-compose.yml中的version改为2.1即可
修改后没有问题
查看正在运行的进程,正常。
2.2 weblogic
在vulhub靶场启动weblogic,浏览器打开http://IP:7001/console进入后台,通过弱口令weblogic:Oracle@123登录
浏览器打开【http://公网IP:7001/console/login/LoginForm.jsp】
,使用默认账密weblogic/Oracle@123登录:
访问【http://公网IP:7001/hello/file.jsp?path=/etc/passwd】
可成功读取passwd文件:
用Bp抓包SerializedSystemIni.dat和config.xml
http://公网IP:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
http://公网IP:7001/hello/file.jsp?path=config/config.xml
找到密钥,使用weblogic_decrypt.jar工具解密即可
2.3 apache 换行解析/drud RCE
先进入网页上传php文件,然后使用bp抓包,对.php进行修改在后面加一个空格,并在后面插入0A后成功上传
使用蚁剑连接
2.4 漏洞成因
在某些版本的Druid中,由于系统未对外部输入实施充分的验证与过滤机制,这为攻击者提供了可乘之机。他们能够通过精心构造的恶意请求,利用Druid的特定功能作为跳板,执行任意的JavaScript代码,进而实现对服务器的全面控制。
三、总结RCE漏洞的原理和利用条件及解决方案
RCE漏洞的原理
漏洞通常出现在服务器端或应用程序中。
攻击者可以利用特定的输入或命令来触发漏洞。
一旦触发,攻击者可能获得系统级别的权限。
利用条件
漏洞存在于可访问的接口或服务上。
攻击者能够提供恶意输入或命令。
系统配置不当或缺乏适当的安全措施。
防火墙或其他安全机制未能阻止攻击。
解决方案
安全编码:
使用安全的编程语言和框架。
实施输入验证和过滤。
避免使用危险函数,如eval()或exec()。
配置安全性:
限制文件权限和目录访问。
禁用不必要的服务和端口。
使用最小权限原则。
安全更新:
及时安装补丁和安全更新。
定期检查和评估系统安全状态。
监控和检测:
实施实时日志监控。
使用IDS/IPS系统检测异常活动。
设置告警机制以快速发现潜在威胁。
认证和授权:
实现强大的身份验证机制。
使用基于角色的访问控制(RBAC)。
定期审查和调整用户权限。
网络安全:
实施严格的入侵防御策略。
使用VPN和加密通信。
定期进行安全审计和渗透测试。
教育和培训:
提高开发人员的安全意识。
组织定期的安全培训和演练。
建立安全文化氛围。