Wargame/Webhacking.kr

webhacking.kr - old 38 (Log Injection)

G_OM 2024. 3. 13. 14:26

 

 

 

 

문제 화면을 보면 'LOG INJECTION'이라고 나와있다.

 

코드를 한번 봐보자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

먼저 admin.php 한번 접속해보자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

admin.php를 접속했더니 admin으로 로그인이 필요하다고 한다. 

 

그럼 전 페이지로 돌아가 Login 실험을 해보자.

 

 

 

 

 

 

 

 

 

 

아무렇게나 넣어봤더니 출력해 주는 거는 

 

'현재 ip:입력한 이름' 이런 식으로 출력되었다.

 

 

 

 

 

 

 

앞에서 봤듯이 줄 바꿈이 발생하고 있다

 

줄이 바뀌고 있다는 거는 새로운 줄이 시작하는 거 이기도 하다.

 

그러면 즉 새 줄문자로 구분되어 있다고 말할 수 있다.

 

그렇다면 로그에 'admin'이라는 문자열이 생기고 그 옆 ip 에는 자신의 ip를 등록하게끔 만들면 된다는 것.

 

 

 

 

 

 

 

 

 

 

 

그냥 'admin'이라고 입력하면

 

 

 

이렇게 뜨고 'log viewer'에는 남지 않는다.

 

 

 

 

 

 

 

 

 

일단 줄 바꿈을 위해서는 'input' 태그를 바꿔야 한다.

'input' 태그는 한 줄 문자 편집이기 때문이다.

 

 

 

 

 

 

 

 

 

 

다중 행 입력이 가능한 'textarea' 태그를 쓰도록 하자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 개행문자인 \r,\n를 넣도록 하자

 

'\r' [캐리지 리턴(Carriage return)] : 현재 위치를 행의 시작 위치로 이동시키는 문자.

'\n' [줄 바꿈(line feed)] : 말 그대로 줄 바꿈

 

자기 ip입력:admin

 

태그를 'textarea'로 바꿔서 우리가 아는 역슬래시(역사선) 기호가 아니지만 같은 역슬래쉬라서 잘 적용되는 거 같다.