본문 바로가기
해킹 공부/웹해킹

CR-LF INJECTION

by zzzmilky 2020. 9. 23.

 

 

 

 

Log injection 문제. log injection이 뭔지 모르기에 직접 부딪혀본다. 소스를 본다.

 

 

 

 

소스를 보면 주석으로 admin.php로 가라고 되어있다.

 

 

 

 

admin.php페이지는 log viewer을 보여준다. admin으로 로그인하라고 되어있다. 그래서 admin을 입력하고 login버튼을 눌렀지만 you are not admin이라고 한다.

 

 

 

 

좌절하고..admin대신에 임의의 문자를 넣어서 login을 했더니 admin.php 페이지에는 ip주소와 함께 내가 썼던 값들이 적혀있었다. 로그는 위에서 아래로 적혀나갔다.

 

 

 

 

고민하다가, 직접 admin만 입력할 수 없으면, 저번 문제처럼 임의의 거짓된 정보를 넣고 다음에 admin을 넣으면 된다고 생각했다. injection 문제들은 이렇구나

 

 

 

그래서 input 박스를 textarea로 바꿔서 엔터입력이 가능하게끔해 두번째 줄에는 아이피 주소와 admin을 넣어서 문제를 풀 수 있었다. 


이 문제는, 알고보니 CR-LF injection 기법을 사용해서 푸는 문제였다고 한다...근데 이 기법이 정확히 뭔지 몰라서 함 찾아보았다. (아 그리고 input 박스를 굳이 textarea로 바꾸지 않아도 개행문자(\r\n)을 붙이면 줄바꿈 문자를 뜻한다고 한다.)

owasp.org/www-community/vulnerabilities/CRLF_Injection

 

CRLF Injection | OWASP

CRLF Injection on the main website for The OWASP Foundation. OWASP is a nonprofit foundation that works to improve the security of software.

owasp.org

 

읽어보니 CR(\r)은 Carriage Return을 의미하고, LF(\n)은 Line Feed를 의미하는데, 윈도우에는 이 둘을 함께 사용해 줄바꿈을 할 수 있고, 리눅스에서는 LF만 필요하다고 한다. HTTP 프로토콜에서도 CR-LF가 항상 사용된다고 한다. 

 

CRLF Injection이 사용될 수 있는 예시가 1) log injection 2)response splitting인데,

log injection의 경우 우리가 방금 풀었던 문제에 해당되고, 

reponse splitting(HTTP 응답분할)은, CRLF가 injected되면 HTTP response를 만들어 캐시를 조작할 수 있는 기법이라고 한다...(문제를 풀면서 차차 알아가기로 한다...) 

앞으로 왠지 도움이 될 것 같은 링크,,..:

www.acunetix.com/websitesecurity/crlf-injection/

'해킹 공부 > 웹해킹' 카테고리의 다른 글

포트포워딩(port forwarding)  (0) 2020.10.02
SMTP/ Mail header injection  (0) 2020.10.01
LFI 취약점, php wrapper  (0) 2020.09.30
쿠키 변조, encoding  (0) 2020.09.29
SQL INJECTION  (0) 2020.09.22

댓글