一次失败的渗透记录....
前几天面试直接丢了一个ip,直接让我拿服务器权限....虽然没有成功拿下来,还是记录一下流程;
信息搜集情况有这些:
Thinkphp框架,mysql数据库,apache服务器
Nmap扫描开始了80,3306,8087,3389端口;
3306:hydra爆破 拒绝访问;
3389:爆破没结果..
8087:GIT备份泄露
几个坑点:
1.thinkphp,找了网上现有的漏洞,测试都是失败 浪费了好多时间.....
2.网站存在伪静态,像极了注入点,测试无果.....(还以为一个面试不会太难)
3.爆破....应该不存在这种事情!
git泄露,拿到部分源码,浏览源码发现下面的网站,会暴露sql错误
http://xxx/user/certification.html
接下来就是上burpsuite 构造payload;

最后拿到了管理员登陆账号密码, 寻找后台...... 无果;
写一句话进去,过滤了<>,or, select,双写+16进制编码可以绕,然后问题又来了!!!

running with the secure-file-priv.又没结果了....
(还有其他的地址接口调用会爆出sql错误,反正也没用)
继续看源码,api控制器里面有一个上传,用的是thinkphp自带的upload方法,百度一下,构建了上传
源码:
public function uploads_qrcode(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 512000 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->savePath = '/images/';
$info=$upload->upload();
$img_url = $info['file']['savepath'] . $info['file']['savename'];
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError() . "大小限制为500KB");
}else{// 上传成功
$this->success($img_url);
}
}
构建的上传:
<html> <body> <form action="http://xxx/api/uploads_qrcode" method="post" enctype="multipart/form-data"> <input type="file" name='file' onchange="selectImage(this);"/> <input type="submit" name="submit" value="提交"> </form> </body> </html>
白名单校验,图片头检测,时间规则重命名.
先上传正常图片,返回了地址

访问就提示没有,目录前面还有一个uploads,这个也搞了我好久.....
然后就是突破上传....
截断失败,解析失败,超长文件名不可行,双filename,双上传不行,Content-Disposition中的空格删除.PUT,都失败了.....
大概只有文件包含了. 审计看不出来,水平有限,才疏学浅.......
如果有其他思路的,麻烦大佬带带......

浙公网安备 33010602011771号