LEVEL 1

csrf-1

web
  • 문제 정보
  • 풀이 204
  • 난이도 투표 29
  • 질문 11
  • 최근 풀이자 6638
  • 댓글 202

문제 설명

여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.

CSRF 취약점을 이용해 플래그를 획득하세요.

문제 수정 내역

2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다.

Reference

Client-side Basic

출제자 정보

avatar
Dreamhack
대표 업적 없음

First Blood!

arang
Open Beta Tester
출제된 지 19시간 만에 풀이 완료!

난이도 투표 29

질문 11

문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
admin_notice_flag 쪽에서 이해가 잘 안되는게 있습니다.
@app.route("/admin/notice_flag") def admin_notice_flag(): global memo_text if request.remote_addr != "127.0.0.1": return "Access Denied" if request.args.get("userid", "") != "admin": return "Access Denied 2" memo_text += f"[Notice] flag is {FLAG}\n" return "Ok" if request.args.get("userid", "") != "admin": return "Access Denied 2" 두번째 조건문을 보고 /flag에서 <img src="/admin/notice_flag?userid=admin"> 넣어서 여차저차 풀었는데, 첫번째 조건문에서의 127.0.0.1이라는 주소가 무엇을 뜻할까요? 그리고 처음 문제를 받았을때 /admin/notice_flag 페이지에서 Access Denied가 뜨면 현재 주소가 127.0.0.1이 아니라는 뜻 아닌가요...? 그리고 왜 <img src="/admin/notice_flag?userid=admin">넣은것으로 바로 해결됬을까요? if request.remote_addr != "127.0.0.1":에서 뜻하는 주소의 의미를 알려주세요 if request.remote_addr != "127.0.0.1":의 조건문에서 주소가 127.0.0.1인 경우에만 두번째 조건문으로 들어가 userid를 확인하는 것이 아닌가요? <img src="/admin/notice_flag?userid=admin">를 넣으면 주소가 127.0.0.1로 되는 것일 까요? 아직 모르는것이 많아 어떤분이 보시기엔 너무나 당연한 것을 질문한 것일지 모르겠습니다. 답변해주시는 분들 감사드리며 드림핵내부에서 참고할만한 문서가 있을까요?
cycloid

최근 풀이자 6638

kimjiwan0619
대표 업적 없음
다씨
대표 업적 없음
개지리는들소
대표 업적 없음
avatar
Giappppp
대표 업적 없음
newbiw
대표 업적 없음
rlastudy
대표 업적 없음
서경대김재중
대표 업적 없음
침투고수가될거야
대표 업적 없음
티나핑
대표 업적 없음
gxnzi용
대표 업적 없음

댓글 202

똘비
대표 업적 없음
워게임 처음해보시는 분들... 풀이는 꼭 문제 파일이 아닌 vm서버로 들어가셔요..ㅠㅠ -아무 생각 없이 문제파일 html로 들어가서 며칠 헤맨 사람으로부터-
Samsubong
대표 업적 없음
달콤한 딸기
valmung
대표 업적 없음
딸기
avatar
장근성
공부벌레
딸기
hykid1189
대표 업적 없음
딸기
1121311
대표 업적 없음
xss를 이해하고 풀이했다면 이 문제는 쉽게 풀 수 있네요
O_F
대표 업적 없음
배운대로 하면 됩니다.
해킹초보태규
대표 업적 없음
ㅈㄴ쉽네 ㅋ
avatar
m0d0ri205
웹해킹 입문
딸기
요청만 보내면 된다....