Log4j 설치
Log4j 취약점을 테스트 해보고 싶어서 Log4j 를 설치하기로 했다.
최종적으로 위와 같은 폴더 구조가 될 것이다.
1. log4j-core, log4j-api 2.14.1 jar 파일 다운로드
https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.14.1/
https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.14.1/
위 경로에서 log4j-core와 log4j-api jar 파일을 다운로드한다.
Log4j 취약점이 있는 2.14.1 버전으로 다운로드 하였다.
2. WEB-INF/lib에 복사
간단하게 VSCode를 이용해서 만든거라 jar 파일을 수동으로 넣어줘야 했다.
먼저 WEB-INF/lib 폴더를 만들고 jar 파일을 넣는다.
3. apache-tomcat-10.1.33/lib에 복사
apache-tomcat 설치 폴더의 lib 폴더에도 jar 파일을 넣는다.
4. log4j2.xml 파일 만들기
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level: %msg%n" />
</Console>
<File name="File" fileName="../logs/app.log">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level: %msg%n</Pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Root>
</Loggers>
</Configuration>
WEB-INF/classes에 log4j2.xml 파일을 만든다.
apache-tomcat 설치 폴더의 logs 폴더에 app.log 라는 이름으로 로그가 쌓인다.
5. 톰캣 재시작
./tomcat 설치폴더/bin/shutdown.sh
./tomcat 설치폴더/bin/startup.sh
shutdown.sh으로 종료 후 시작을 해야 적용이 된다.
6. 로그 테스트
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<head>
<title>Document</title>
</head>
<body>
<%
java.util.Date today = new java.util.Date();
out.println("오늘 : " + today.toString());
%>
<%@ page import="org.apache.logging.log4j.LogManager" %>
<%@ page import="org.apache.logging.log4j.Logger" %>
<%
Logger logger = LogManager.getLogger("MyLogger");
logger.info("This is an info log message");
logger.error("This is an error log message");
%>
</body>
</html>
위와 같이 수정 후 URL 접근 하면
tomcat 설치폴더/logs/app.log에 로그가 쌓인다.
'보안공부 > 기타' 카테고리의 다른 글
Log4j 취약점 테스트-2 (0) | 2024.11.23 |
---|---|
Log4j 취약점 테스트-1 (0) | 2024.11.22 |
ldap 설치 (0) | 2024.11.18 |
JSP 테스트 (0) | 2024.11.15 |