일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- IF문
- 메소드
- sql injection
- 포인터
- element 조회
- lord of sql injection
- htmlspecialchars
- 자바스크립트
- property
- 함수
- Pwndbg
- 파이썬
- 사칙연산
- window
- 객체
- jQuery
- 백준 파이썬
- burp suite
- python
- blind sql injection
- xss game
- 조건문
- object
- 배열
- 김성엽 대표님
- document
- suninatas 풀이
- github
- xss game 풀이
- 백준 알고리즘
- Today
- Total
power-girl0-0
[webhacking.kr - old] 33번 본문
주소 : https://webhacking.kr/old.php
[ 풀이 ]
view-source로 소스코드를 확인해보니, get방식으로 hehe라는 값을 보내면 Next의 하이퍼링크가 생성되는 것 같다!
코드대로, get방식으로 hehe값을 전송한 결과 Next링크가 생성된다!
Next를 클릭하니, 두번째 단계로 넘어간 듯 하다!
이번 단계에서는 post방식으로 두개를 보내면, 링크가 생성된다.
코드를 작성하여, 다음 단계로 넘어갈 수 있었다.
import requests
url="https://webhacking.kr/challenge/bonus-6/lv2.php"
c={'PHPSESSID':'자신의 세션'}
data={"post":"hehe", "post2":"hehe2"}
res = requests.post(url, cookies=c, data=data)
print(res.text)
이번에는, myip로 내 ip를 get방식으로 넘겨주면 된다!
hint라고 출력된 time을 md5로 암호화해서, password의 get방식으로 넘겨주면 4번째도 풀린다!
( 암호화 사이트 : https://www.md5online.org/md5-encrypt.html )
하지만 풀리지 않는다! 그 이유는 매번 hint의 값이 바뀌기 때문이다.
계속 새로고침을 해본 결과, 1초당 1씩 늘어나는 것을 알 수 있었다!
따라서 hint의 값에 어느 정도 더해서 해시값을 구한 뒤, 계속 새로고침을 해보았다.
소스코드를 살펴보니, get방식과 post방식 그리고 쿠키값을 전송해야 단계가 풀린다!
소스코드를 만들어, 문제를 풀었다!
import requests
url="https://webhacking.kr/challenge/bonus-6/md555.php?imget=dobbygation"
c={'PHPSESSID':'자신의 세션','imcookie':'dobbygation'}
data={"impost":"dobbygation"}
res = requests.post(url, cookies=c, data=data)
print(res.text)
이번에는 ip주소를 md5로 암호화해서 쿠키값으로 전송하고, http_user_agent를 md5로 하여, post방식으로 전송하면 된다. ㅎ_ㅎ
소스코드를 만들어서 풀어보자!
import requests
url="https://webhacking.kr/challenge/bonus-6/gpcc.php"
c={'PHPSESSID':'자신의 세션','test':'<자신의 ip를 md5한 값>'}
data={"kk":"<자신의 HTTP_USER_AGENT를 md5한 값>"}
res = requests.post(url, cookies=c, data=data)
print(res.text)
7단계까지 왔다 ~ㅁ~
이번에는 ip주소를 get방식으로 전송하면 된다.
대신 조건이 있다! . 을 없는 값으로 치환하고 있다.
즉, ip주소에서 .을 빼고 get방식으로 전송하면 되는 문제이다!
get방식으로 addr에 127.0.0.1을 전송하면 풀리는 문제이다!
answer을 구해서, get방식으로 넘기면 풀리는 문제이다.
파이썬방식으로 고쳐서, answer을 구했다.
answer=''
i=97
while(i<=122):
answer+=chr(i)
i+=2
print(answer)
<?php
$ip = '<자신의 ip>';
for($i=0;$i<=strlen($ip);$i++) $ip=str_replace($i,ord($i),$ip);
$ip=str_replace(".","",$ip);
$ip=substr($ip,0,10);
$answer = $ip*2;
$answer = $ip/2;
$answer = str_replace(".","",$answer);
echo "answerip/{$answer}_{$ip}.php";
?>
구한 값을 뒤 경로에 이어 적으니, 문제가 풀렸당 :p
'War game > webhacking.kr' 카테고리의 다른 글
[webhacking.kr - old] 35번 (0) | 2021.06.29 |
---|---|
[webhacking.kr - old] 34번 (0) | 2021.06.29 |
[webhacking.kr - old] 28번 (0) | 2021.06.28 |
[webhacking.kr - old] 27번 (0) | 2021.06.28 |
[webhacking.kr - old] 26번 (0) | 2021.06.27 |