LEVEL 2

crawling

web
  • 문제 정보
  • 풀이 47
  • 난이도 투표 77
  • 질문 5
  • 최근 풀이자 600
  • 댓글 35
해당 문제는 Dreamhack CTF Season 1 Round #12 에 출제된 문제입니다.

문제 설명

드림이는 웹 크롤링 사이트를 구축했습니다.
크롤링 사이트에서 취약점을 찾고 flag를 획득하세요!

문제 수정 내역

2024.02.13 풀이자에게 제공되는 파일 일부가 변경되었습니다.

난이도 투표 77

질문 5

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
왜 서버의 공인 IP 를 직접 입력하면 접근이 안되는건가요??
#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).netloc) if ip == False or ip =='0.0.0.0': return "Not a valid URL." res=requests.get(url) if check_global(ip) == False: return "Can you access my admin page~?" for i in res.text.split('>'): if 'referer' in i: ref_host = urlparse(res.headers.get('refer')).netloc if ref_host == 'localhost': return False if ref_host == '127.0.0.1': return False res=requests.get(url) return res.text @app.route('/admin') def admin_page(): if request.remote_addr != '127.0.0.1': return "This is local page!" return app.flag @app.route('/validation') def validation(): url = request.args.get('url', '') ip = lookup(urlparse(url).netloc) res = check_get(url) return render_template('validation.html', url=url, ip=ip, res=res) @app.route('/') def index(): return render_template('index.html') if name=='main': app.run(host='0.0.0.0', port=3333) 일단 SSRF와 Open Redirection을 활용해서 문제를 풀기는 했습니다. 근데 이 방법이 안 되는 이유를 정확히 모르겠네요. 문제 코드이고, index 페이지에서 그냥 서버 주소를 넣으면 어디서 막히는건지 잘 모르겠어요. 뭔가 False 하고 뜨는것도 아니고 그냥 한참 요청이 처리되지 않다가 오류가 표시되네욤 그리고 referer 헤더를 확인하는 부분이 정확히 어떤 역할인지 모르겠습니다.
611h
LEVEL 2

crawling

web

출제자 정보

avatar
Dreamhack
대표 업적 없음

First Blood!

zero829
CTF Third Place
출제된 지 1시간 만에 풀이 완료!

최근 풀이자 600

avatar
4THêNē
.HACK 2025 참가자
hihihi1234
강의 수강: 10
nmmn
웹해킹 중급자
curons
워게임: 1
리눅스마스터에요
대표 업적 없음
butadong2ee
대표 업적 없음
Dirstibone
워게임 풀이: 1
roronoa
대표 업적 없음
avatar
jin182
대표 업적 없음
cmdking
대표 업적 없음

댓글 35

avatar
4THêNē
.HACK 2025 참가자
?
avatar
Geonu
대표 업적 없음
DNS Rebinding rbndr.us
오늘의 나보다 나아진 내일을 희망하며
avatar
swap
.HACK 2025 참가자
몰랐던 지식을 알 수 있어 좋았습니다
avatar
Rootsquare
바탈리온
어라라... 필터가 뭔가 이상하다...?
웅머
웹해킹 전문가
이게 왜 레벨 2?
avatar
yoobi
워게임 고인물
good
avatar
ssongk
2024 Invitational Contenders
이것이 ssrf..?
sinse100
대표 업적 없음
to hack is to think slow
avatar
st4nchion
대표 업적 없음
GG