渗透测试1米5的女朋友给的站点

一开始拿到目标的站点 , 主站没找到可以利用的点
进行目标站点使用fofa进行c段查询 , 随机进行一个访问发现是tp的页面 。
找到其后台站点弱口令登陆成功(但是后台并没有什么功能点无法利用):
目录遍历
这个站点存在一些目录遍历文件
渗透测试1米5的女朋友给的站点
文章图片
image
然后就开始疯狂翻文件 , 看看能不能找到一些有用配置文件信息--
不出意外没有翻到有用的信息 , 就在此时走投无路没有其他思路的时候 , 偶然看到了一个公众号发的一篇文章(链接贴在下方):
里面提到KindEditor这个cms存在一个目录遍历漏洞 。
漏洞发生在file_manager_json.php , 这个文件是用来浏览已经上传的文件的
$php_path=dirname(__FILE__).'/';________________________________$root_path=$php_path.
'../attached/';________________________________if(empty($_GET['path'])){
$current_path=realpath($root_path).'/';
$current_url=$root_url;
$current_dir_path='';
$moveup_dir_path='';}
如果不存在attached目录 , realpath(current_path就为/也就是系统根目录 , 那么浏览文件时就可以看到/etc , /tmp , /var等文件夹了 。 虽然后面有禁止../的防护 , 但从根目录开始浏览防护就形同虚设了 。
回过头看看刚刚tp泄露的目录好像存在着kindeditor这个东西:
渗透测试1米5的女朋友给的站点
文章图片
构造payload进行遍历 , 成功找到此站点的备份源码 , 下载好进行代码审计:
渗透测试1米5的女朋友给的站点
文章图片
代码审计
classBaseControllerextendsController{
publicfunction__construct{
parent::__construct;
foreach($_REQUESTas$key=>$value){
$canshu.=$key.'='.$value.'&';
}
渗透测试1米5的女朋友给的站点】$canshu=trim($canshu,'&');
addlog(array('url'=>'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$canshu),'api-'.ACTION_NAME,'接口地址:');
addlog($_REQUEST,'api-'.ACTION_NAME,'接收参数:');
addlog($_FILES,'api-'.ACTION_NAME,'接收文件');
}
functionaddlog($arr,$name,$description){
error_log($description.':'.date('Y-m-dH:i:s').'----'.var_export($arr,true).'
',3,"./log/".date('Y-m-d')."-".$name.".php");
}
这里addlog添加路由的log , error_log将错误信息保存到定义的路径文件中 , 然后log文件又是以php结尾的 , 那我们构造的payload访问该控制器方法时 , 加一个不存在的路径就会将你输入的参数写入文件中 , 访问文件进行解析 。
payload:
payload:/index.php/Api/Base/a?search=
本地进行测试访问:
渗透测试1米5的女朋友给的站点
文章图片
可以看到本地已经生成log文件了 , 访问此log文件:
渗透测试1米5的女朋友给的站点
文章图片
成功getshell 。
【哈哈哈我是小帅皮】
渗透测试1米5的女朋友给的站点
文章图片