웹해킹 5번
웹해킹 5번
5번을 누르면 이런 화면이 나옵니다.
로그인을 눌러봅니다.
아무거나 쳐서 로그인을 눌렀더니
이런 창이 나왔습니다.
아이디가 admin이라는 힌트를 줘서 아이디를 admin으로 하고 다시 로그인을 해봤습니다.
패스워드는 뭔지 모르므로 아무 거나 쳐서 로그인 했습니다.
그랬더니 역시나 패스워드가 틀렸다는 화면이 나옵니다.
이제 다시 첫 화면으로 돌아가서 조인을 눌러봤습니다.
조인을 눌렀더니 이런 경고창이 뜹니다.
결국 모든 것을 눌러봤으나 해결이 안 되서 소스 보기를 했습니다.
* location.href
- 새로운 페이지로 이동
- href는 객체의 속성
주소 뒤에 mem/를 붙여서 검색
join.php를 눌렀더니
login.php를 눌렀더니
join.php의 소스보기
위의 코드는 알파벳과 숫자, 특수문자를 변수에 할당하고, 그 변수를 활용하여 소스를 작성했습니다.
번역을 해보니 아래와 같은 코드 였습니다.
if(eval(document.cookie).indexOf(oldzombie)==-1) {bye; }
쿠키에 oldzombie 문자열이 없으면 bye
if(eval(document.URL).indexOf(mode=1)==-1){alert('access denied');history.go(-1);}
URL에 mode='1'이 없으면 access_denied 경고창 발생 후 이전 페이지로 Back
<form methon=post action=NaNoin.php>
<input type=text name='id' maxlenght=5>
<input type=text name='pw' maxlenght=10>
id.pw 입력 필드가 있는 페이지로 이동된다.
따라서 쿠키 조작을 해서 oldzombie를 문자열에 추가했습니다.
URL 조작: mode='1'추가