Don't give up

Hello World!

|

여러분의 방문을진심으로 환영 합니다

언제나 열심히 노력하겠습니다. 😀

총 방문자

121

포스팅

구독자

블로그 운영
Web Study/Training

[Dreamhack] command-injection-1 문제 풀이

서버 생성 / 문제 파일 받기 페이지를 살펴보면 host를 입력하여 ping 명령어가 작동되는 걸 알 수 있습니다 host 이외의 다른 명령어를 대입해 봤는데 올바른 형식이 아니라고 나오네요 #!/usr/bin/env python3 import subprocess from flask import Flask, request, render_template, redirect from flag import FLAG APP = Flask(__name__) @APP.route('/') def index(): return render_template('index.html') @APP.route('/ping', methods=['GET', 'POST']) def ping(): if request.method == 'P..

Web Study/Theory

OS Injection이란?

OS Injection OS Command Injection 또는 Shell Injection은 웹 응용 프로그램이 구동 중인 웹 서버 운영체제에서 명령을 실행하는 취약점입니다 이때 웹 응용 프로그램은 HTTP 폼, HTTP 헤더, 쿠키와 GET 파라미터를 통해 사용자로부터 시스템 Shell을 전달받는데 사용자가 제공하는 입력 값에 대한 검증이 제대로 구현되어 있지 않다면 해당 취약점을 악용할 수 있습니다 이 취약점을 통해 명령어를 실행하면 웹 서버에 구동하는 계정의 권한으로 실행됩니다 이 계정의 권한으로 공격자의 권한을 상승시키거나 웹 응용 프로그램을 장악하여 데이터를 손상시킬 수 있습니다 즉 간단히 설명하자면 사용자가 웹 사이트에 쉘 실행 함수를 주입시켜 시스템 명령어를 실행하는 공격입니다 OS In..

Web Study/Training

[Dreamhack] Apache htaccess 문제 풀이

서버 생성 / 문제 파일 다운로드 페이지를 살펴보면 지난 시간에 푼 image-storage 와 동일하게 파일을 업로드할 수 있는 화면이 등장하게 됩니다 지난 시간에 제작한 test.php을 업로드해 봤는데 이번에는 php 확장자로 업로드할 수 없다고 나오네요 아마 내부에서 특정 확장자를 막아둔 거 같습니다

Web Study/Theory

불충분한 인증과 인가 및 프로세스 검증 누락

불충분한 인증과 인가를 설명하기 앞서 HTTP 헤더 구조에서 설명한 파라미터에 대해 잠깐 되짚어 보겠습니다 파라미터(매개변수)란? 파라미터는 매개변수라는 의미를 지니는데 보통 외부에서 전달된 데이터로 사용됩니다 위 사진에 Query String은 ? 뒤에 있는 문자열을 뜻합니다 즉 ? 뒤에 있는 cmd부터는 URL 파라미터 영역입니다 URL 파라미터는 웹 서버에 저장된 프로그램을 사용자가 웹 브라우저를 이용하여 값을 전달하는 것입니다 파라미터는 [파라미터 이름] = [파라미터 값]으로 사용되며 파라미터가 여러 개 일 때는 '&' 기호를 입력하여 파라미터를 이어주는 역할을 합니다 파라미터는 주로 웹 브라우저 상에서 사용자가 페이지를 클릭하여 전환할 때 발생하게 됩니다 불충분한 인증이란? 불충분한 인증은 앞..

Web Study/Training

[Dreamhack] image-storage 문제 풀이

