일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Fortran 90
- 비즈네르 암호
- sql injection
- webhacking
- Web Hacking
- aslr
- BASE64
- cookie
- Navajo alphabet
- vigenere cipher
- 시저 암호
- base32
- 카이사르 암호
- sha1
- burpsuit
- php_extract
- Qrcode
- Pigpen Cipher
- AVR
- overthewire
- Caesar Cipher
- Mail Header injection
- Python
- reversing
- Masonic Cipher
- assembly
- Linux
- base16
- JavaScript
- Javscript
- Today
- Total
목록분류 전체보기 (75)
My Drive
# 여섯 번째 문제마찬가지로 사진만 있어서 소스를 보았다. 아래 주석에는 별다른 이야기가 없고, 눈에 띄는 단어는 zip이라는 주석이다. 혹시나해서 url을 .zip으로 바꿔보니 아래와 같이 파일을 다운받을 수 있었다.http://www.pythonchallenge.com/pc/def/channel.zip 910개의 텍스트 파일이 압축되어있엇다. readme.txt라는 파일이 아래은 아래와 같은 내용을 담고 있었고, 909개의 파일은 모두 지난 4번 문제와 비슷하게 이루어져 있었다.(Next nothing is ______)시작 숫자는 90052이다. 처음에는 뭣도 모르고 우선 압축을 푼 후 아래와 같이 쉽게 코드를 짤 수 있었다. # pc6 path = "./channel/" num = 90052 fo..
# 다섯 번째 문제발음해라? 소스를 보니 아래와 같았다.peak hell과 비슷한 소리? 우선 banner.p를 들어가 보니 아래와 같았다.아, peak hell은 피클(pickle)이라는 힌트를 주려는 것 같다. python에 pickle이라는 모듈이 있고, 아래는 자료를 pickle을 이용해 dump했을 때 파일에 써지는 형태이다(S, p1, p2 같은 것들이 보이면.... ) 파일을 읽어서 처리해야 할 듯 하므로 파일로 저장해준다. pickle모듈은 간단히 아래와 같이 사용한다. 자료를 파일에 쓸때는 dump, 파일을 자료로 쓸때는 load를 사용. # pc5 import pickle f = open('pc5.txt') load = pickle.load(f) print load 결과는 아래와 같이 ..
# 네 번째 문제 아무런 설명 없이 그림만 딸랑 있다. 그림에 링크가 걸려있어 클릭해보니 아래와 같은 창이 뜬다. url을 보니 뒤에 nothing=12345라는게 붙어있고, 다음 nothing는 44827이라고 한다. 다시 전 페이지로 돌아와 소스를 보니 힌트가 주어져 있다. urllib를 사용하고, 400번 안에는 끝날거라고 한다. 아마 저 숫자를 몇 백 페이지 동안 넘겨야 하는 듯 싶다. 그렇다면 http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345 페이지에 접속해 내용을 읽은 후 숫자를 얻어와서 nothing를 바꾼 페이지에 다시 접속, 이를 반복해면 될 듯 하다. # pc4 import urllib url = "http://www..
# 세 번째 문제작은 문자 하나가 각 사이드에 3개의 큰 보디가드로 둘러쌓여있다? 우선 소스를 보았다.아, 양쪽이 대문자 3개씩으로 둘러쌓여있는 소문자를 찾으면 될 것 같다. 마찬가지로 길기때문에 파일에 저장시켰다. 파일을 한 줄 씩 읽어서 확인하면 다음줄과 이어지는 끝부분을 처리하기 힘들 것 같아서한번에 읽은 후 엔터를 없애 한줄의 문자열로 만들어 주었다.그리고 소문자를 찾아 앞에 3개가 대문자이고, 뒤에 3개가 대문자인지, 또 앞뒤로 4번째는 대문자가 아닌지 확인하는 코드를 아래와 같이 작성하였다. #pc3 import string f = open('pc3.txt', 'r') r = "" while 1: line = f.readline() if not line: break else: r += line..
# 두 번째 문제 책에 있는 문자를 인식하라고?? 아... 페이지 소스에 있을 거란다. 소스 보기를 하니 아래와 같이 문제가 나와있다. 아래 복잡해 보이는 것들에서 희귀한? 문자를 찾으란다. 많이 나오는 것들을 다 지우면 될 듯 하다. 우선 복잡한 문자들을 pc2.txt라는 파일에 저장해주었다. 이 파일을 읽어서 많아 보이는 특수문자들을 다 지우는 코드를 아래와 같이 짜보았다. #pc2 import string f = open('pc2.txt','r') while 1: line = f.readline() if not line: break else: print line.strip(string.punctuation) f.close() 한 줄씩 읽어서 특수문자를 없앤 line을 출력하다 보니 결과가 너무 길어..
# 첫 번째 문제 K를 M으로, O를 Q로, E를 G로, 알파벳이 2칸씩 당겨졌음을 알 수 있다. A는 C, B는 D, C는 E, .... 위의 규칙을 가지고 보라색의 알아볼 수 없는 글씨를 알아 볼 수 있게 해야 된다. 개인의 생각에 따라 코딩은 다양하게 나올 듯 싶다. 나는 아래와 같이 코딩했다. #pc1 import string alpha = string.ascii_lowercase str = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pca..
무작정 언어만 공부하기 지루할때는 문제를 풀어보면서 배우는 것도 하나의 방법이다.지금부터 풀어볼 사이트는 python 프로그래밍을 공부하기 위한 사이트이다.뭐 시간이 나면 python외에 다른 언어를 사용해서 풀어봐도 좋을 듯 하다. http://www.pythonchallenge.com/특별히 로그인이 필요없어 랭킹이나 점수가 없고, 단계별로 URL을 기억해 놓아야할 것 같다.시간이 남는다면 매번 다른 언어나 다른 방법으로 풀어봐도 좋을 듯. 아래 빨간 박스 친 곳을 클릭하면 문제가 시작된다. # 몸 풀기 문제여기는 문제가 이미지로 나오기 때문에 약간의 센스와 약간의 영어 실력이 필요하다. 2의 38제곱을 구하는 문제. 힌트를 보니 URL을 이용해 다음 단계로 넘어가는 것을 알 수 있다. 몸 풀기 문제..
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 압축 풀린 파일을 보니 아래와 같이..