1.利用burpsuite扫描,得到搜索处有注入点记录下http请求放到 txt中。
2.然后sqlmap -r 扫描,跑数据库,管理员用户名xdcms121,密码md5解密得xdcms212.
3.御剑扫描后台得到后台路径/admin/login,登陆后找上传,发现系统设置有logo图片上传,试了下一句话上传,发现图片路劲不更新。找到幻灯片管理还有上传,但是依旧路径没有更新,
巨坑!!!!!!!。
4.尝试用burp的repeater观察文件上传的request和response,在reponse发现了返回的图片路径。尝试访问,可以访问到。
5.上传过滤了格式,图片无法备份成php。查到 通过/system/function/global.inc.php 的参数调用模块,upload 与system同级所以 ../../ 即可访问jpg图片。
url:
xxx.xxx.xxx/index.php?m=../../uploadfile/image/2017.........jpg
global.inc.php:
$m=safe_replace(safe_html(isset($_GET["m"]))) ? safe_replace(safe_html($_GET["m"])) : "content";$c=safe_replace(safe_html(isset($_GET["c"]))) ? safe_replace(safe_html($_GET["c"])) : "index";$f=safe_replace(safe_html(isset($_GET["f"]))) ? safe_replace(safe_html($_GET["f"])) : "init";//判断模块是否存在if(!file_exists(MOD_PATH.$m)){ showmsg(C('module_not_exist'),'/');}//判断类文件是否存在if(!file_exists(MOD_PATH.$m."/".$c.".php")){ showmsg(C('class_not_exist'),'/');}include MOD_PATH.$m."/".$c.".php"; //调用类//判断类是否存在if(!class_exists($c)){ showmsg(C('class_not_exist'),'/');}$p=new $c(); //实例化$p->$f(); //调用方法
5.菜刀连接url,发现连接不到,因为在后面自动加上了index.php,最后找到通过url后面加上%00截断后方index.php,成功连接。