webhacking/etc

webhacking.kr 32, 33

qkqhxla1 2015. 1. 15. 16:10

32.

투표하는 방식인데 맨 아래의 join을 누르면 내 아이디가 등록된다. 투표를 하면 vote_ok=ok라는 쿠키값이 추가된다. 쿠키를 지우고 노가다를 하던가 프로그래밍으로 하면 된다.


import httplib, urllib, urllib2
form=urllib.urlencode({'id':'아이디','pw':'비번'})
req = urllib2.Request('http://webhacking.kr',form)
res = urllib2.urlopen(req)
cookie = res.headers.get('Set-Cookie')
for i in range(0,100):
     req2 = urllib2.Request('http://webhacking.kr/challenge/codeing/'+\
                            'code5.html?hit=qkqhxla')
     req2.add_header('cookie',cookie)
     res2 = urllib2.urlopen(req2)
     cookie2 = res2.headers.get('Set-Cookie')
     cookie2 = 'vote_check=0'
     print i;
print '끝',res2.read()

이전에 짜놓은 코드.



33.

33-1 : index.php?get=hehe


33-2 : 이전에 짜두었던 코드. (다음. 33.php)

import httplib, urllib, urllib2
req2 = httplib.HTTPConnection('webhacking.kr')
req2.request('POST','/challenge/bonus/bonus-6/lv2.php','post=hehe&post2=hehe2',\
             {'Cookie':'쿠키',\
              'Content-Type':'application/x-www-form-urlencoded'})
res = req2.getresponse()
print res.read()

33-3 : 33.php?myip=내 아이피주소. (다음 l4.php)


33-4 : get방식으로 password=md5(time())값을 보내면 된다. 현재 시간 값이 페이지에 보이므로 현재 시간에서 30초쯤 뒤의 시간을 해쉬한 후에 시간 맞춰서 보내면 된다. (다음. md555.php)


33-5 : get방식 imget, post방식 impost cookie imcookie를 아무거나 설정해서 보내주면 통과.

옛날에 짰던 코드. (다음 gpcc.php)

import httplib, urllib, urllib2
req2 = httplib.HTTPConnection('webhacking.kr')
req2.request('POST','/challenge/bonus/bonus-6/md555.php?imget=12','impost=12',\
             {'Cookie':'PHPSESSID=쿠키; imcookie=12',\
              'Content-Type':'application/x-www-form-urlencoded'})
res = req2.getresponse()
print res.read()


33-6 : cookie에 내 아이피주소의 md5를 저장한 test라는 값과, post로 유저 에이전트를 md5한 값을 저장한 kk를 보낸다. (다음 wtff.php)

#-*- coding: cp949 -*-
import urllib2,hashlib
req = urllib2.Request('http://webhacking.kr/challenge/bonus/bonus-6/gpcc.php','kk='+hashlib.md5('Python-urllib/2.7').hexdigest())
req.add_header('cookie','PHPSESSID=쿠키; test='+hashlib.md5('내 아이피 주소').hexdigest())
page = urllib2.urlopen(req).read()
print page



33-7 : 내 아이피주소에서 .을 없애고. 이걸 다시 get방식으로 얻어온다.

?(.없앤 내 아이피주소)=(.없앤 내 아이피주소) (다음ipt.php)


33-8 : ?addr=127.0.0.1 (다음 nextt.php)


33-9 : 코드를 복사해서 돌린후, 끝에 echo로 출력해서 결과값만 보면 된다.

?ans=acegikmoqsuwy (다음 forfor.php)


33-10 : 조금 변경해서 답만 출력.


<?

$ip='내 아이피 주소';

for($i=0;$i<=strlen($ip);$i++)
{
$ip=str_replace($i,ord($i),$ip);
}

$ip=str_replace(".","",$ip);

$ip=substr($ip,0,10);

//@mkdir("answerip/$ip");

$answer=$ip*2;
$answer=$ip/2;
$answer=str_replace(".","",$answer);
echo "answerip/$ip/$answer.$ip";
//$pw="###";

//$f=fopen("answerip/$ip/$answer.$ip","w");
//fwrite($f,"Password is $pw\n\nclear ip : $_SERVER[REMOTE_ADDR]");
//fclose($f);


?>




'webhacking > etc' 카테고리의 다른 글

hack this site Realistic missions 1~5, 7  (0) 2015.01.20
hack this site Basic 1~10  (0) 2015.01.20
webhacking.kr 25, 26, 28, 30  (0) 2015.01.15
wargame.kr crack_crack_crack_it  (0) 2015.01.12
WeChall Prime Factory, Training: Math Pyramid, hi  (0) 2015.01.12