로그인 필터링 문제의 소스를 보면 코드를 볼 때 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번 클리어!
if($_POST[lid] && $_POST[lphone]){$q=@mysql_fetch_array(mysql_query("select id,lv from c59 where id='$_POST[lid]' and phone='$_POST[lphone]'"));if($q[id]){echo("id : $q[id]lv : $q[lv]");if($q[lv]=="admin"){@mysql_query("delete from c59");@clear();}echo("back");exit();}}if($_POST[id] && $_POST[phone]){if(strlen($_POST[phone])>=20) exit("Access Denied");if(eregi("admin",$_POST[id])) exit("Access D..
https://www.wechall.net/challenge/training/crypto/caesar/index.php 암호문은 새로고침 할 때마다 바뀐다. 복호화된 문장은 똑같겠지만 새로고침을 하게 되면 key값을 계속 바꿔줘야 하므로최대한 새로고침을 하지 않고 한번에 하는 것이 좋을 것 같다. 예전에 짜두었던 시저 암호 코드를 이용해 복호화를 했다. WeChall 은 처음이라 저 문장 전체가 답인줄 알고 다 쳤는데 틀리는 바람에key를 바꿔서 다시 복호화 해야 했다입력해야하는 답은 SOLUTION IS ~~~~ 에서 IS 뒷 부분이다. 풀렸다!
53번 페이지에 들어가면 hello world 밖에 안보인다.페이지 소스를 보면 val 값을 통해 쿼리를 전달하고 쿼리문의 결과가 $f에 저장된다.테이블 명을 입력할 수 있는 창이 뜨고, 입력된 테이블 명이 hidden_table과 같다면 문제가 풀리는 것 같다. 1) val이 1 인 경우 test 2) val이 2 인 경우 guest 3) val 이 3인 경우 admin 4) val 이 4인 경우 zombie 4 다음의 숫자는 입력해도 hello world 밖에 뜨지 않는다. procedure analyse() 는 테이블 컬럼을 최적화하기 위해 사용하는데, 이 걸 사용하면 DB명.Table명.컬럼명이 뜬다고 한다 그래서 ?val=4 procedure analyse() 를 입력하면 테이블 명으로 Chal..
- Total
- Today
- Yesterday
- 0xdeadbeef
- MySQL
- Los
- attackme
- 우분투
- pwnable.kr
- ubuntu
- 명령어
- WebHacking
- cobolt
- webhacking.kr
- wargame
- 파이썬
- 설치
- 워게임
- pwnable
- lob
- my-pass
- BOF
- 1번
- Python
- 자바
- C
- c언어
- wargame.kr
- lord of sqlinjection
- 웹해킹
- java
- Lord of SQL Injection
- ftz
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |