Wargame(86)
-
Los cobolt 2번 문제 (rubiya)
이번문제는 1번 문제와 다르게 id의 결과값이 정해져있다. id가 admin 이면 solve 함수가 실행하여 문제가 해결되는것 같다. 하지만 GET방식으로 id 와 pw를 받는데 pw 를 md5() 로 암호화하는것 같다. pw를 한 단어씩 구해서 pw 를 구해서 푸는 방법도 있지만 어차피 조건문에서 pw는 사용되지 않으므로 그냥 id를 입력받는 쿼리문 뒤의 문장을 주석으로 무력화 시키면 될 것 같다. # = mysql 1줄 주석
2019.10.09 -
webhacking.kr(old) 17번 문제
문제를 접속하면 아래와 같은 입력창이 뜬다. 바로 소스코드를 확인해보자. 아래와 같은 스크립트 태그를 볼 수 있다. 정말 쉽다. 그냥 입력값과 unlock 의 값이 같으면 문제가 풀리는것 같다. 하지만 unlock 의 값이 너무나 길다. 그렇지만 저 값을 개발자 도구의 console 창에 입력해준다면 바로 값이 출력된다. 한번 입력해보자. 7809297.1 이란 값이 나왔다. 이제 이 값을 입력창에 넣고 check 버튼을 눌러주자.
2019.10.09 -
webhacking.kr(old) 16번 문제
16번 문제를 접속하면 보이는 화면이다. 바로 소스코드를 확인해보자. 아무래도 제일 아래에 있는 if 문에 do it 이라는 주석이 있는것을 보아 저 조건문을 실행시켜줘야 할 것 같다. 이 코드를 보기 전에 위의 사진과 같이 body 태그에서 키보드 입력이 있으면 그 키코드를 mv() 함수의 인자값으로 보내 mv함수를 실행시키는 것을 확인하였다. 그래서 mv 함수를 보면 키보드 입력 값이 100,97,119,115,124 중 하나이면 조건문을 통과해 저 이상한 * 이 움직이는것 같다. 이 값들은 아스키 코드값이다 . 아래의 표를 참고하시길 바랍니다. 위의 표에서 100,97,119,115 은 각각 d,a,w,s 를 의미한다. 그럼 키 값에 124 는 무엇일까? 124에는 영어 알파벳 l 처럼 생긴 문자가..
2019.10.09 -
webhacking.kr(old) 15번 문제
문제를 들어가자마자 Access_Denied 라는 문구와 함께 index 창으로 넘어왔다. 이 문제는 자바스크립트로 alert() 창을 띄운 후에 이전페이지 또는 webhacking.kr 의 주소로 이동되는것 같다. 그렇다면 위의 사이트에서 사용되는 javascript를 무력화 해준다면 alert 창이 뜨지 않으면서 15번의 문제로 들어갈 수 있을것 같다. 인터넷 오른쪽 상단의 점 3개? 버튼을 눌러 크롬 설정창으로 이동합시다. 그 후 아래로 스크롤을 쭉 내려서 고급 이란 버튼을 눌러줍니다. 개인정보 및 보안이라는 카테고리에 가서 사이트 설정에 접속합니다 권한이라는 카테고리안에 자바스크립트가 허용된것을 볼 수 있습니다. 자바스크립트항목을 클릭 후 15번 문제의 주소를 복사해서 입력한후 15번 문제의 자바..
2019.10.09 -
Los gremlin 1번 문제 (rubiya)
LoS는 따로 플래그를 입력하는 방식이 아니라 코드 안의 solve() 함수가 동작하도록 하면 문제가 풀린다. 그리고 친절하게 내가 입력 한 값이 어떻게 쿼리에 들어가는지도 보여준다. 첫 번째 문제는 gremlin이다. 앞서 말한것 처럼 solve() 함수를 동작시키기 위해선 if($result['id']) 라는 조건문을 통과해야 한다. 즉 id 의 존재 여부에 따라서 if 문의 조건을 통과 할 수 있는지 없는지를 말한다. 하지만 id가 없으면 0이 반환되기 때문에 아이디가 어떻든 존재하기만 하면 이 문제는 풀린다. select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}' 위의 쿼리처럼 GET방식으로 아이디와 비밀번호를 입력받아서 퀴..
2019.10.06 -
wargame.kr flee button 문제풀이
이번 문제는 좀 황당스럽다. 이게 캡쳐를 해서 그렇지 문제를 들어가 봤으면 다들 이 버튼이 자꾸 이동하는 것을 보았을 것이다. 바로 f12를 눌러서 소스를 확인해보자. 이 소스코드를 보면 누가봐도 저 위의 스크립트 태그부분이 수상해 보일것이다. 하지만 꼼수?같이 보일 수 있지만 더 쉬운 방법이 있다. 그 방법은 바로 버튼이 움직일때마다 버튼이 속한 div 태그의 포지션 값이 계속 변경되는 것을 볼 수 있다. 그렇다면 div 태그의 스타일 속성을 지운뒤 메인 페이지를 클릭해보자. 이렇게 변경후 메인페이지에서 마우스를 움직여도 button 이 움직이질 않는다. 그래서 저 버튼을 누르면? 이처럼 FLAG가 출력된다.
2019.10.04