이번 포스트에서는 Python Challenge의 Level 4 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 사진이 한 장 달려 있다. 사진을 클릭하면 다음과 같은 화면이 나온다. 여기서 nothing은 URL의 파라미터인 nothing임을 짐작할 수 있다. 그럼 해당 파라미터를 계속 바꿈으로써 문제를 풀 수 있는 것으로 보인다. ## 문제 풀이 : 파라미터가 여러 번 변경되므로 파이썬을 통해 자동화 코드를 작성해보았다. ### 공격 코드 : from urllib import response import requests url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?" nothing = 12345 ..
이번 포스트에서는 Python Challenge의 Level 3 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : "양쪽에 정확히 세 명의 큰 보디가드에 둘러싸인 작은 글자 하나"라는 문구가 적혀 있다. 여기서 작은 글자는 알파벳 소문자, 큰 보디가드는 알파벳 대문자를 뜻한다. ## 문제 풀이 : 페이지의 소스를 확인해보니 아래와 같이 주석 처리된 긴 문장이 있다. 대충 훑어보니 영어 알파벳으로 이루어진 것을 알 수 있다. 아마 해당 주석문에서 다음 문제의 키가 존재하는 것 같다. 그럼 우리는 힌트를 통해 3개의 대문자 사이에 존재하는 1개의 소문자가 뭐뭐 있는지를 알아내면 된다. 여기서는 파이썬의 정규식을 활용하여 쉽게 구할 수 있다. ### 공격 코드 : im..
이번 포스트에서는 Python Challenge의 Level 2 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : "문자를 식별하라" 라는 문구가 적혀 있고 페이지의 소스 코드 안에 있다는 말도 함께 적혀 있다. 즉 페이지의 소스 코드 내에 답안이 있는 것으로 보인다. ## 문제 풀이 : 마우스 우클릭하여 페이지의 소스 코드를 확인해보겠다. 엄청 긴 소스 코드가 출력된 것을 확인할 수 있다. 여기서 초록색 위주로 보면 되는데, 기호들 사이에 간혹 아래 그림 처럼 알파벳이 들어가 있는 것을 확인할 수 있다. 그럼 파이썬을 활용하여 페이지 소스를 받은 다음에, 기호가 아닌 알파벳만 출력하게끔 하면 될 것 같다. ### 공격 코드 : import requests url..
이번 포스트에서는 Python Challenge의 Level 1 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 알아볼 수 없는 이상한 보라색 문구가 적혀 있다. 그리고 사진 속 K->M, O->Q, E->G가 적혀 있는 것을 확인할 수 있다. 해당 힌트에 대해서 생각해보면 K는 아스키 코드로 75이며 M은 77, O는 79이며 Q는 81, E는 69이며 G는 71이다. 즉 아스키 코드상 +2가 된 것을 알 수 있다. ## 문제 풀이 : 아래와 같이 아스키 코드를 바꿔주는 파이썬 코드를 짜보았다. ### 공격 코드 : cipher_t = input("Input the Cipher : ") plain_t = "" for i in range(len(cipher_t..
이번 포스트에서는 Python Challenge의 Level 0 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : URL 주소를 바꾸라는 문구가 있다. 아마 URL 주소를 맞게 변경하면 다음 레벨로 진입할 수 있는 것으로 보인다. ## 문제 풀이 : URL 주소를 확인해보면 다음과 같다. 0.html로 끝내는 것을 확인할 수 있다. 여기서 간단하게 0을 1로 바꿔보겠다. ### 사용할 공격문 : http://www.pythonchallenge.com/pc/def/1.html ### 실행 결과 : 2**38 is much much larger라는 문구가 출력된 것을 확인할 수 있다. 여기서 잠깐 Level 0의 문제를 확인해보면 컴퓨터 위에 2^38이 적혀있는 포스..