wargame.kr

wargame.kr

[wargame.kr] DLL with nodepad

문제분석 & 풀이DLL 파일을 분석해보자. ○ start()int __cdecl start(LPVOID lpParameter){ wchar_t *v1; // eax WCHAR Filename[256]; // [esp+4h] [ebp-204h] BYREF if ( GetModuleFileNameW(0, Filename, 0x200u) ) { v1 = wcsrchr(Filename, 0x5Cu); if ( v1 ) { if ( !wcsicmp(v1 + 1, L"notepad.exe") ) { dword_70A833A8 = (int)CreateThread(0, 0, (LPTHREAD_START_ROUTINE)StartAddress, lpParameter, ..

wargame.kr

[wargame.kr] type confusion

문제분석 & 풀이제목인 type confusion이 중요하다고 한다.  type confusion 취약점을 이용하는 문제라고 추측 할 수 있다. key == $key) { $ret = ["code" => true, "flag" => $FLAG]; } else { $ret = ["code" => false]; } die(json_encode($ret)); } function gen_key(){ $key = uniqid("welcome to wargame.kr!_", true); $key = sha1($key); return $key; }?>○ 코드 분석1) post 방식으로 json이라는 데이터를 받고 $json에 저장한다.2) sha1 해시값을..

wargame.kr

[wargame.kr] tmitter

문제풀이 & 분석힌트를 확인하면 admin 계정으로 로그인하는 것이 목표라는 것을 알려주고 있고 tmitter_user 테이블 정보를 알려준다. 페이지에 접속하면 sign in, sign up 2가지로 나눠져있다. 먼저, 계정을 만들기 위해 sign up으로 접속하여 아무 계정이나 만들었다. 그 후 로그인해서 접속하면 위와 같이 트위터 페이지가 뜨는 것을 확인할 수 있다. 이 페이지에서 여러가지 시도를 해보았지만 딱히 진전은 없어서 힌트로 돌아왔다. tmitter_user 테이블에 있는 id,ps 가 32자리로 구성되어있다는 사실을 알 수 있다. 만약, id의 길이가 32자리가 넘어도 계정이 생성될 수 있나?라는 의구심이 들었고 만들어봤다. 먼저, sign up 페이지에 가서 id의 길이제한을 32자리에..

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..

keyme
'wargame.kr' 태그의 글 목록