[webhacking.kr] old-38번 문제풀이 | CRLF Injection취약점

2023. 11. 12. 19:01워게임/webhacking

 

old-38번 문제를 풀어보겠다.

LOG INJECTION이란 문구과 로그인 입력값을 받는 페이지가 나온다.

webhacking.kr old-38번

 

admin을 입력하고 로그인을 시도하면

webhacking.kr old-38번

 

you are not admin이란 글이 출력된다.

 

webhacking.kr old-38번

 

로그인 페이지의 숨겨진 admin.php페이지를 주석에서 발견했다.

접속해보자.

 

log viewer가 나오면서 admin으로 로그인하라는 문장이 출력된다.

 

webhacking.kr old-38번

 

몇 번 더 로그인 시도를 해보고 admin.php 페이지를 접속해보니

log viewer라는 해석대로 로그인 시도했던 IP와 입력값을 출력해주는 로그를 볼 수 있다.

(모자이크 된 부분은 IP이다.)

 

위에서 아래로 순서대로 로그가 남는 것을 보니

CRLF 개행을 이용해서 admin으로 로그인한 로그를 남길 수 있을 것 같다.

 

CRLF취약점은 https://itpop.tistory.com/21 에 정리해 두었다.

 

[웹 취약점]CRLF 취약점(HTTP 응답 분할 공격)

CRLF(Carriage Return Line Feed)란? CR(Carriage Return: \r): 커서의 위치를 현재 줄의 맨 앞으로 보내는 개행 문자 LF(Line Feed: \n): 커서를 다음 행으로 옮기는 개행 문자 이 둘의 결합으로 쉽게 말해서 키보드의

itpop.tistory.com

 

 

webhacking.kr old-38번

 

로그인 입력값을 input에서 textarea로 변경해주고

 

webhacking.kr old-38번

IP와 admin을 추가로 입력해준다.

 

webhacking.kr old-38번

다시 admin.php 페이지로 접속 시 해당 문제를 풀 수 있다.

 

webhacking.kr old-38번

 

Burp로 넘어가는 요청값을 확인해 보니 %0D%0A로 개행문자가 정상적으로 넘어가는 것을 확인할 수 있었다.