Python/2.7 simple coding(+ c++) 42

Enigmagroup missions/programming 4

대충 흑백이 이진수같다는건 알았지만 어떻게할줄 몰라서 여기저기 물어봤었는데.... 사진에서 1픽셀씩 얻어와서 8자리씩 끊은 후 그걸 십진수로 만들고 아스키코드로 만들면 글자가 된다고 한다. 근데 키값은 얻었는데 문제에 image.php로 전송하라고만 있을뿐 GET인지 POST인지 변수는 뭐로줘야하는지 안알려줘서 이것저것 다해봤는데도 답이 안나온다. 그래서 그냥 답만 내고 포기.... import os,sys,urllib2,Image def download_photo(img_url, filename): file_path = "%s%s" % ("C:\\Users\\Ko\\Documents\\Visual Studio 2012\\Projects\\PythonApplication27\\", filename) do..

Enigmagroup missions/programming 5

4번은 지식이 부족해서인지 잘 모르겠다. 나중에 다시 풀어봐야겠다. 5번은 이상한 언어가 중간에 있고 실행시마다 바뀐다. 미션은 이 코드를 분석해서 그 분석한 결과값을 ?ans=의 GET방식으로 보내는게 목표이다. 이건 brainfuck이라는 언어이다. 이 부분을 읽어와서 해석하면 된다. 근데 구글에 brainfuck interpreter라고 쳐봐도 자바스크립트만 나와서 파이썬용으로 찾았다. https://github.com/DoctorLai/PyUtils/blob/master/bf.py 여기에 어떤분이 친절하게 올려주셔서 가져다가 조금 수정해서 썼다. import urllib2 def bf(src, left, right, data, idx): """ brainfuck interpreter src: so..

Enigmagroup missions/programming 3

image.php에 랜덤으로 이미지가 생기는데 그 이미지를 받아서 rgb값을 분석한 뒤에 1초안에 rgb값을 post형식으로 보내라. 형식은 color=255;255;255&submit=1처럼 한다. 이미지 분석 모듈.(pil) http://kylog.tistory.com/17 http://effbot.org/downloads 여기서 참고받아서 pil모듈로 이미지를 분석하였고, url에서 이미지를 다운받는 부분이 잠시 헷갈렸는데,(이전까지는 그냥 cmd에서 wget으로 받았는데, 이 문제를 풀기 위해서는 wget으로 되지 않았다. wget으로는 세션값을 추가할수 없기 때문. wget으로 받았을시 그냥 검은색 이미지만 다운받아졌다.) 여기서 또 찾았다.http://marobiana.tistory.com/1..

Enigmagroup missions/programming 2

Objective: You have 1 second to multiply this random number 30882470 by 4 and submit it 랜덤으로 나타나는 숫자에 대해 4를 곱한 값을 적어서 1초안에 요청을 보내라. 근데 단순히 계산한값만 보내면 안된다. 보낼때 몸체부분을 보면 내가적은 답 뿐만아니라 시간, 어떤 해쉬값도 같이 가기 때문이다.(이게 하나라도 틀리면 인정 안됨.) 정규식에 익숙하지 않아서 더럽게 구분해서 짰다.. import urllib2 req = urllib2.Request('http://www.enigmagroup.org/missions/programming/2/index.php') req.add_header('cookie','enigmafiedV4=내 쿠키') r..

Enigmagroup missions/programming 1

Your objective is to send a POST header to this script. The POST content must contain your IP Address and your USERNAME. The variable names are ip & username! ONE MORE THING... MAKE SURE you send a cookie with the value mission=yes What? You haven't posted it yet??? Get Coding!!! POST메소드로 내 아이피주소와 USERNAME을 보내라. 변수 이름은 ip와 username으로 해라. 하나더.. 쿠키에 mission=yes를 추가해라. 코딩해라. 코딩시 세션을 유지하기위해 쿠키중에 eni..

wargame.kr pw_crack

