본문 바로가기
war game/웹 워게임(Webhacking.kr)

webhacking.kr 5번 문제(insert)

by 강깅꽁 2017. 9. 21.

사진과 같이 login과 join을 할 수 있다.


그런데 join이 막혀 있다. 그래서 source를 봤더니

function no()
{
alert('Access_Denied');
}

function move(page)
{
if(page=='login') { location.href='mem/login.php'; }

}


위의 그림처럼 되있는데 단순하게 login을 누르면 login.php이니 join은 join.php 이리라 하고 join.php로 들어갔다 그런데 

디렉토리 리스팅이 된다.


http://webhacking.kr/challenge/web/web-05/mem 참조 ㅠㅠ


login.php

음 admin으로 로그인 해야되나 보다.


Join.php

source를 보니 와우 이렇게 되어있다.

http://jsbeautifier.org/ 여기가서 이쁘게 봐보자.


이쁘게 보여도 헷갈리는데 우리는 code 흐름을 파악해서

else로 가면 원하는 페이지를 보겠구나 판단한다.



if문 조건을 완성하기 귀찮으니 else문에 있는 것들을 browser console 에다가 쳐주자.


위의 form창을 볼 수 있다.


여기서 admin을 만들어주면 되겠구나 했지만 admin이 이미 있다. 이것을 우회해야 한다.


admin (스페이스 있음) 을 해주고 pw는 원하는 걸로 해주면 만들어진다.

이후에 admin으로 로그인해주면 끝


솔직히

insert into table_name values('admin','165') on duplicate key update id='admin', pw='123

이런식의 쿼리를 만들어주면 될줄 알았다....