webhacking(67)
-
old-15 풀이
Access_Denied라는 팝업창이 뜨면서 접속이 되질 않습니다 아마 JS에서 접속 차단 코드가 동작하는 것을 추측됩니다 페이지 소스를 확인해봐야 할 것 같은데.... Python Request로 받기는 귀찮으니 JS를 끈 상태로 접속해 보겠습니다 JS를 끈 상태로 접속하니 흰 화면이 떴습니다 페이지 소스 보기로 코드를 가져오겠습니다 alert()로 문자열을 띄운 다음에 바로 리다이렉션을 시키고 있습니다 그리고 그 아래에 document.write() 구문이 있습니다 ?getFlag에 접속하면 FLAG를 획득할 수 있는 것 같습니다
2023.12.21 -
old-01 풀이
$_COOKIE['user_lv']>=4 $_COOKIE['user_lv']>3 위 조건들을 보니 쿠키의 값이 3보다는 크면서 4 이상이 되면 안 됩니다. 이러면 3.x와 같은 식으로 소수를 쿠키의 값을 줘야 합니다. 쿠키의 값이 1로 설정되어 있는 것을 확인할 수 있습니다. 이를 3.5로 바꿔보겠습니다. 페이지를 이동하니 문제가 해결되었습니다. (원래는 old-01 Pwned!라는 문구가 나와야 하는데, 이미 풀고 나서 블로그를 쓰고 있기에 already solved라고 뜨는 겁니다)
2023.12.21 -
crawling 풀이
#app.py import socket import requests import ipaddress from urllib.parse import urlparse from flask import Flask, request, render_template app = Flask(__name__) app.flag = '__FLAG__' def lookup(url): try: return socket.gethostbyname(url) except: return False def check_global(ip): try: return (ipaddress.ip_address(ip)).is_global except: return False def check_get(url): ip = lookup(urlparse(url).n..
2023.04.23 -
Web - Server | HTTP - IP restriction bypass
Your IP ::ffff:220.116.191.29 do not belong to the LAN. Intranet Login: Password: You should authenticate because you're not on the LAN. 메인 페이지 소스코드부터 가져와봤습니다. 웹페이지의 맨 위를 보니 사용자의 IP가 나와있고, 이 IP가 사설 대역 IP가 아니라고 써져있습니다. IP를 사설 대역으로 속여야만 FLAG를 얻을 수 있을 것 같습니다. https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Forwarded-For X-Forwarded-For - HTTP | MDN X-Forwarded-For (XFF) 헤더는 HTTP 프록시나 로드 밸런..
2022.06.11 -
Web - Server | HTTP - POST
Give a try! 버튼을 눌러서 Best Score인 999999를 넘기면 되는 문제 같습니다. Give a try! 버튼을 눌러봤더니 188150이 나왔네요. 아무래도 랜덤으로 값을 출력해주는 것 같으니, 소스코드를 뜯어보겠습니다. 역시나 .random()을 써서 랜덤 값을 출력해주고 있었습니다. score라는 변수에 hidden 속성으로 값이 들어가네요. Burp Suite를 켜서 score 변수가 존재하는지 확인해보겠습니다. score 변수가 존재했습니다. 아까 버튼을 눌렀을 때 나왔던 숫자가 그대로 들어가 있는 걸 보니, 이 변수의 값을 9999999로 바꾸면 될 것 같습니다. FLAG가 나왔습니다.
2022.06.10 -
Web - Server | HTTP - Headers
문제 정보에 HTTP response가 정보를 제공한다고 적혀있습니다. 바로 Burp Suite로 Intercept 한 패킷을 열어보겠습니다. Request Packet에는 별다른 내용이 없지만, Response Packet의 Header 부분에 Header-RootMe-Admin이 존재합니다. Header-RootMe-Admin을 Request에 넣고 요청해보겠습니다. 생각보다 엄청 간단한 문제네요...? 바로 Response에 FLAG가 떴습니다.
2022.06.09