Web Hacking

wargame.kr

[wargame.kr] md5_compare

1. 문제분석 & 풀이먼저 제목과 힌트를 확인해보니 compare 관련 문제라는 것을 알 수 있다. 문제에 접속하니 value 1, value 2 를 입력할 수 있고 소스가 주어져있다. 소스를 확인해서 분석해보자. 1. sleep(3)으로 부르트 포스를 방지한다. (8번줄)2. value 1을 $v1에 value 2를 $v2에 넣는다. (11,,12번줄)3. $v1 값의 모든 값이 알파벳인지 확인하고 하나라도 맞으면 통과. (14번줄)4. $v2 값의 모든 값이 숫자인지 확인하고 하나라도 맞으면 통과. (15번줄)5. 3,4번의 조건을 만족하여 통과하고 $v1, $v2를 각각 md5 해싱한 결과값이 같으면 flag값을 획득한다. (16~20번줄) 결론적으로 요약하자면 다음과 같다.value 1은 알파벳으..

wargame.kr

[wargame.kr] DB is really GOOD

1. 문제분석 & 풀이힌트를 먼저보니 무슨 종류의 DB인지 파악하고 user name 과의 연관성을 파악하라는 것 같다. 문제에 접속하니 user name을 입력하고 로그인하는 페이지가 나온다. guest라는 user name으로 로그인을 해보니 글을 쓸 수 있는 부분과 guest라는 닉네임으로 글을 썼던 흔적들이 보인다. 다시 로그인 전으로 돌아가서 이번에는 admin으로 로그인을 시도해봤다. admin의 경우 로그인이 제한된 것을 확인할 수 있고 힌트에서도 user name이 언급이 됐기 때문에admin으로 로그인하는 것이 이번 문제의 목표라는 것을 알 수 있다. 개발자도구로 소스를 확인해보니 javascript 소스로 admin으로 로그인하는 것이 막혀있는 것을 확인했고 소스를 바꿔서 우회해보려고 ..

wargame.kr

[wargame.kr] md5 password

문제분석 & 풀이md5 함수에 대한 언급이 있다. md5 함수 취약점에 관한 문제인 것 같다. password를 입력하는 칸과 코드가 있다. 코드 분석1. 전송한 password를 이스케이프 처리 (22번줄, sqli를 방지하기 위해 사용)2. sql 쿼리를 실행하고 결과 레코드를 $row에 저장 (23번줄)3. 결과가 존재하면 flag를 화면에 출력 (24~26번줄) DB에 저장된 password를 맞추면 해결된다.  그러나 DB에 저장된 password를 알 수 없고 sql 인젝션으로 DB에 있는 데이터를 알아내야한다.  코드분석 2번에서 실행하는 쿼리는 다음과 같다.select * from admin_password where password='".md5($ps,true)."' 입력한 passwor..

wargame.kr

[wargame.kr] strcmp

문제분석 & 풀이strcmp 함수를 우회하면 flag를 획득할 수 있다고 한다. strcmp 함수와 관련된 취약점을 활용하는 문제인 것 같다. 패스워드 입력창과 코드가 주어진다. 코드를 분석해보자. " . $FLAG .""; exit(); } else { echo "Wrong password.."; } }?>○ 코드분석1) sha1 해시값을 $password에 저장한다. 2) 전송한 password와 $password를 strcmp 함수로 비교해서 결과가 같으면 flag 출력한다. 문제를 해결하기 위해서는 $password를 알아야 할 것 같은데, 아쉽게도 랜덤값이라서 알아낼 수 없다. 코드에서 strcmp()로 2개의 값을 비교하고 ..

wargame.kr

[wargame.kr] fly me to the moon

문제분석 & 풀이자바스크립트 게임이고 해킹해서 게임을 클리어 할 수 있는지 묻고 있다. 비행기 게임이 나온다. 우선 게임을 플레이해보자. 죽으면 31337점을 달성하라는 문구가 나온다. 아마도 31337점을 달성해야 클리어 되는 것 같다. 나는 게임 실력이 형편없기 때문에 실력으로 31337점을 달성하기는 힘들 것 같아서 개발자도구(F12)로 코드를 확인했다.  태그를 확인하면, 자바스크립트 코드가 난독화 되어있다. 자바스크립트 난독화 해제 사이트를 이용해서 코드 난독화를 해제하고 확인했지만, 변수명들이 복잡하게 구성됐다. 코드를 최상단에 _0x32bb 배열 안에 여러 변수들이 hex로 저장된 것을 확인할 수 있는데, 아래 코드들을 쭉 보면 사용하는 변수들이 모두 _0x32bb 배열 안의 변수들로 구성됐..

wargame.kr

[wargame.kr] WTF_CODE

문제분석 & 풀이프로그래밍 언어이고 읽을 수 있냐고 묻고 있다. ws 확장자 파일을 다운로드 받을 수 있게 되어있으며, 힌트와 연결해서 생각했을때 파일의 내용을 읽는 것이 목표인 것 같다. 파일을 다운로드 받고 txt로 확장자를 바꿔서 내용을 확인했다. 아무것도 보이지 않는다. 우선 ws 확장자와 관련된 프로그래밍 언어를 조사해보자. 찾아보니 ws는 whitespace의 약자로 whitespace 언어 파일의 확장자가 ws였다. ○ whitespace공백, 탭 , 개행문자로 이뤄진 언어로 스택기반의 명령형 프로그래밍 언어이다. source_code.ws 내용이 안보인 이유는 공백, 탭, 개행문자로 구성이 됐기 때문이다. 실제로 마우스 커서를 땡겨서 확인해보니 위와 같이 데이터가 저장된 것을 확인할 수 있..

keyme
'Web Hacking' 태그의 글 목록 (5 Page)