서버 생성 / 문제 파일 받기 페이지를 살펴보면 Upload 항목에 파일을 업로드할 수 있습니다 여기에 드림핵 이미지를 업로드하면 이미지가 업로드된 위치를 반환합니다 이 위치에 방문하면 우리가 업로드한 드림핵 이미지를 확인할 수 있습니다 앞서 배운 파일 업로드 취약점을 이용하여 WebShell을 업로드해 flag 값을 찾아봅시다 Image Storage Home List Upload 파일 업로드 WebShell을 업로드하기 전에 소스코드를 살펴봅시다 문제 파일을 다운받으시면 index.php, list.php, upload.php 소스 파일이 들어있는 걸 알 수 있는데 WebShell 실행 전제 조건 중 서버 사이드 언어에 맞게 작성해야 합니다 upload.php 코드 내부를 살펴봤을 때 WebShell..

Web Study/Theory

파일 업로드 취약점(File Upload Vulnerability)

Web Directory 웹 디렉터리는 웹 사이트의 온라인 카테고리입니다 웹 검색 엔진과 다른 역할을 가지는데 웹 검색 엔진은 사용자가 특정 키워드로 정보를 검색할 때 관련된 웹 페이지를 찾는 반면 웹 디렉터리는 특정한 주제나 카테고리에 관련된 웹 사이트를 정리하여 보여주는 역할을 합니다 File Upload Vulnerability 파일 업로드 취약점은 게시판 등에서 파일의 업로드에 대한 규제가 없을 경우 해커가 악성 스크립트 파일(asp, jsp, php 등)을 업로드하고 파일을 실행시켜 시스템 권한을 획득하거나 사용자의 정보를 탈취할 수 있습니다 파일 업로드 취약점의 동작 원리를 이해하기 앞서 일반적으로 웹 애플리케이션에서 파일 업로드가 어떻게 처리되는지 알아야 합니다 보통 사용자가 파일을 업로드하..

Web Study/Training

[Dreamhack] file-download-1 문제 풀이

서버를 생성하고 문제 파일 다운로드 페이지를 살펴보면 메모를 업로드하라는 index.html 페이지와 Upload My memo 페이지를 확인할 수 있습니다 메모를 업로드하라고 하니 업로드해줍시다 메모를 작성하고 메모지 페이지로 접속해 보니 파라미터 값에 우리가 앞서 작성한 '무사' 이름이 그대로 표시되어 있습니다 즉 URL 파라미터 값의 디렉터리 접근 공격을 이용하여 파일을 다운로드할 수 있습니다 ../ (상위 경로) 하나 입력했을 때는 존재하지 않는 경로라고 표시되지만 flag.py 파일을 찾아야 하므로 ../flag.py를 입력해 봅시다 그러면 이렇게 flag 값을 반환하는 걸 알 수 있습니다 해당 문제는 디렉터리 접근 공격으로 파일을 다운로드할 수 있다는 걸 알려주기 위해 쉽게 제출한 문제인 거 ..

Web Study/Theory

파일 다운로드 취약점(File Download Vulnerability)이란?

파일 다운로드 취약점 원리를 알아보기 앞서 절대 경로와 상대 경로부터 살펴보겠습니다 절대 경로 컴퓨터가 지정한 파일의 최초 경로를 절대 경로라고 합니다 예를 들어 hello.txt 파일을 생성할 때 이 경로가 C:\users\document\hello.txt으로 표시된다면 hello.txt 파일의 절대 경로가 됩니다 이처럼 절대 경로를 알고 있으면 파일 위치를 어디서든 접근할 수 있습니다 그러나 절대 경로가 변경되면 그 위치를 수정해야 하는 단점이 있습니다 요약 : 절대적인 기준인 최초 디렉터리(/)를 기준으로 경유한 경로를 모두 기입하는 방식 상대 경로 현재 파일의 위치를 기준으로 파일의 상대적인 경로를 표현합니다 예를 들어 hello.txt 파일이 ./musa/hello.txt 경로에 존재할 때 절대..

Web Study/Training

[Dreamhack] simple_sqli_chatgpt 문제 풀이

보호되어 있는 글입니다.

Web Study/Training

[Dreamhack] simple_sqli 문제 풀이

보호되어 있는 글입니다.

無事
'분류 전체보기' 카테고리의 글 목록 (2 Page)