문제가 moo directory에서 아래에 랜덤으로 3개 나온 문자열이 나온 서브디렉터리의 위치를
찾아서 서브디렉터리:문자열; 형식으로 이어주는건데.. moo directory가 뭐지? 싶어서 이것저것 찾아봤다.
포럼에서 글을 보니 http://securityoverride.org/challenges/programming/10/moo/
가 moo 디렉터리를 말하는 거였다.. 브루트 포스 공격하듯이 하나하나 서브디렉터리로 들어가봐서
해당 문자열이 존재하면 이어주면 된다. 오히려 level9보다 더 쉽다.
# -*- coding: euc-kr -*- import urllib2,re req = urllib2.Request('http://securityoverride.org/challenges/programming/10/') req.add_header('cookie','fusion_visited=yes; PHPSESSID=쿠키') strs = re.findall("<code style='white-space:nowrap'>\s*(.*?)\s*</code>",urllib2.urlopen(req).read())[0].split('; ') print strs count = 0; answer = [] for i in range(1,101): print i req = urllib2.Request('http://securityoverride.org/challenges/programming/10/moo/'+str(i)+'/') req.add_header('cookie','fusion_visited=yes; PHPSESSID=쿠키') page = urllib2.urlopen(req).read() if count == 3: break elif page.find('fail') == -1: print 'find! :',i,page answer.append( str(i)+':'+strs[count] ) count += 1 answer = urllib2.quote('; '.join(answer)) req = urllib2.Request('http://securityoverride.org/challenges/programming/10/','CSRF_TOKEN=%3C%3Fphp+echo+%24_SESSION%5B%27CSRF_TOKEN%27%5D%3B%3F%3E&string='+answer+'&submitbutton=+Time+Has+Expired+') req.add_header('cookie','fusion_visited=yes; PHPSESSID=쿠키') print urllib2.urlopen(req).read()
'Python > 2.7 simple coding(+ c++)' 카테고리의 다른 글
lob gremlin->cobolt (4) | 2014.12.31 |
---|---|
Security Override Programming 11~12 (0) | 2014.12.23 |
Security Override Programming 9 (0) | 2014.12.18 |
Security Override Programming 8 (0) | 2014.12.18 |
Security Override Programming 6~7 (0) | 2014.12.17 |