본문 바로가기

웹해킹/wargame.kr

(15)
web chatting 문제를 읽어보면 SQL injection 문제라는 것을 알 수 있다. start 버튼을 누르면 다음과 같이 ID 입력 창이 나온다. ID를 아무거나 입력 한 후 join 버튼을 누르면(id에 공격 코드 넣어도 안 먹힘) 채팅창이 나온다. 채팅창에 이제 아무거나 입력을 해보자 다음과 같이 아무거나 입력 후 개발자 도구를 통해 이 채팅이 어디로 가는지 확인해 보면 된다. 개발자 도구에서 chat.php를 확인하면 chatlog.php?t=1이랑 chatview.php?t=1&ni="+ni라는 부분을 볼 수 있다. chatlog.php = 현재까지의 채팅 개수 확인하는 페이지 chatview.php = 현재까지의 채팅기록을 볼 수 있는 페이지 우선 chatlog.php 페이지를 들어가보면(/chatlog.ph..
php? c? 문제를 들어가면 다음과 같은 페이지가 나온다. get source를 눌러 소스를 보았다. D1: D2: get source 코드를 햇거하면 tmp/p7 파일이 존재하지 않으면 p7.c 파일을 컴파일 하여 p7이라는 파일을 만들고 첫번째 값을 p7이라는 실행파일에 집어넣고 실행한 값을 result라는 변수에 저장한 후 result 값이 1이 아니고 d1하고 d2 값이 동일하면 flag 값을 출력하고 그렇지 않으면 try again이라는 문구를 출력하라는 것이다. 이제 p7.c라는 코드를 확인해보자 http://wargame.kr:8080/php_c/p7.c 불러오는 중입니다... 다음과 같이 입력하면 p7.c 코드가 나온다. #include #include void nono(); int main(int a..
img recovery 문제를 해석하면 PNG 이미지 파일을 복구하라고 한다. 하지만 이게 진짜 PNG 파일이냐고 물어본다, (스테가노그래피는 아니고 포렌식 챌린지 문제이다) 이제 start를 누르면 ptsd가 올 것같은 사진과 함께 find the code!!라는 문제가 있다. 뒤에 있는 사진을 복구하면 되는 것 같다. 개발자 도구를 누르면 pattern pattern이라는 파일이 있다. 이 파일을 다운 받은 후 HXD를 키고 다운 받은 파일을 열면 맨밑에 .tEXtSoftware.Japng r119라는 글자가 있다. 인터넷에 Japng라고 검색을하면 java apng라는 것을 알 수 있다. apng 파일은 .gif 파일처럼 애니메이션을 구연하였지만 기존 PNG 파일과의 호환성을 유지한 파일이다. 쉽게 말해서 png파일이지만..
type confusion type confusion 문제를 눌러보면 start를 누르면 view-source를 누르면 view-source 다음과 같은 코드가 나오는데 여기서 중요한 코드만 해석해보면 if (isset($_POST['json'])) { usleep(500000); require("../lib.php"); // include for auth_code function. $json = json_decode($_POST['json']); $key = gen_key(); if ($json->key == $key) { $ret = ["code" => true, "flag" => auth_code("type confusion")]; } else { $ret = ["code" => false]; } die(json_encode..
tmitter 이번에는 tmitter 문제를 풀어보기로 하였다. tmitter 문제를 눌러보면 우리는 "admin"이라는 계정으로 로그인을 해야한다고 한다. 일단 start를 눌러보면 일단 Tmitter 계정을 하나 만들어 보자 Sign up을 누르면 다음과 같이 나오는데 ID는 4글자 이상 패스워드가 7글자 이상이라고 한다. 일단 id, ps는 32글자로 정해두었다. 일단 id를 32글자 이상으로 만들어서 32글자만 해석되고 짜르게 해야 할 것 같다. 일단 F12를 눌러 ID 코드를 확인해보면 maxlength가 32글자로 되어있는데 33글자로 바꿔 준다. 그리고 admin이라고 치고 공백으로 채운다음 마지막에만 숫자를 넣어준다 ex) admin 2 이런식으로 만들면 된다. 비밀번호는 7글자 이상이면 된다. 비밀번호..
md5 compare 이번에 풀어볼 문제는 md5 compare라는 문제이다. md5 compare 문제를 들어가면 다음과 같이 뜬다. start 버튼을 누르면 다음과 같이 뜬다. view-source를 눌러 소스를 확인하면 다음과 같이 나오는데 소스를 해석해보면 value 1의 값과 value 2의 값이 같아야 해결이 된다. 근데 v1에는 알파벳만 들어가야하고 v2에는 숫자가 들어가야한다. 결론은 알파벳을 넣고 md5 해시 했을 때 값과 숫자를 넣고 md5 해시 했을 떄 값이 동일해야 한다. 당황할 수 밖에 없는 문제였다. 보안기사 공부할 때 해시 함수를 돌리면 충돌이 발생하지 않고서는 서로 다른 값이 같을 수가 없다고 배워왔길래 내가 배워온 지식을 부정하는 것 같았다. 그래서 혹시나 하는 마음에 구글에 'md5 equal..
strcmp strcmp 문제를 눌러보면 다음과 같이 나온다. 문제를 해석해보면 "너가 'strcmp'함수를 우회할 수 있다면 너는 flag를 얻을 수 있을것이다." 이 소리이다. 일단 먼 소리인지는 모르겠지만 start를 눌러보자 start를 누르면 다음과 같이 password를 입력하는 창이 나온다. 일단 밑에 view-source를 눌러보자 다음과 같은 코드가 나온다. 코드를 대충 해석해보면 $password = sha1(md5(rand().file_get_contents("/var/lib/dummy_file")).rand()); -> password 값은 랜덤함수를 돌릴 것이다. if (strcmp($_POST['password'], $password) == 0) -> 내가 입력한 패스워드 값과 random ..
WTF-CODE WTF-CODE 문제를 클릭하면 다음과 같이 나온다. 해석하면 프로그래밍 언어 중 하나다. 너는 이 코드를 읽을 수 있냐? 라고 나온다. start 버튼을 눌러보면 이런 괴기한 글이 있고 밑에 source_code.ws 파일을 다운 받으라고 되어있다. 일단 다운을 받고 ws 파일이 무엇인가 궁금해서 구글에 ws 파일을 쳐보니 광고글 밖에 없다. 일단 파일을 열기 위해 File Magic이라는 파일을 설치하였다. 설치 하고 키면 다음과 같이 나오는데 파일을 끌어오던 불러오던 불러오면 이런 메시지가 뜨면서 은근 예를 누르도록 유도하지만 우리는 생각이 가능한 사람이기 때문에 아니요를 누른다. 누르면 또는 ws 파일을 메모장으로 열어도 열린다. 다음과 같이 코드가 나온다. 얼핏보기에 점자 또는 모스부호 같아서 ..