md5_compare 는 VALUE1 과 VALUE2 를 비교해서 같으면 된다.코드를 보면 다음과 같다. v1는 알파벳이어야 하고, v2는 숫자여야 한다.그리고 그 둘을 md5화 했을 때, 다르면 false, 같으면 chk를 해서 flag를 출력한다. PHP는 int형과 char형을 구분하여 선언하지 않는다고 한다. md5 해싱을 할 때 해쉬값이 0e**** 인 경우 두 값을 비교하면 무조건 참이 된다. stack overflow의 이 답변을 참고하여VALUE1에는 QNKCDZO를, VALUE2에는 240610708을 넣어봤더니 문제가 풀렸다.
DB is really GOOD 문제는 이름만 봐도 db와 관련된 문제라는 걸 알 수 있다.BLUEMEMO SYSTEM이 있고 USER name을 치는 곳이 있다.따로 join은 없고 login만 하면 되는데 main 페이지의 코드를 보면 function fschk(f){ if(f.user_id.value=="admin"){ alert("dont access with 'admin'"); return false; }} 이런식으로 user_id의 value가 admin이면 dont access with 'admin' 이 뜬다. 그리고 user_id 마다 memo list 들의 내용이 바뀐다. 여러가지를 넣어봤는데 .는 _가 되고, / 를 넣자 Fatal error가 뜬다. Fatal error 에서 SQLi..
로그인 필터링 문제의 소스를 보면 코드를 볼 때 php 코드만 자세히 보고 맨 밑 코드를 못봤었다. 이렇게 주석처리 된 부분에 로그인 id와 password를 적어놓았다.일단 입력받은 id가 guest 이거나 blueh4g 이면 your account is blocked 쿼리상에선 알파벳의 대소문자 구분이 없고, php상에선 그대로 인식하므로 Guest 같이 대소문자를 섞어서 id를 입력하면 된다.Guest 뿐만 아니라 Blueh4g도 가능. 패스워드는 그대로 입력해준다.로그인에 성공하면 Password가 뜨고, 인증하면 된다.
flee button 문제는 마우스 커서를 따라 click me! 라는 버튼이 움직인다.클릭할 수 없도록 만든 것인데 클릭하면 FLAG가 뜰 것만 같다.하지만 커서를 정말 빠르게 움직여서 버튼을 움직일 생각은 하지 않는게 좋을 것 같다. 우클릭도 안되므로 F12 개발자도구를 이용해보면,click me! 버튼을 눌렀을 때 window.location='?key=5a1d' 라는 동작을 한다.그렇다면 버튼을 눌렀을 때 특정 주소로 이동한다는 것인데직접 url을 수정하면 된다. http://wargame.kr:8080/flee_button/?key=5a1d 이런식으로 ?key=~~~ 부분만 url에 추가해주면 된다. 그럼 이렇게 Flag가 뜬다!
2번째 문제 QR CODE PUZZLE 은 어릴때 많이 해봤던 퍼즐이랑 똑같다.퍼즐 조각을 잘 움직여서 온전한 QR 코드로 만들면 되는데,엄청난 노가다 이므로 다르게 생각을 해보면문제 출제자도 저 정확한 크기의 퍼즐조각을 노가다로 자르진 않았을 것이다!그렇다면 QR 코드 이미지의 원본이 어딘가에 있다는 것인데 이렇게 크롬의 개발자 도구 > Sources 에 들어가 보면img 폴더에 qr.png라는 원본 QR 코드 처럼 보이는 것이 있다. 이 사진을 스마트폰의 QR 코드 리더기로 읽어보면 FLAG가 뜨는데,스마트폰에 뜨는 FLAG를 그대로 인증하지 말고그 FLAG가 떠있는 페이지의 URL을 복사해 PC로 인증하는 것을 추천한다. 클리어!
첫번째 문제인 already got 문제는 can you see HTTP Response header? 이 문장을 보니 HTTP Response header를 봐야할 것 같다.그래서 Burp Suite 프로그램을 사용했다.첫 페이지 url http://wargame.kr:8080/already_got/ 일 때 돌려보니 쿠키값만 나오길래http://wargame.kr:8080/already_got/index.php로 바꿔서 돌려보니 이렇게FLAG값이 떴다. 1번 클리어!
- Total
- Today
- Yesterday
- 0xdeadbeef
- cobolt
- java
- attackme
- C
- my-pass
- lord of sqlinjection
- pwnable
- 우분투
- 설치
- 명령어
- ftz
- 자바
- lob
- pwnable.kr
- ubuntu
- 파이썬
- c언어
- 웹해킹
- BOF
- webhacking.kr
- 1번
- WebHacking
- Los
- Python
- 워게임
- wargame.kr
- wargame
- MySQL
- Lord of SQL Injection
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |