level38[old]

2022. 3. 24. 02:00Site/Webhacking.kr

이번시간에는 level38을 풀어보겠습니다

공부하는 입장이니 틀린것 이있더라도 양해부탁드리겠습니다


소스코드를 보니 힌트같은게 있는것 같습니다

admin.php로 이동을하면 admin page가 나온다하니 일단 이동해보겠습니다

이동을 하니 admin으로 로그인을 하라고 뜹니다

admin으로 입력한후 로그인을 해보니 admin이 아니라며 차단당한것 같네요

root, user등 다양한 값을 넣어주어도 역시 작동이 안되었습니다

다시 admin.php로 이동을 해보니 log viewer에 제가 입력한 id와 ip번호가 누적되고 있네요

(가려진부분은 제 ip번호입니다)

입력할때마다 줄이바뀌면서 [ip번호:아이디값]이 출력되는것 같으니

[ip번호:admin]을 logviewer에 뿌려주면 해결이 될 것 같습니다...

접근은 아무값이나 입력후 줄을바꾼후 [ip번호:admin]을 입력하겠습니다

 

줄을 바꿀수있는 textarea를 이용하기위해 개발자도구에서 수정을 하였습니다

 

please를 넣어주고 줄을 바꾼뒤 ip주소:admin을 넣어주면

ip주소:please

ip주소:admin

으로 logviewer에 남기 때문에 클리어될것같습니다

 

cf)

풀고나서 찾아보니 문제의 목적은 CRLF Injection 기법인것을 확인했습니다

CRLF Injection : Carriage Return Line feed Injection의 약자로 각 개행문자를 의미하는 CR(\r) LF(\n)을 이용하여 HTTP Request 또는 Response를 분리하여 공격자가 의도한 동작을 수행시키는 공격 기법을 의미

-> ip주소:please\r\nip주소:admin

= ip주소:please

   ip주소:admin

 

CRLF injection에 대해 더 자세한 내용은 추후 여유가된다면 정리해서 올려볼생각입니다...

 

reference check : https://www.hahwul.com/cullinan/crlf-injection/

'Site > Webhacking.kr' 카테고리의 다른 글

level54[old]  (0) 2022.03.24
level36[old]  (0) 2022.03.24
level23[old]  (0) 2022.03.23
level39[old]  (0) 2022.03.23
level27[old]  (0) 2022.03.23