[Wargame.kr] web chatting

접속해보면 ID를 입력하라고 합니다. 대충 마음대로 입력하고 넘어가봅니다.

채팅서버네요. 

코드를 보면 chatlog.php?t=1, chatview.php?t=1&ni=@@ 이 주소에 접근을 하는 것을 알 수 있습니다. chatlog.php?t=1에서는 현재 보내는 메시지의 값을 주고, chatview.php?t=1&ni=@@는 @@번째 이후의 메세지들을 출력해주는 것 같습니다.

 

그런데 t=1&ni=37000 or 1을 보내면 모든 메시지가 다 출력되는 것으로 보아 ni가 공격벡터로 보입니다. 이를 이용해 chatview.php에서 Union SQL Injection이 가능합니다.

 

일단 column 갯수를 파악하기 위해 t=1&ni=37000 order by X -- 이라는 쿼리를 보내보면 X가 1,2,3,4,5일 때는 문제가 없다가 6일때 최초로 문제가 생기므로 column은 5개임을 알 수 있습니다.

 

각 column이 어떤 형식으로 위치하는지를 알기 위해 t=1&ni=37000 union select 1,2,3,4,5 -- 를 보내봅시다.

2번째 column이 이름 쪽에 들어가네요. 이젠 1,@@version,3,4,5 로 version도 볼 수 있고 information_schema에서 테이블명도 뽑을 수 있고 뭐 그렇습니다.

 

이젠 1,column_name,3,4,5 from information_schema-- 으로 수상한 테이블 명을 찾고, column명 찾아서 데이터 보고 그러면 끝납니다.

'워게임 > Wargame.kr' 카테고리의 다른 글

[Wargame.kr] dmbs355  (0) 2019.04.03
[Wargame.kr] QnA  (0) 2019.04.03
[Wargame.kr] ip log table  (0) 2019.04.02
[Wargame.kr] SimpleBoard  (0) 2019.04.02
  Comments