Bypass部分知识

Bypass部分知识

Upload:

        容器特性:

                Apache1.X/2.X  从后向前识别,直到可识别的扩展名  x.php.asd

                IIS6  目录为*.asp/*.asa等可被IIS动态执行的扩展名  /2.asp/1.jpg

                IIS7&7.5 / <=Nginx0.8.3  上传1.jpg  访问1.jpg/.php    

                Nginx 0.8.41 - 1.5.6 上传shell.php 访问shell.jpg%20.php

        操作系统特性:

                Windows会去掉尾部的.shell .php等

                shell.php::$DATD

        处理方法:

                检查文件扩展名

                文件内容

                文件contenttype

                图片标头

                黑名单:

                        asp 、php、jsp等

                        可通过fuzz上传不在黑名单的冷门扩展名

                        上传.htaccess

                        上传.user.ini

                白名单:

                        jpg、png、doc等

                        %00 web容器/系统特性绕过

                避开常用代码,使用混淆、冷门函数、反射机制等方法绕过

           其他绕过:

                双上传

                在boundary加一些字符

                在content-dispostition中添加字符

                超长文件名

                修改content-length

                文件名中夹杂小语种或非英语字符   

XSS:

        常规绕过:      

                scrscriptipt

                大小写绕过

                DOM XSS无视后端绕过

                替换为HTML实体编码

                AJAX中的响应为JSON可以考虑使用Unicode编码

                尝试使用POST或其他类型请求

                字符串拼接

                字符串反转

                利用web容器特性

                 参数污染

        '或"被转义:       

                宽字节逃逸

                String.fromCharCode

                jsfuck

                eval

                在标签属性中可以不使用

        空格被过滤:

                %0D

                %0A

                +

                标签中可用/

        限制长度:

                多段提交 part1:<script>/*  part2:*/a=1</script>

                <svg/οnlοad=aleret(1)>

                短域名:

                        https://wooyun.js.org/drops/%6E7%9F%AD%E5%9F%9F%E5%90%8D%E8%BF                          %9B%E5%68C%96%E59%8F6B2.html

                短链接://t.cn/xxxx

        <>被过滤:

                在可执行事件标签中或script 内无需绕过

                Unicode u003cu003e

SQL注入:

        特性:

                a=1&a='or'1'='1

                编码之后提交(不是所有)s%u0065lect

                使用multipart 方式提交

                sqlserver 可以使用分号;结束命令

                mysql可以使用内联注释/*!50000select*/

        绕过:

                宽字节

                二次注入

                /**/

                --

                #

                -- +

                特殊字符 如%00 %0d %0a

                空白字符:

                        SQLite3 0A 0D 0C 09 20

                        MySQL5 09 0A 0B 0C 0D A0 20

                        PosgresSQL 0A 0D 0C 09 20

                        Oracle 11g 00 0A 0D 0C 09 20         

                                       MSSQL01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,                         18,19,1A,1B,1C,1D,1E,1F,20

                union(slect)

                select all{x users}from{x ddd}

                超长注入命令

                插入emoji / 小语种文字等字符

                使用sqlmap tamper

                一些常用注入关键字

                使用冷门函数语法

                科学计数语法 如 8e0union

                绕过云WAF ,找到真是IP注入

        冷门:

                添加一个换行符在第一行:
                GET /login HTTP/1.1

                Host: favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                用小写:

                get /login HTTP/1.1

                Host: favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                在方法之前加TAB:

                        GET /login.php HTTP/1.1

                Host: favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                GET /login.php?pam_param=test1&pam[param=test2&pam%5bparam=test3

                使用绝对URL:

                GET http://localhost/login.php HTTP/1.1

                Host: favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                双HOST头:

                GET /login.php HTTP/1.1

                Host: favoritewaf.com

                Host:localhost
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                小写host:

                GET /login.php HTTP/1.1

                host: favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                去掉HOST的空格:

                GET /login.php HTTP/1.1

                Host:favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                在HOST中加一个TAB:

                GET /login.php HTTP/1.1

                Host:        favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;

                Windows NT)

                Content-Type加一些字符:

                POST /login.php HTTP/1.1

                Host: favoritewaf.com
                User-Agent: Mozilla/4.0(compatible; MSIE5.01;Windows NT)
                Content-Type: application/another-text/+++x-www-form-urlencoded
                hello=world

                multipart插入脏数据:
                

                Content-Type: multipart/form-data; boundary=x

                        --x
                        Content-Disposition:
                        test1;
                        --x
                        test2;
                        --x--
                        test3;
                        name="hello"
                        world

                   Transfer chunked攻击:

                    Content-Type: applicationlx-www-form-urlencoded
                    Content-Length: 0
                     Transfer-Encoding: chunked
                      3
                       hel
                        3
                        lo=
                        3
                        wor
                        2
                        ld
                        0

结尾:部分Bypass,不足之处还请见谅。

                     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值