티스토리 뷰

열한 번째 글.

 

 

 

 

문제

바로 view-source를 눌러보겠다.

 

 

 

바로 https://webhacking.kr/challenge/bonus-6/?get=hehe를 넣어주었다.  

 

 

 

이렇게 Next가 생기고 누르게 되면 Challenge 33-2로 넘어가게 된다.

아직 몇개까지 있는지는 모르겠지만 상당히 귀찮은 문제이다...

 

 

 

 

Challenge 33-2

 

 

 

1번 문제와는 다르게 post방식으로 넘겨주고 있다.

바로 파이썬 코드로 작성해 보겠다.

 

 

33-2.py

url = "https://webhacking.kr/challenge/bonus-6/lv2.php"
cookie = {'PHPSESSIONID': 'yoursessionid'}
data = {'post' : 'hehe', 'post2' : 'hehe2'}
request = requests.post(url, cookies=cookie, data = data)
print(request.text)

 

 

 

 

Challenge 33-3

 

 

 

myip가 나의 아이피 주소와 같으면 바로 넘어가는 것 같다.

나의 외부 아이피주소는 nAvEer에  내 아이피~라고 치면 바로 나온다.

https://webhacking.kr/challenge/bonus-6/33.php?myip=나의아이피 바로 주소창에 입력했다.  

 

 

 

Challenge 33-4

 

 

password가 md5(time())과 같으면 문제가 풀린다.

여기서 time() 함수는  1970년 1월 1일 0시 (UTC)부터 흐른 시간을 초단위로 반환해준다.

아마 이 시간을 md5로 암호화하면 문제가 풀리는 것 같다.

 

 

 

33-4.py

url = "https://webhacking.kr/challenge/bonus-6/l4.php"
cookie = {'PHPSESSIONID': 'yoursessionid'}
sec = time.time()
n = math.trunc(sec) # 소수점 버림
numberToString=str(n)

enc = hashlib.new('md5')
enc.update(numberToString.encode())
print(enc.hexdigest())
param = f"?password={enc.hexdigest()}"
request = requests.get(url+param, cookies=cookie)
print(request.text)

시간차가 있기 때문에 몇 번 해보면 다음으로 넘어갈 수 있다.

 

 

 

Challenge 33-5

 

 

 

if 조건이 참이 되게 모든 값을 1로 설정해주면 될 것 같다.

 

 

 

33-5.py

# 5
url = "https://webhacking.kr/challenge/bonus-6/md555.php?imget=1"
cookie = {'PHPSESSIONID': 'yoursessionid', 'imcookie' : '1'}
data = {'impost' : '1'}
request = requests.post(url, cookies=cookie, data = data)
print(request.text)

 

 

Challenge 33-6

 

 

 

자신의 아이피 주소와 User Agent을 md5로 암호화하여 각각 test와 kk와 같으면 되게 하면 된다.

User Agent란 사용자를 대신해서 인터넷에 접속하는 소프트웨어(브라우저)라고 한다.

인터넷 사이트에 접속할 때 User Agent는 사용자에 관한 정보를 전송하게 되는데 그게 바로 

User Agent Header이다.

 

출처 : http://rheasis.blogspot.com/2013/07/user-agent.html

 

 

 

33-6.py

# 6
url = "https://webhacking.kr/challenge/bonus-6/gpcc.php"
cookie = {'PHPSESSIONID': 'yoursessionid', 'test' : 'md5(your ip)'}
data = {'kk' : 'md5(user agent)'}
request = requests.post(url, cookies=cookie, data = data)
print(request.text)

 

 

 

Challenge 33-7

 

 

 

슬슬 끝이 보인다..

단순히 아이피 주소에서. 만 제거하면 될 거 같다.

 

 

 

33-7.py

url = "https://webhacking.kr/challenge/bonus-6/wtff.php"
cookie = {'PHPSESSIONID': 'yoursessionid'}
param = f"?3911215971=3911215971"
request = requests.get(url+param, cookies=cookie)
print(request.text)

 

 

 

Challenge 33-8

 

 

 

별 어려움 없이 addr = 127.0.0.1 이렇게 해주면 될 것 같다.

 

 

 

33-8.py

# 8
url = "https://webhacking.kr/challenge/bonus-6/ipt.php"
cookie = {'PHPSESSIONID': 'yoursessionid'}
param = f"?addr=127.0.0.1"
request = requests.get(url+param, cookies=cookie)
print(request.text)

 

 

 

Challenge 33-9

 

 

 

i가 97부터 시작하여 122번에서 끝나는 걸 보니 a~z인 것 같다.

하지만 i+2씩 진행하기 때문에 aceg~ 이런 식으로 answer에 저장될 것이다.

 

 

 

33-9.py

# 9
url = "https://webhacking.kr/challenge/bonus-6/nextt.php"
cookie = {'PHPSESSIONID': 'yoursessionid'}
answer = ''
for i in range(97, 123, 2):
    answer += chr(i)

param = f"?ans={answer}"
request = requests.get(url + param, cookies=cookie)
print(request.text)

 

 

 

Challenge 33-10

 

 

 

solve가 보이는 걸 보니 드디어 마지막이다...

php코드를 돌려서 풀어봤다.

http://codepad.org/JAJo9Sf8

 

PHP code - 23 lines - codepad

PHP, pasted 4 hours ago:

 

 

https://webhacking.kr/challenge/bonus-6/answerip/answer_ip.php 이런 식으로 주소창에 입력하면 풀린다. 

 

 

 

 

어렵진않은데 너무 길다....

 

'writeup > webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] 35번 문제(old)  (0) 2020.08.10
[Webhacking.kr] 34번 문제(old)  (0) 2020.08.09
[Webhacking.kr] 32번 문제(old)  (0) 2020.08.06
[Webhacking.kr] 22번 문제(old)  (0) 2020.08.05
[Webhacking.kr] 21번 문제(old)  (0) 2020.08.04