小迪Web自用笔记58

Rce命令执行代码执行漏洞。

代码执行转化为命令执行。

Eval后面直接输入system包含

也可以将命令转换为代码,开启PHP环境直接写入。

命令执行漏洞可以反弹,让他把数据包交到另一个服务器上,接收解析,代码执行可以写恶意脚本。

后门执行就是代码执行漏洞原理。

点击进入的时候,它就会触发一串代码,然后执行代码。

代码执行,他会把后面的你输入的代码给执行了。然后你连接就可以连接上,和后门传递连接是一码事。

直接在你电脑里面操作,然后写一个文件进去。

*还有Linux操作系统绕过也挺有意思的(有空学一下)

仅限于命令执行,而且是Linux内核,如果是文件上传的话,首先你得能利用文件上传漏洞调取Cmd才能用这些绕过。

直接回答:是的,文件上传漏洞本身不一定能直接调用系统命令行,但它通常是攻击者获得系统命令执行权限的"垫脚石"和关键一步。

简单来说,文件上传漏洞为攻击者提供了一个"入口",让他们可以将一个恶意的"工具"或"指令集"放到你的服务器上。然后,他们需要找到一种方法让服务器"运行"这个工具,从而调用系统命令行。

下面我们来详细分解这个过程和几种典型情况:

  1. 最直接的情况:上传可执行文件

如果服务器配置不当,允许上传如 .exe、 .sh、 .py 等可执行文件,并且知道这些文件的存放路径,攻击者理论上可以直接通过URL访问并执行它们。但在Web应用中,这种情况相对少见,因为Web服务器通常不会直接执行任意上传的可执行文件。

  1. 最常见且危险的情况:上传Webshell

这是文件上传漏洞导致命令执行的最主要途径。攻击者会上传一个特殊的脚本文件,这个文件本身就是一个Web页面,但包含了执行系统命令的代码。这种文件被称为 Webshell。

