Plz Login

2026. 2. 9. 22:11·Alpacahack
반응형

Topic: Flask

분야: Web

난이도: Medium

Please login! I won't tell you the password tho!


코드분석

@app.post("/login")
def login():
    username = request.form.get("username", "")
    password = request.form.get("password", "")

    if username[0] not in "aA" or username[1:] != "dmin" or password != "**REDACTED**":
        return render_template("login.html", error="You are not Admin"), 401

    return render_template("flag.html", flag=FLAG)
  • username과 password를 입력받음
  • username의 첫 번째 자리가 a나A가 아니거나 그 뒤가 dmin이 아니거나 password가 맞지 않으면 "Your are not Admin"이 렌더링
    즉, 즉 username은 admin이 나 Admin이 고정임
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=3000, debug=True)
  • debug=true로 디버거 모드로 실행

취약점 분석

  • 디버그 모드 노출
    예외 처리를 하지 않아 예외 발생 시 디버그 페이지 제공
  • 하드코딩 비밀값
    민감한 내용을 코드에 직접 작성 = 디버그, 로그, 예외 출력 등 여러 경로로 유출될 가능성

익스플로잇

먼저 로그인 페이지에서 admin : 12345를 입력해봄

 

디버거 모드로 진입하기 위해 다음과 같은 페이로드를 작성해 줌

username=&password=1234

 

디버거 페이지가 출력되는 것을 확인할 수 있음.

 

따라서 아까 코드분석에서 username과 password 조건을 확인해보면

하드코딩 된 password가 출력되는 것을 확인할 수 있다.

반응형

'Alpacahack' 카테고리의 다른 글

You are being redirected  (0) 2026.02.16
Inu Profile  (0) 2026.02.11
Xmas Login  (0) 2026.02.06
Magic Engine  (0) 2026.02.05
Alpacahack: No JS  (0) 2026.02.01
'Alpacahack' 카테고리의 다른 글
  • You are being redirected
  • Inu Profile
  • Xmas Login
  • Magic Engine
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
    alpacahack
    webhacking
    드림핵
    web
    hacking
    cve
    JavaScript
    CSRF
    JS
    DreamHack
    LLM
    webstudy
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
y3onbug5
Plz Login
상단으로

티스토리툴바