문제 페이지를 보면 전화번호를 입력하는 곳과 소스 파일이 주어져 있다. 소스 파일을 보면 insert into challenge35_list(id,ip,phone) values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]',$_GET[phone]) Query를 통해서 테이블에 데이터를 삽입할 수 있는 것을 볼 수 있다. 하지만 사용자가 입력할 수 있는 부분은 $_GET[phone]에 제한되어 있어서 id가 admin이고 자신의 ip를 삽입할 수가 없다. 이를 우회하기 위해서 아래와 같이 다중 Insert 문을 이용해서 데이터를 삽입해보면 문자열로 인해서 querry error가 발생한다. INSERT INTO challenge35_list (id, ip, phone) VALUES..
문제 페이지에 접근하면 Wrong 이라는 메시지 창이 발생한다. 그리고 나면 검정색 화면이 반겨준다. 정보를 더 찾기 위해서 해당 페이지의 소스를 보면 아래와 같이 난독화되어 있다. 해당 스크립트는 개발자 도구를 이용해서 요소 보기를 하면 쉽게 알아볼 수 있다.if(document.URL.indexOf('0lDz0mBi2')!=-1){location.href='Passw0RRdd.pww';}else{alert('Wrong');}부분을 보면 URL에 '0lDz0mBi2'가 있으면 'Passw0RRdd.pww'로 이동되는 것을 볼 수 있다.이 부분을 직접 이동해도 되고 아래와 같이 URL에 '0lDz0mBi2'를 입력해서 이동할 수 있다. 이동해보면 패스워드 값을 알 수 있고 인증을 하면 문제를 풀 수 있다.
TABLE: temp실험에 사용한 임시테이블mysql> SELECT * FROM temp;+------+----------+------+| no | id | pw |+------+----------+------+| 2 | ant | 6666 || -2 | bear | 5555 || 3 | cat | 4444 || 0 | dog | 3333 || -3 | elephant | 2222 || 1 | fox | 1111 || -1 | goat | 0000 |+------+----------+------+7 rows in set (0.00 sec)cs - 오름차순(ASC), 내림차순(DESC) 중에 표기하지 않을 경우 기본값으로 오름차순(ASC)이 설정된다.mysql> SELECT * FROM temp ORDER..