攻击流程:

  1. 发现漏洞:攻击者找到一个存在文件上传漏洞的网站(例如,可以上传图片,但未对文件类型进行严格校验)。

  2. 上传Webshell:攻击者将一张图片与Webshell代码结合(通过修改文件头等方式绕过检查),或者直接上传一个如 shell.php 的文件。

  3. 访问Webshell:攻击者通过浏览器访问这个上传成功的Webshell文件(例如 http://目标网站/uploads/shell.php)。

  4. 执行命令:Webshell被服务器端的PHP引擎解析执行,攻击者就可以通过它向服务器发送任意系统命令。

Webshell示例(PHP):

一个最简单的PHP Webshell如下:

```php

<?php system($_GET['cmd']); ?>

```

· 攻击者上传这个文件为 cmd.php。

· 然后访问:http://目标网站/uploads/cmd.php?cmd=whoami

· 服务器会执行 whoami 命令,并将结果返回给攻击者的浏览器,告诉攻击者当前Web服务器运行的用户身份。

通过这个简单的接口,攻击者可以执行 ls、dir、cat、wget、curl 等任何系统命令,完全控制服务器。

  1. 利用其他漏洞组合攻击

有时,单独的文件上传漏洞可能无法直接执行命令,但可以与其他漏洞结合,形成更强大的攻击链。

· 与服务端模板注入(SSTI)结合:如果上传的文件内容会被服务器的模板引擎解析(例如,上传一个包含恶意模板代码的配置文件),攻击者可能通过模板语法执行系统命令。

· 与XXE漏洞结合:如果上传的是XML文件,并且服务器会解析该XML,可能利用XXE漏洞读取系统文件或执行命令。

· 与解析漏洞结合:著名的服务器解析漏洞,如IIS 6.0的目录解析漏洞(/upload/test.asp;.jpg 会被当作ASP文件执行)、Apache的解析漏洞(test.php.jpg 在某些配置下会被当作PHP执行)等,可以让攻击者即使上传了图片格式的文件,也能让服务器以脚本方式执行它。

  1. 利用应用程序本身的功能

某些应用程序的功能本身就需要调用系统命令。例如,一个图像处理网站可能需要调用 ImageMagick 的命令行工具来处理图片。如果攻击者能上传一个精心制作的"图片"文件,该文件实际上是一个攻击 ImageMagick 本身漏洞的恶意文件(如著名的ImageTragick漏洞),那么当应用程序去处理这个图片时,就会触发漏洞,执行攻击者预设的系统命令。

总结与防御

核心要点:

· 文件上传漏洞本身 ≠ 命令执行。

· 文件上传漏洞 + 文件被执行的可能性 = 命令执行的高风险。

防御措施:

为了杜绝通过文件上传漏洞导致的命令执行,必须采取纵深防御策略:

  1. 白名单验证:只允许上传指定的、安全的文件类型(如 .jpg, .png),而不是黑名单。

  2. 重命名文件:为上传的文件生成一个随机的文件名,并加上正确的后缀,避免攻击者直接访问到原文件。

  3. 控制存储路径:将上传的文件存储在Web根目录之外,防止通过URL直接访问。如果必须Web访问,应通过专门的文件服务或脚本进行读取,而不是直接执行。

  4. 设置严格的权限:确保上传目录没有执行权限(例如,在Apache中可以使用 .htaccess 设置 php_flag engine off)。

  5. 检查文件内容:对图片等文件进行二次渲染或内容检查,确保其是有效的、无害的文件。

  6. 使用安全框架/库:使用成熟的安全库来处理文件上传,避免自己实现时产生逻辑漏洞。

总之,文件上传漏洞是一个非常严重的威胁,它就像是为攻击者打开了一扇"后门",使得后续的代码执行和系统控制成为可能。

*操作系统挺有意思的。

*特性

这是一个在 Python 开发环境(PyCharm) 中运行的脚本( rce-xor.py ),主要用于测试 远程命令执行(RCE)漏洞 以及 绕过安全检测 的技术。

核心功能拆解

  1. 命令执行:

脚本中调用了 system 函数(从输出 [+] your function: system 可知),并执行系统命令 ipconfig (用于查看网络配置,常见于 Windows 系统)。

这是 远程命令执行(RCE) 的典型行为------通过漏洞让目标系统执行攻击者指定的命令。

  1. 异或编码(XOR)混淆:

截图中高亮的长字符串(如 ("%08%02%08%03%05%0d"^"%7b%7b%7b%7c%60%60")("%09%0b%03%0f%0e%06%09%07"^"%60%7b%60%60%60%60%60") )是经过 异或(XOR)编码 处理的恶意代码。

  • 作用:异或编码可以打乱原始代码的特征(比如常见的恶意函数名、关键字),使其看起来像随机字符,从而绕过 WAF(Web 应用防火墙) 或杀毒软件的"特征码检测",达到 混淆和免杀 的效果。

  • 原理:异或运算具有可逆性( A XOR B XOR B = A ),攻击者可以预先对恶意代码进行异或加密,在目标系统执行时再解密还原,以此逃避检测。

场景推测

这种脚本通常用于 渗透测试 或 漏洞验证 场景:

  • 安全研究员会用它测试目标服务器是否存在文件上传、代码注入等可导致 RCE 的漏洞。

  • 通过异或编码混淆 payload,验证能否绕过服务器的安全防护(如 WAF、杀毒软件),成功执行系统命令。

简单来说,这是一套 "用编码混淆技术包装恶意命令,测试目标系统是否能被远程控制" 的工具脚本。

异或运算无字符rce漏洞。

又是无回显的问题,一个直接拼一下目标网站看看能不能拼通,另一个把文件写进去看看能不能访问。

还有一种绕过是把真实参数代码传递给变量。

cms一个东西可以绕过就可以挖。

白盒,代码审计。

黑盒,思路揣测。

找到符合它代码逻辑的地方猜测。

相关推荐
牢七2 天前
小迪web自用笔记55
web app
牢七2 天前
小迪自用web笔记53
web app
牢七3 天前
小迪web自用笔记54
web app
牢七3 天前
小迪Web自用笔记52
web app
牢七4 天前
小迪web自动笔记50
web app
牢七4 天前
小迪web自用笔记49
web app
牢七4 天前
小迪web自用笔记48
web app
牢七5 天前
小迪web自用笔记47
web app
牢七6 天前
小迪web自用笔记44
web app