zoukankan      html  css  js  c++  java
  • 渗透测试学习 二十八、WAF绕过详解

    大纲:

             WAF防护原理讲解

             目录扫描绕过WAF

             手工注入绕过WAF

             sqlmap绕过WAF

             编写salmap绕过WAF

             过WAF一句话编写讲解

             菜刀连接绕过WAF

             webshell上传绕过WAF

             提权绕过WAF

     

    WAF绕过原理详解

             知己知彼百战百胜

             了解WAF防护原理

             查看WAF防护位置

             熟悉防护规则

             了解防护机制

             查看拦截时间阀值

     

    目录扫描绕过WAF

             两种方式:

             1、修改客户端IP

             2、减慢扫描速度

             3、通过代理欺骗WAF

     

    手工注入绕过WAF

             搭建测试环境

             了解绕过原理

             熟悉常见绕过构造语句

             构造绕过测试环境

     

             搭建环境

             利用mysql客户端

             配置注入源码

             注入绕过方法

             1、大小写变种

             2、SQL注释

             3、URL编码

             4、空字节

             5、嵌套、剥离

             6、非标准入口点

             7、避开自定义过滤器

     

    使用注释

             union select 1,2,3 from admin

    注释完

             /**/union/**/select/**/1,2,3 from admin

             /**/un/**/io/**/n/**/sel/**/ec/**/t/**/ 1,2,3 from admin

    第二种注释

             /*!and*/ 1=2

     

    URL编码

             正常编码

             ‘为%27

             1=52f        *=%2a     %=%25

             /**/=%25 2f%25 2a*1

     

    空字节

             一些过滤器处理输入时,碰到拿到空字节就会停止处理。

    如:

    id=1%00and1=2

     

    嵌套剥离

             一些过滤器将用户的输入进行剥离敏感函数

             应对方法:
                       seleselectect

             剥离后

             select

     

    总结编写绕过语句

             利用注释

             /*^abc^*/

             包含关键字

             /*!/*!/*!union*/

             变换提交方式

             get->post方式或cookie

     

    sqlmap tamper利用

             symboliclogical.py

             space2mssqlhash.py

             appendnullbyte.py

    利用修改tamper绕过waf

            

             尝试编写过waf一句话

                       思路:

                       利用可变变量

                       $a=b         $b=c                   $$a=c

             利用函数

             利用判断语句

             利用编码

             <?php

             @eval($_POST[x]);

    ?>

    会拦截eval函数

    <?php

    @$_GET[a]($_post[x]);

    ?>

    a:动态的传参,传eval函数或assert等函数

     

    突破waf拦截连接菜刀

    用最新版的菜刀

    中国蚁剑

    过狗菜刀+中转脚本

     

    上传过waf

             上传突破禁止上传PHP脚本

             1、文件包含

             2、双文件上传突破限制

             3、修改上传参数

     

    提权过waf     

             通过程序读密码

             利用waf绕过神器

             利用exp读hash

             将用户添加到远程桌面组,并给目录降权

             用第三方软件提权

             system把安全狗服务停止,重启服务器

     

  • 相关阅读:
    FastAdmin 开发时对数据库进行版本管理 (非 think-migration)
    使用 mysqldump 备份时的一些参数
    软件开源后可能遇到的问题
    基于 FastAdmin 开发后台流程 (持续更新)
    FastAdmin 怎么把模块设置默认的首页?
    FastAdmin 离线安装 ueditor 出现 rule 错误
    Windows nginx php cgi-fcgi 配置 xdebug
    FastAdmin 插件刷新缓存出现 200 红色提示框解决 always_populate_raw_post_data
    参与开源项目给我带来了什么?
    为什么要求将问题发到社区?
  • 原文地址:https://www.cnblogs.com/Yuuki-/p/11834312.html
Copyright © 2011-2022 走看看