【web安全】RCE漏洞原理

前言

菜某的笔记总结,如有错误请指正。

RCE漏洞介绍

简而言之,就是代码中使用了可以把字符串当做代码执行的函数,但是又没有对用户的输入内容做到充分的过滤,导致可以被远程执行一些命令。

RCE漏洞的分类

RCE漏洞分为代码执行和命令执行两种

代码执行

概述:源代码能够把字符串当做代码运行

影响范围:能够做代码能够做的事情

注意事项:这个输入的代码要与源代码的语言相同,即源代码用的php写的就必须用php的语句。
命令执行

概述:源代码能够把字符串当做系统的命令执行

影响范围:可以做系统命令能够做的事情

注意事项:windows和linux的命令是不同的,需要先分辨一下对方系统。

系统的命令连接符

windows系统

|------|--------|----------------|
| 拼接符 | 实例 | 作用 |
| & | A&B | 无论A是否执行成功,都执行B |
| && | A&&B | A执行成功才执行B |
| | | A|B | a错误b就不执行 |
| || | A||B | A执行失败才执行B |

linux系统

&

;

&&

||

()

这个具体用到的时候对照一下吧

常常出现的位置

源代码,中间件,一些环境中。

毕竟开发工具要比做的成品更可能去执行系统命令。

可以遇到相关的cms等直接上网搜索公开的漏洞,如果碰到相应版本的直接干就行了。

RCE漏洞的检测

白盒:审计代码

黑盒:

1.漏洞扫描工具

2.找网上公开的漏洞

3.自己配置参数尝试

4.根据他的功能猜测他可能存在的位置

案例演示

本地自写的代码执行漏洞(PHP脚本)

源代码

打开网址

传入代码

执行成功

pikaqiu靶场命令执行实例

打开发现一个ping窗口,ping是系统指令,判断为执行系统命令

ping127.0.0.1尝试

但是发现仅仅输入ipconfig无法执行命令,所以利用命令拼接符拼接

命令执行成功

小补充

我们的一句话木马用的就是eval函数,实际上就是用一次次把我们输入的字符串转为代码执行。

相关推荐
重生之我是Java开发战士13 小时前
【Java SE】多线程(二):线程安全、synchronized、volatile与wait/notify详解
java·开发语言·安全
xixixi7777713 小时前
从“联网通行证”到“安全可信根”:AI-eSIM的硬件级安全底座正在重构物联网安全边界
人工智能·安全·ai·重构·大模型·通信
智慧医养结合软件开源13 小时前
可视化管控,赋能高效运营与专业展示
大数据·人工智能·安全·云计算·生活
百事牛科技13 小时前
Excel安全入门:如何设置和取消打开密码
windows·安全·excel
Bruce_Liuxiaowei14 小时前
OpenAI双杀_40亿部署公司+Daybreak安全AI_博客初稿
人工智能·安全·ai·大模型
kft131414 小时前
文件上传漏洞:我是如何绕过WAF实现getshell的
web安全
元拓数智14 小时前
AI Agent 时代,企业数据治理底座如何支撑智能应用的安全与效率
大数据·人工智能·安全·数据治理·nl2sql·自然语言查询
@insist12314 小时前
信息安全工程师-网络安全风险评估(上篇):框架、流程与量化基础
网络·安全·软考·信息安全工程师·软件水平考试
码农小白AI14 小时前
IACheck+AI报告审核赋能烟草尼古丁检测:当安全数据进入“高一致性审核时代”
人工智能·安全
艾莉丝努力练剑14 小时前
【Linux网络】Linux 网络编程:应用层自定义协议与序列化(3):网络计算器实现和守护进程
linux·运维·服务器·网络·c++·计算机网络·安全