일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CheatEngine Tutorial
- 워게임
- 1번문제
- 8번문제
- 3번문제
- WTF_CODE
- Web
- Couldn't in
- cheatengine
- xcz.kr prob
- 써니나타스
- 시스템
- Couldn't invoke the file
- suninatas
- reversing
- 오토잇디컴파일
- CodeEngn
- Basic RCE
- BasicRCE
- WarGame
- 치트엔진
- 치트엔진 튜토리얼
- 워게임풀이
- 리버싱
- xcz.kr
- 치트엔진 튜토리얼 게임
- 포렌식
- wargame.kr
- 6번문제
- xcz.kr 문제풀이
- Today
- Total
목록W4RG4M3/W3B (19)
HackChang
이번 문제는 md5함수에 대한 문제로 보인다. Start를 눌러 페이지를 이동해보도록 하겠다. 위와 같은 페이지를 볼 수 있었고, 소스를 보도록 하겠다. 소스를 보면 $row=@mysql_fetch_array(mysql_query("select * from admin_password where password='".md5($ps,true)."'")); 위와 같이 sql문을 날리는 것을 볼 수 있었다. 이에 대해 SQL인젝션을 시도하고 싶었지만, mysql_real_escape_string을 통해 SQL인젝션을 방지하는 것을 볼 수 있다. 문제에서 md5('value', true)라는 힌트로 보아 md5함수에 취약점이 존재한다고 생각했고, php의 md5함수에 대해 검색을 해봤다. raw_output를 T..
이번 문제는 strcmp 함수에 대한 우회를 하는 문제로 보인다. Start를 눌러 페이지로 이동해보도록 하겠다. 다음과 같은 페이지로 이동했고, view-source를 눌러 소스를 보도록 하겠다. php소스를 보면 우리가 입력한 password와 변수로 저장된 password가 일치하면 Flag값이 나오는 것으로 보인다. php의 strcmp 함수는 두 비교대상이 같을 때 0을 반환하므로, 0을 반환하는 방법을 통해 우회를 할 수 있을 것이라고 생각했다. 구글에서 검색을 통해 특정 버전의 php에서는 배열값과 비교를 하면 NULL값을 반환하는 것을 알게 되었고, 구글 검색을 통해 PHP 자료형 비교표를 볼 수 있었다. $password에 대해 배열로 인식하게 하면 NULL값과 0을 느슨한 비교를 통해 ..
이번 문제는 자바스크립트로 만들어진 게임을 우회하는 문제로 보인다. Start를 눌러 사이트로 이동해봤다. 위와같은 비행기 게임이 나오고, 클릭해서 시작하면 아래와 같이 마우스 포인터를 통해 벽을 피하는 게임이 시작된다. 이렇게 벽에 부딪히면 위와 같은 메세지와 게임이 끝나게 된다. 31337점수를 넘기면 FLAG값을 얻을 수 있을 것이라고 생각했고, 우회하기 위해서 해당 게임의 소스를 보도록 하겠다. 이렇게 소스를 보면 head에 javascript가 난독화된 소스를 볼 수 있었다. Online JavaScript beautifier beautifier.io 위의 사이트에서 JS의 난독화를 풀 수 있었고, function secureGame() { var _0x8618x2 = this; var _0x8..
이번 문제는 차단된 계정을 우회해서 로그인하는 문제로 보인다. Start를 눌러서 페이지를 이동해보도록 하겠다. 로그인 입력폼과 소스 보기를 볼 수 있는 로그인 페이지가 나왔다. 소스를 보도록 하겠다. 이렇게 PHP 소스를 볼 수 있었고, 제일 아래 주석으로 차단당한 계정에 대한 아이디와 비밀번호를 볼 수 있었다. 소스를 보면 아래의 조건문에서 id가 'guest'이거나 'blueh4g'일 경우 "your account is blocked"를 출력하는 것을 볼 수 있다. 해당 조건문을 우회하면 문제를 해결할 수 있다고 생각했고, 조건문에서 소문자로 guest와 blueh4g만을 필터링하는 것을 알 수 있었고, GUEST/guest로 로그인하여 FLAG값을 찾을 수 있었다. 해당 패스워드를 통해 인증을 해..
이번 문제는 QR CODE를 인증하는 문제로 보인다. Start를 눌러보도록 하겠다. 사이트를 이동하면 다음과 같은 퍼즐을 볼 수 있다. 해당 이미지에 대한 힌트가 있을까 싶어 해당 퍼즐 조각에 대해 요소 검사를 해보도록 하겠다. 자세히 보면 URL을 찾을 수 있고, 해당 URL에 접근하여 원본 QR코드를 찾을 수 있었다. 위의 QR코드를 찍으면 FLAG값이 나오고, 클리어를 했다.
이번 문제의 내용 설명을 보면 HTTP Response Header를 확인하면 되는 문제로 보인다. Start를 눌러 페이지를 이동해보도록 하겠다. 다음과 같은 페이지가 나왔고, 해당 페이지의 Response Header를 크롬의 개발자도구의 네트워크 탭을 통해 확인해보도록 하겠다. FLAG값을 확인할 수 있었고, 인증을 통해 클리어를 했다.
오랜만에 올리는 워게임 풀이다. wargame.kr에 대해 풀기는 했지만, 블로그에 정리해두지 않아서 정리하면서 다시 플어보려고 한다. Start를 눌러 문제를 보도록 하자. Start를 누르면 위의 페이지로 이동하게 되는데 click me!를 클릭하면 되는 문제로 보인다. 마우스 포인터를 움직일 때 마다 click me도 이동을 하기 때문에 해당 버튼의 요소를 검사하기 위해 Ctrl+Shift+C를 눌러 요소검사를 해보도록 하겠다. 버튼을 클릭하게되면 click me! 버튼위에 마우스포인터를 놓을 수 있게 되고, 한번 더 클릭하여 아래의 Flage값이 적힌 사이트로 이동할 수 있었고, 인증을 통해 클리어를 했다.
이번 문제도 Blind SQL Injection 문제다. 저번문제와 비슷해보이지만, 필터링에 admin과 substring이 추가됐다. admin을 필터하기 때문에 adm이라는 문자열과 in이라는 문자열을 합치면 필터를 우회할 수 있을 것이라고 생각했다. 바로 진행해보도록 하겠다. id - adm'+'in'-- pw - 1234 이렇게 로그인이 잘 되는 것을 볼 수 있다. 이제 전에 했던 것처럼 pw의 길이를 구해보도록 하겠다. id : adm'+'in'and len(pw) > 10 -- pw : 1234 이번 비밀번호의 길이는 10보다 크다. id : id : adm'+'in'and len(pw) > 12 -- pw : 1234 10
* Blind SQL Injection : SQL인젝션과 동일하지만, 오류가 출력되지 않을 때 사용할 수 있는 기법이다. 한 문자씩 추출해서 DB의 정보를 알아낼 수 있는 특징이 있다. 이번 문제는 Blind SQL Injection 문제다. 해당 페이지의 소스를 보도록 하겠다.    id pw Blind Sql Injection Filtering Keywords select / Union / or / white space / by / having from / char / ascii / left / right / delay / 0x .......... 제일 아래 힌트로 guest의 아이디와 비밀번호를 제공하고, 우리는 admin의 비밀번호를 찾으면 되는 문제다. guest/guest..
이번 문제는 로그인 폼이 있고, 로그인을 하면 키가 나올 것이라고 예상되는 문제다. 우선 해당 페이지의 소스를 보도록 하겠다. ID PW Password Incorrect! 아래보면 힌트로 아이디는 admin이고, password는 0~9999라고 나와있다. burp suite를 사용해서 풀어보도록 하겠다. 이렇게 프록시를 사용해서 인터셉트를 하고, 해당 요청을 인트루더로 옮겼다. ( Ctrl + I ) 이렇게 인트루더를 보면 타겟이 나오고, 포지션을 보면 이렇게 §표시로 우리가 페이로드를 설정할 수 있다. 우리가 여기서 바꿔야하는 값은 pw밖에 없으므로, pw만 적용하도록 하겠다. 다음 페이로드를 설정한다. 이렇게 0~9999까지 1씩 증가하는 브루트포스를 진행해보도록 하겠다. 이렇게 해당 respon..