본문 바로가기

Wargame123

webhacking.kr 39번 39번 문제를 보면 다음과 같이 input 창이 있는 것을 볼 수 있다. form의 action이 index.php이므로 index.phps를 보면 다음과 같은 코드를 볼 수 있다. 쿼리문을 보면 ‘가 $_POST[id] 앞에만 존재한다. 하지만 ‘를 입력하면 ‘ 2개로 replace 된다. 이 때 substr을 이용하여 15자만 $_POST[id]에 넣기 때문에 15번째 문자로 ‘를 입력하면 ‘’ 중 앞의 ‘만 입력된다. 따라서 다음과 같이 15번째 문자로 ‘를 입력하여 submit 하면 된다. 앞의 문자가 admin일 필요는 없다. 위와 같이 입력하면 clear할 수 있다. 2019. 1. 29.
webhacking.kr 18번 18번 문제를 보면 다음과 같이 no라는 input 창을 볼 수 있다.이 때, form의 method가 get이고, action이 index.php임을 알게 된다. 따라서 index.phps를 보면 다음과 같다. 우선 입력 받은 값에서 스페이스나 select, union 등을 필터링하는 것을 알 수 있다. 또한 mysql_qurery()의 결과를 배열 형태로 저장하는 것을 볼 수 있다. 여기서 첫 번째 행, 즉 $q[0]이 admin인 경우 solve()를 호출한다.따라서 “select id from challenge18_table where id=’guest’ and no=$_GET[no]”에서 첫 번째 결과 행이 admin이 되도록 해야한다. where의 조건이id = ‘guest’ and no = .. 2019. 1. 29.
webhacking.kr 16번 16번 문제를 클릭하면 다음과 같이 *이 찍혀있는 화면을 볼 수 있다. onkeypress()를 보면 mv()를 호출하는 것을 알 수 있다. 이 때 event.keyCode의 값에 따라 star.style 또는 location.href를 지정하게 된다. If 문 안의 숫자들을 아스키 코드로 바꾸면 다음과 같은 결과를 얻게 된다. 즉, d, a, w, s를 입력할 경우에는 별의 위치 속성 값이 변경되고, ‘|’를 입력할 경우에는 ‘|’라는 페이지로 이동된다는 것을 알 수 있다. 실제로 ‘|’를 입력하면 다음과 같이http://webhacking.kr/challenge/javascript/js3.html에서http://webhacking.kr/challenge/javascript/%7C로 페이지가 바뀐 것을.. 2019. 1. 29.
webhacking.kr 17번 17번 문제를 클릭하면 다음과 같은 input 창을 볼 수 있다. script를 보면, 입력하는 pw의 값이 unlock과 같을 경우 password가 출력됨을 알 수 있다. 이 때, 콘솔에서 unlock을 입력하면 unlock의 값을 알 수 있다. 따라서 9997809307를 입력하면 다음과 같이 password를 얻게 된다. 이렇게 얻은 password 값으로 인증을 하면 clear할 수 있다. 2019. 1. 29.
webhacking.kr 14번 14번 문제를 클릭하면 다음과 같은 화면을 input 창을 볼 수 있다. script를 보면, input_pwd에 입력한 값이 ul과 같을 경우 password가 출력된다. 이 때 ul의 값은 document.URL.indexOf(“.kr”).*30임을 알 수 있다. 따라서 콘솔에 다음과 같이 입력하면 510이라는 값을 얻게 된다. 510을 input_pwd에 입력하면 다음과 같이 password를 얻을 수 있다. 이렇게 얻은 password를 Auth에서 인증하면 된다. 2019. 1. 29.
webhacking.kr 6번 6번 문제를 클릭하면 다음과 같은 화면을 볼 수 있다. index.phps를 보면 다음과 같은 코드를 볼 수 있다. 왼쪽 코드의 경우, 쿠키가 없을 경우 “user”와 “password”에 대해 쿠키를 생성하는 것을 볼 수 있다. 이 때 user와 password에 들어가는 값은 각각 “guest”와 “123qwe”를 20회 base64 encoding한 값이다.오른쪽 코드를 보면 쿠키 값을 가져와 20회 base64 decoding을 수행한 뒤 user와 password 쿠키 값이 모두 “admin”인지 확인한다. 따라서 “admin”을 20회 base64 encoding하여 쿠키 값을 수정해주면 된다. 20회 인코딩한 결과이다. 쿠키 값을 위의 인코딩한 결과로 설정하였다. 페이지를 새로고침하면 다음과.. 2019. 1. 29.