题目出处:首页 - Bugku CTF
✨打开链接如下所示!!!
✨一片空白,什么都没有,好多人反应是环境的问题,但是题目中有描述,这段肯定是导火索!!!
$poc="a#s#s#e#r#t"; //定义变量poc
$poc_1=explode("#",$poc); //将poc按照"#"分割成数组poc_1
//poc_2是由poc_1的数组元素进行拼接,也就是assert,简而言之,就是poc_2函数是个assert函数
$poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];
//传入一个名为S的参数,作为poc_2de内容,也就等价于是函数assert的内容
$poc_2($_GET['s'])
explode函数是PHP中用于将字符串按照指定的分隔符分割成数组的一个内置函数。
“过狗”指的是绕过网络安全产品如安全狗的检测,成功上传并执行一句话木马文件的技巧。
✨现在我们知道要给系统传一个名为s的参数!!!
- system函数
- 功能描述:
system
函数用于在PHP中执行系统命令。- 安全风险:
system
函数的使用可能会带来安全风险,因为它允许执行任何 shell 命令,这可能被恶意利用来执行不当的命令或攻击。- system(C/C++函数)_百度百科
- whoami命令
- 命令作用:
whoami
是一个系统命令,用于显示当前登录用户的用户名。- 操作系统支持:这个命令在多数类Unix系统及某些版本的Windows操作系统中可用。
- 通常用于查看当前 shell 进程所关联的用户标识
- https://www.cnblogs.com/suv789/p/17507584.html
✨所以可以查看一下当前登录的用户名啦!!!
✨显示当前用户内容了,说明执行system函数是一个正确的方法!!!
✨现在就让我们继续执行并要求遍历它!!!
✨发现里面有两个文件,一个.txt,一个.php文件,我们可以直接打开这个文件进行查看里面的内容!!!
✨显然,我们得到了flag!!!