일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Javscript
- Fortran 90
- Qrcode
- 시저 암호
- sha1
- overthewire
- 카이사르 암호
- base16
- assembly
- Navajo alphabet
- Masonic Cipher
- Linux
- AVR
- aslr
- JavaScript
- webhacking
- Pigpen Cipher
- Python
- base32
- sql injection
- Web Hacking
- BASE64
- 비즈네르 암호
- Mail Header injection
- reversing
- vigenere cipher
- php_extract
- burpsuit
- Caesar Cipher
- cookie
- Today
- Total
목록webhacking (20)
My Drive
webhacking #58. pw를 입력하는 창이 나온다. 아무거나 입력하니 Wrong이라고 뜬다. 소스를 보려고 우클릭 하니 flash 란다;;; F12를 눌러 소스를 보니 hackme.swf라는 의심스러워보이는 파일이 있다. 링크를 클릭해 들어가서 ctrl+s를 누르면 저장할 수 있다. 아무 프로그램이나 들어가서 보면 아래와 같이 url을 확인 할 수 있다. 들어가면 바로 클리어!
webhacking #42. 다운로드가 2개 링크되어 있다.1번 test.zip을 클릭하니 Access Denied 창이 뜬다. 2번 test.txt를 클릭하니 아래와 같이 뜬다. 소스를 보니 1번에는 alert가 뜨도록 되어있고2번은 ?down=dGVzdC50eHQ= 으로 연결되도록 되어있다. dGVzdC50eHQ=는 base64로 test.txt를 인코딩한 것이다.그렇다면 test.zip을 base64로 인코딩하여 ?down=dGVzdC56aXA=로 이동하도록 하면 될 것 같다. 다운로드에 성공했다. 그런데 비번이 걸려있다.;;;아까 위의 소스에서 test.zip 비밀번호는 숫자로만 되어있다고 했다. 알집 비밀번호를 푸는 프로그램을 이용하여 비번을 찾으니759852 압축 풀린 파일을 보니 아래와 같이..
webhacking #36. 문제는 간단하다.viblackout vi는 리눅스 편집기를 의미하는 것 같고,blackout은 정전? vi를 쓰다가 터미널이 종료되면 백업파일이 생긴다. 숨김파일로 생기기때문에 앞에 . 이붙고 원래 파일 뒤에는 .swp가 붙게 된다. 따라서 index.php에서 .index.php.swp를 들어가보면 키가 등장!good! $_SERVER[REMOTE_ADDR] 이거는 자신의 ip를 치면 된다.
webhacking #23. script를 inject하는 문제이다. 그냥 입력해보면 역시나 안된다. no hack이라고 뜨는 것으로 보아 뭔가 필터링 되어있는 듯 하다. 문자를 하나 입력했을 때는 괜찮고,2개 이상 입력했을 때는 어느 문자든 필터링이 된다.숫자는 상관없다. 이 문장을 문자가 2개 이상 연속 되지 않도록 써야한다.(특수문자는 가능)a_l_e_r_t(1);중간을 무언가로 채워주어야 하는데,여러 공백문자 %20 %09 %0a %0b %0c %0d %a0 /**/ 를 시도해 본 후 %00을 시도하니 성공! a%00l%00e%00r%00t(1);
webhacking #33.이번 문제는 단계별로 문제가 나눠져 있어 좀 길다 #33 - 1 GET방식으로 get변수에 "hehe"값을 넣어 보내주면 된다.GET방식은 url을 통해 넘겨줄 수 있으므로 간단하다. #33 - 2 이번에는 POST방식으로 post변수는 "hehe", post2변수는 "hehe2"를 넘겨주면 된다.post는 변수를 body에 넣어 보내므로 버프수트를 이용하였다. Body 변수를 2개 추가해주고 방식을 POST로 바꿔준다. #33 - 3 이번에는 GET 방식으로 myip를 $_SERVER[REMOTE_ADDR]로 바꿔주어야 한다.전에 $_SERVER는 아래와 같은 정보가 담겨있는 배열이었다.$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 (e..
webhacking #32. 랭킹과 이름 hit 이 쫙 나와있고, 아래로 내려보니 Join 버튼이 있다. 버튼을 클릭하니 Done창이 뜨며 내 아이디도 추가가 되었다. 이름을 클릭하니 hit 이 1증가 했다. 다시 누르니 no! 뭐로 구분하는 걸까 보니, vote가 이미 되었다는 쿠키가 존재하는 듯 하다. 이 쿠키를 삭제하고 다시 눌러보니 역시 1이 더 증가했다. 100까지 증가시켜야 하는것 같은데 손으로 하긴 너무 노가다 작업이다;;; 파이썬 코드를 이용해 작업하였다. import httplib import urllib headers = { 'Host':'webhacking.kr', 'Proxy-Connection':'keep-alive', 'Accept':'text/html,application/xh..
webhacking #31. php 코드가 노출이 되어있다.port는 10000부터 10010사이에서 랜덤하게 생성된다.그리고 GET방식으로 받아온 server변수에 해당 ip로 연결을 시도하는데 3초동안 시도하고, 실패하면 error메시지를 출력한다. 3초가 지나면 아래와 같이 time out으로 연결이 실패했다고 뜬다.url 에 나타나는 server는 어디 ip인가 하니본인 pc ip주소이다. 그렇다면 내 PC의 10000번부터 포트를 열어 놓고 기다리면 뭔가 나올듯 하다.netcat을 이용해 포트를 열고 대기하였다.nc -lp 10000 다시 웹사이트를 접속하니 10000번 포트에서 반응이 왔다. Password is f1a0a4b594375af401c0a0e3562ea406
webhacking #20.시간제한은 2초? 2분? 이라 적혀있고,javascript 문제라는 힌트가 주어져 있다. 코드를 보니 각 입력창의 name은 id, cmt, hack 이고,submit 버튼을 클릭하면 ck() 함수가 호출된다. ck함수는,id 가 비었는지, cmt가 비었는지, hack이 비었는지 확인한 후,hack과 attackme의 값이 같은지 비교한다. 임의로 위 조건을 만족하도록 입력하면아래와 같이 Wrong이라고 뜨며 입력창이 reset된다. 아마 위의 시간 제한은 2초를 의미하는 것으로, 2초만에 submit버튼을 눌러야 하는 것같다. lv5frm.id.value="abcd";lv5frm.cmt.value="abcd";lv5frm.hack.value=lv5frm.attackme.val..
webhacking #27. sql injection 문제 이다.소스는 아래와 같이 주어져있다. 여기서 우리가 살펴볼 부분은 GET방식으로 no를 넘기고 있고,if(eregi("#|union|from|challenge|select|\(|\t|/|limit|=|0x",$_GET[no])) exit("no hack");위와 같이 #, union, from, challenge, select, (, 탭, /, limit, =, 0x 를 필터링 하고 있다."select id from challenge27_table where id='guest' and no=($_GET[no])"쿼리문을 위와 같이 날리고 있고, 우리는 여기서 admin이라는 값이 반환되도록 해야 한다. 아래와 같이 1을 입력하니 no=1이 넘어가..
webhacking #19.제출 버튼을 클릭하면 아래와 같이 나온다. 소스는 제공되어 있지 않다.초기값이 admin인 것으로 보아 admin으로 제출했을 때 login이 성공되게끔 해야된다는 것을 짐작해볼 수 있다. 다른 값을 한번 넣어보았다. abcd 를 넣고 제출하니 login이 된 것을 확인할 수 있었다. 버프수트를 통해 보니login이 성공할 때는 아래와 같이 userid라는 쿠키값이 생성된 것을 확인할 수 있었다. 쿠키값이 어떤값인지 확인해보았다.base64로 11번 디코딩을 하니 md5해쉬화한 것을 5개 붙여놓은 형태임을 알 수 있었다.(=기호가 들어가는 경우는 대다수 base64, 32글자로 떨어지는 경우는 해쉬화된 문장) 5개의 해쉬화된 문장을 각 각 md5 decoder를 이용하여 보니 ..