集中实习第八天

一、在vps安装docker和docker-compose

docker

docker-compose

二、vulhub中的漏洞复现

tomcat

漏洞成因

Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下。其中,欲访问后台,需要对应用户有相应的操作权限。

Tomcat7+权限分为:

  • manager(后台管理)
    • manager-gui 拥有html页面权限
    • manager-status 拥有查看status的权限
    • manager-script 拥有text接口的权限,和status权限
    • manager-jmx 拥有jmx权限,和status权限
  • host-manager(虚拟主机管理)
    • admin-gui 拥有html页面权限
    • admin-script 拥有text接口权限

通常是在conf/tomcat-users.xml文件中配置用户的权限,而用户tomcat拥有上述所有权限,密码是tomcat。

正常安装的情况下,tomcat8中默认没有任何用户,且manager页面只允许本地IP访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击

三、 总结RCE漏洞的原理和利用条件及解决方案

原理

RCE漏洞通常发生在应用程序将用户输入作为代码执行的情况下。以下是几种常见的导致RCE的情景:

  1. 命令注入:应用程序在执行系统命令时,错误地将用户输入作为命令的一部分,导致攻击者可以注入恶意的命令。
  2. 脚本注入:当应用程序执行脚本语言(如PHP、Python)代码时,错误地将用户输入嵌入到脚本中,从而执行攻击者控制的代码。
  3. 服务端请求伪造(SSRF):通过 SSRF,攻击者可以诱导服务器执行远程代码。

利用条件

要成功利用RCE漏洞,通常需要以下条件:

  1. 输入验证不足:应用程序没有正确地验证或过滤用户输入。
  2. 执行环境:服务器上需要有可以执行代码的环境,例如有特定语言的解释器或编译器。
  3. 权限:执行代码的用户账户需要有足够的权限来对系统造成影响。

解决方案

为了防范RCE漏洞,可以采取以下措施:

  1. 输入验证

    • 对所有用户输入进行严格的验证,只接受预期格式的输入。
    • 使用白名单来限制输入,避免执行不必要的命令或脚本。
    • 使用强类型语言和框架,减少类型转换可能带来的风险。
  2. 参数化命令

    • 使用参数化的方式执行系统命令,避免直接将用户输入拼接到命令中。
  3. 最小权限原则

    • 运行应用程序的服务账户应该只拥有执行必要操作的最小权限。
    • 使用容器化或虚拟化技术来限制应用程序的执行环境。
  4. 安全配置

    • 确保服务器和应用程序的安全配置正确,关闭不必要的功能和服务。
    • 定期更新和打补丁,修复已知的安全漏洞。
  5. 错误处理

    • 避免在出错时泄露敏感信息,例如系统路径、堆栈跟踪等。
  6. 代码审计

    • 定期进行代码审计,寻找潜在的安全漏洞。
    • 使用自动化工具来检测代码中的安全缺陷。
  7. 安全培训

    • 对开发人员进行安全编码的培训,提高他们对安全漏洞的认识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值