codeshell의 admin_pass 보다 어려운 버전이다. 아마 codeshell이 이 문제를 보고 조금 쉽게 만든 버전인 듯... 소스를 보면......... $password=auth_code("pw crack"); $dest = $_SERVER['REMOTE_ADDR']; $port = 31337; $data=""; $sock = @fsockopen($dest,$port,$errno,$errstr,10); if(!$sock){die("IP : $dest port : $port Connection Error Please, open your port!");} fwrite($sock,"password : "); for($i=0;$i 4 + len(answer)*2: #걸린 시간이... 4초 + 답의길..

파이썬챌린지.com 5

http://www.pythonchallenge.com/pc/def/peak.html 뭔지 모르겠다. http://www.pythonchallenge.com/pc/def/banner.p 라는 이상한 주소를 찾긴했는데 뭔 짓을 해야될지 모르겠다. 파이썬 peak, 파이썬 peak hell 등으로 검색해봤더니 peakle모듈을 이용하는 문제라고 한다.. 아...... peakle모듈은 dump로 어떤 인코딩을 해서 저장(?)하고 load로 다시 디코딩을 해서 불러온다. (딱히 표현할 말이 생각안나서 인코딩 디코딩이라고 표현했습니다.) banner.p를 다운받아서 인코딩된거라 가정하고 디코딩을 해봤습니다. import pickle file = open('banner.p','rb') data = pickle.l..

파이썬챌린지.com 4

http://www.pythonchallenge.com/pc/def/linkedlist.php ? 아무것도 없고 사진 클릭하면 and the next nothing is 44827 이 나옵니다. url은 http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345 이고요. 그럼 바꿔봐서 http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=44827 로 들어가봅시다. and the next nothing is 45439 가 나옵니다. 한번 더 숫자써보면 너 손아플꺼야.. 라고 나옵니다. 노가다문제네요. 파이썬으로 짜면. 파이썬으로 짤 시에 항상 is뒤에 숫자가 나오는걸 감안해서 is뒤의 값을..

파이썬챌린지.com 3

http://www.pythonchallenge.com/pc/def/equality.html하나의 소문자가 정확히 3개의 대문자 사이에 있다. 그러면 소문자 1개,대문자3개, 소문자1개 대문자3개 소문자 1개 이리 있다는 소리 같습니다. #정규식 모듈 re # -*- coding: euc-kr -*- import urllib2,re req = urllib2.Request('http://www.pythonchallenge.com/pc/def/equality.html') res = urllib2.urlopen(req) reads = res.read() str = re.findall('[a-z][A-Z]{3}([a-z])[A-Z]{3}[a-z]',reads) answer = '' for i in range(0..

파이썬챌린지.com 2

http://www.pythonchallenge.com/pc/def/ocr.html 문자를 찾아라. 아마도 그것들은 책에 있거나 아니면 아마도 그것들은 페이지 소스에 있을것이다. 보나마나 소스에 있겠죠 뭐. 헙. 페이지 소스에 엄청나게 많은 이상한 기호들이 나타나며 그사이에서 문자를 찾으란다. 중략했지만 끝 줄번호가 1257까지 이런 이상한 문자가 이어짐. 저기 저 주석 사이에서 알파벳을 찾으면 된다. 쉽다. 맨날 쓰는 urllib2으로 짜면 됨. # -*- coding: euc-kr -*- import urllib2 req = urllib2.Request('http://www.pythonchallenge.com/pc/def/ocr.html') res = urllib2.urlopen(req) reads ..

파이썬챌린지.com 1

http://www.pythonchallenge.com/pc/def/map.html 0번이 너무 간단해서 1번도 이것만 보고는 아래의 문자열을 k를 m으로, o를 q로, e를 g로 바꿔줬는데 아무 의미가 없는 글자다.. 곰곰히 계속보니 k에서 두글자 뒤가 m( k l m), o에서 두글자뒤가 q,( o p q) e에서 두글자 뒤가 g이다. (e f g) 나머지도 다 바꿔주면 되는건가? 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 pcamk..

파이썬챌린지.com 0

해킹 문제 아닙니다. 어디서 돌아다니다 찾아낸 파이썬 프로그래밍 관련 문제입니다.http://www.pythonchallenge.com/index.php가 원 주소입니다.Click here to get challenged를 눌러서 한번 문제를 풀어보도록 하죠... http://www.pythonchallenge.com/pc/def/0.html 가 문제 주소이고 url주소를 저 힌트?에 관해서 바꾸라네요? 2^38승 계산하란 소리인가요?print 2**38결과로 나온 274877906944 로 바꾸면 됩니다.. 처음이라 그런지 쉽네요.http://www.pythonchallenge.com/pc/def/274877906944.html