분류 전체보기50 파일 다운로드 취약점과 대응 개요와 간단한 설명 파일 다운로드 취약점이란 파일 다운로드가 미흡하게 구현되어서 별도의 인증인가 없이 파일이 다운로드되는 버그가 있는 것을 말합니다. 해당 취약점이 있다면 공격자가 서버에서 별도의 인가 없이 중요한 파일을 다운로드하거나 소스파일 등을 다운로드할 수 있습니다. php로는 아래와 같이 구현되어 있을 수 있습니다. 위의 코드에서 추가적으로 인증과정을 구현해두지 않는다면 fileName 파라미터에 '../../../../etc/passwd'를 입력하면 해당 파일을 다운로드할 수 있습니다. 이런 파일을 포함하여 소스코드 등을 공격자가 얻어낸다면 추가적으로 더 위협적인 공격이 생길 수 있습니다. 파일 인클루션 취약점과 비교 파일 인클루션과 장단점이 교차되어서 해당 취약점과 비교될 수 있습니다. 파일.. 2024. 2. 16. 파일 인클루드 취약점에 대해 개념과 정의 동적 웹페이지를 제작하는 경우 반복되는 코드의 사용이 생깁니다. 이런 부분들을 재작성하지 않고 인클루드를 통해서 단 몇 줄만 작성하면 여려 줄의 반복되는 코드를 굳이 재작성하지 않아도 됩니다. 그러나, 사용자의 파라미터 등의 입력을 통해 받고 보이도록 구현한 경우, 서버 내의 파일이 보이는 취약점이 발생할 수 있습니다. 이런 취약점을 파일 인클루드 취약점이라고 합니다. 아래에서 예를 들어서 설명하겠습니다. 취약점 발생 예시 언어에 따라서 다른 페이지가 보여지도록 구현하는 예시에서 url에 '?lang=ko.php'와 같은 방식으로 되어있다면 공격자는 이 url에서 파라미터를 받고 서버의 특정 위치에서 인클루드 하는 식으로 구현하였다고 추측할 수 있습니다. php 코드 내부는 아래와 같이 작성.. 2024. 2. 16. 전자서명의 필요와 이해 전자서명의 개념 전자서명이란 아날로그 문서가 아닌 전자문서에서 서명의 기능을 수행할 수 있도록 구현하는 기능입니다. 서명이란 개념을 먼저 생각해보면, 문서에 서명을 한다는 것은 특정 누군가가 해당 문서를 인증하고 특정 행위를 한 것을 기록하고 유지시키는 것입니다. 전자서명 기능을 통해서 작성자가 누구인지, 문서가 어떻게 변경되었는지를 기록하고 관리할 수 있는 것입니다. 이런 기능을 하도록 하는 것에 비대칭 암호화 방식을 이용해서 무결성과 추적성을 확보합니다. 필요성 아날로그 환경에서만 문서를 관리하던 때와 다르게 전자적으로 문서를 처리해야 하는 경우가 많아졌습니다. 특히나 기업환경에서는 규모가 커질 수록, 수 많은 문서들이 생성되고 관리되며 이런 부분들이 추적되고 변조 여부를 체크할 수 있어야 합니다. .. 2024. 2. 13. 웹 셸 업로드 공격 및 리버스셸/바인드 실습 실습 목표 본 실습의 목표는 직접 제작한 웹 서버에 웹셸을 업로드하는 공격을 실습해 보는 것입니다. 웹셸을 업로드하는 절차를 알아봄으로써 업로드 공격을 통한 시스템 침투/장악에 대한 작동 원리를 알아보겠습니다. 해당 실습은 상용에서 서비스되지 않는 개인 서버에서 진행되었습니다. 본 실습을 실제 서비스 되고 있는 서버에 하게 되면 범죄입니다. 리버스 셸과 바인드 셸의 경우 웹셸로 연결하기 어렵습니다. HTTP의 경우 비연결성이 있는 프로토콜로 웹셸 실행 결과를 보여준 뒤에 연결이 해제되어 바인딩이 되지 않습니다. 따라서 별도로 리버스 셸을 업로드 하여 연결하여야 하지만, 본 실습에서는 해당 절차를 생략하겠습니다. 환경 서버 : 리눅스 가상서버 침투 : Windows 10 절차 1) 웹에 로그인하여 게시판에.. 2024. 2. 12. aka.ms/alca 해킹 공격 시나리오 개요 이 시나리오를 생각하게 된 것은 아래와 같은 문자를 받았기 때문입니다. 어떻게 봐도 수상해 보이는 이 문자메시지는 뜻밖에도 아주 거짓된 문자는 아닌 것으로 추정됩니다. 하지만, 이렇게 의심스러운 문자를 보내더라도 Microsoft라는 이름을 달고 보내니 저 같은 보안엔지니어가 보기에도 약간 긴가민가 한 것이 사실입니다. 따라서 이런 문자를 받았을 때 어떻게 대처하고, 또 이런 식으로 피싱 문자를 보내고 링크를 클릭하게 되면 어떤 문제가 생길 수 있는지 한번 알아보겠습니다. 위험성 우선 이런 문자를 받았을 때 일어날 수 있는 위험성에 대해서 생각해 보겠습니다. 해당 링크가 정말로 Microsoft가 보낸 것이고 공식적인 사이트로 보냈다면 다행이겠지만 그렇지 않을 경우도 충분히 있을 수 있습니다. 혹시.. 2024. 2. 11. 파일 업로드 공격에 대해 기본 개념과 정의 파일 업로드 공격이란 말 그대로 파일을 업로드하여 서버를 장악하거나 파괴하는 등의 해킹 공격기법입니다. 공격자가 원하는 임의의 파일을 업로드할 수 있는 공격입니다. 큰 파일을 업로드하여 DoS 공격을 할 수도 있고 웹셸은 업로드하여 서버를 장악할 수 도 있으며, 피싱을 위한 파일이나 XSS 공격을 위한 파일을 업로드하는 등 공격 방식이 다양할 수 있습니다. 발생 원인과 위치 파일 업로드 공격이 발생하는 위치는 파일을 업로드 할 수 있는 곳입니다. 주로 게시판을 생각해볼 수 있으며, 그 외에도 프로필 사진을 업로드하거나, 서류를 제출하는 페이지, 또는 신분증을 찍어서 보내는 것도 이러한 공격의 포인트가 될 수 있습니다. 진단을 위한 모의해킹 시에 프락시 도구를 통해서 발생위치를 추정해 볼.. 2024. 2. 9. Web Shell 2 - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 기본 업로드 공격에서 간단한 우회 기술을 실습해보기 위한 문제입니다. 업로드 공격을 통해서 flag.txt 파일의 값을 찾아 읽음으로 플래그를 획득하면 성공입니다. 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Mac OS Burp Suite Simple WebShell 풀이 단계 회원가입 및 로그인 사이트 분석 및 업로드 공격 포인트 확인 웹셸 업로드 시도 실패시 필터링 기능을 분석 및 우회 공격 시도 공격 성공시 페이로드 입력을 통한 플래그 획득 ls find cat 상세한 문제풀이 1) 회원가입/로그인을 통해 사이트에 접근합니다. 본 실습에서는 (id : ctfkill / pw : 3333)을 사용하였습니다. 2) 사이트를 분석하고, 게.. 2024. 2. 9. Web Shell 1 - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 매우 기본적인 웹셸 업로드 공격을 실습해보기 위한 문제입니다. 업로드 공격을 통해서 flag.txt 파일의 값을 찾아 읽음으로 플래그를 획득하면 성공입니다. 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Mac OS Burp Suite Simple WebShell 풀이 단계 회원가입 및 로그인 사이트 분석 및 업로드 공격 포인트 확인 웹셸 업로드 시도 공격 성공시 페이로드 입력을 통한 플래그 획득 ls find cat 상세한 문제풀이 1) 회원가입/로그인을 통해 사이트에 접근합니다. 본 실습에서는 (id : ctfkill / pw : 3333)을 사용하였습니다. 2) 사이트를 분석하고, 게시판의 글을 쓰는 공간에서 업로드 공격이 가능할 것으로.. 2024. 2. 9. Server Side Script와 Client Side Script의 차이 Script란? 스크립트란 대본이라고 생각할 수 있습니다. 대본이란 뭘까요? 특정 누군가가 어떤 환경에서 어떻게 행동하라는 일종의 지침이고 가이드라고 할 수 있겠죠? 가장 쉬운 예로는 연극의 대본을 생각해 볼 수 있습니다. 연극에서 어떤 상황이 주어지고 배우는 그 상황에서 어떻게 행동하고 뭐라고 말하고 하는 등이 적혀있는 것이 연극대본입니다. 컴퓨터에서의 스크립트도 마찬가지입니다. 역할이 배정되기도 하고, 행동이나 대사가 적혀있기도 합니다. 컴퓨터는 스크립트를 해석하고 해석한 내용대로 행동합니다. 하지만 배우가 받는 스크립트와 조명감독이나 카메라 감독이 받는 스크립트는 차이가 있을 수 있겠죠? 그런 식으로 Client Side Script와 Server Side Script의 차이점을 생각해 볼 수 있습.. 2024. 2. 8. Pin Code Crack - SegFault Web Hacking CTF Write up CTF 문제의 목표 본 CTF 문제는 간단한 Brute Force 방식을 통해서 4자리 수 암호를 알아내는 문제입니다. 별도의 제한사항이 없으며 암호의 방식도 매우 단순합니다. 입문자를 대상으로 제작된 CTF문제입니다. Burp Suite의 Intruder 사용법 또는 Python 등의 언어를 통한 코드 작성 기술 실습 환경 본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다. Windows 10 / Mac OS Burp Suite Python 라이브러리 : requests 풀이 단계 사이트에 접근하여 필요한 요구사항 확인 4자리 수 Pin Code를 뚫기 위한 Brute Force 도구 선택 Burp Suite Intruder Python Code 암호 입력 및 플래그 획득 상세한 문제풀이 1).. 2024. 2. 7. 이전 1 2 3 4 5 다음