728x90 웹해킹 스터디6 ServerSide: File Vulnerability [2. File Upload Vulnerability] File Upload Vulnerability : 웹 서비스를 통해 이용자의 파일을 서버의 파일 시스템에 업로드하는 과정에서 발생하는 보안 취약점 - 이용자가 업로드될 파일의 이름을 임의로 정할 수 있을 때 발생함. (파일 이름에 이용자가 입력한 문자열을 그대로 사용하거나, 이용자의 이메일, 닉네임 등을 포함시키는 등의 소스 코드 패턴) - 파일 업로드 취약점은 크게 Path Traversal과 악성 파일 업로드로 분류됨. Path Traversal 취약점 - 파일 업로드를 허용하는 대개의 서비스는 보안을 위해 특정 디렉터리에만 업로드를 허용하지만, 이러한 제한이 없다면, 악의적인 이용자가 웹 서버의 소스 코드나 서버에 있는 중요 시스템 파일을 덮어.. 2024. 2. 28. ServerSide: Command Injection [2. Command Injection] - 인젝션(Injection): 악의적인 데이터를 프로그램에 입력하여 이를 시스템 명령어, 코드, 데이터베이스 쿼리 등으로 실행되게 하는 기법 - 인젝션의 종류로는 SQL Injection도 존재함. 이 중, 이용자의 입력을 시스템 명령어로 실행하게 하는 취약점을 Command Injection이라고 부름. Command Injection : 명령어를 실행하는 함수에 이용자가 임의의 인자를 전달할 수 있을 때 발생함. - 공격자는 메타 문자를 통해 임의 명령어를 실행하여 셸을 획득할 수 있음. - 해당 취약점은 발생하는 원리는 단순하지만, 공격에 사용되면 웹 애플리케이션에 임의 명령어를 실행할 수 있어 공격 파급력이 높음. - 이러한 취약점을 막으려면 개발자는 입.. 2024. 2. 28. ClientSide: CSRF(Cross Site Request Forgery) [2. Cross Site Request Forgery (CSRF)] - 웹 서비스는 쿠키 또는 세션을 사용해 이용자를 식별함. -> 임의 이용자의 쿠키를 사용할 수 있다면, 이는 곧 임의 이용자의 권한으로 웹 서비스의 기능을 사용할 수 있다는 것! - CSRF : 임의 이용자의 권한으로 임의 주소에 HTTP 요청을 보낼 수 있는 취약점. - 공격자는 임의 이용자의 권한으로 서비스 기능을 사용해 이득을 취할 수 있음 Cross Site Request Forgery 동작 - CSRF 공격에 성공하기 위해서는 공격자가 작성한 악성 스크립트를 이용자가 실행해야 함. (공격자가 이용자에게 메일을 보내거나 게시판에 글을 작성해 이용자가 이를 조회하도록 유도하는 방법) (* 악성 스크립트는 HTTP 요청을 보내는 .. 2024. 2. 15. ClientSide: XSS [2. Cross Site Scripting (XSS)] : XSS는 클라이언트 사이드 취약점 중 하나로, 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있음. - 해당 취약점을 통해 특정 계정의 세션 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있음. - 해당 취약점은 SOP 보안 정책이 등장하면서 서로 다른 오리진에서는 정보를 읽는 행위가 이전에 비해 힘들어졌음. 그러나 이를 우회하는 다양한 기술이 소개되면서 XSS 공격은 지속되고 있음. XSS 발생 예시와 종류 - XSS 공격은 이용자가 삽입한 내용을 출력하는 기능에서 발생. - 클라이언트는 HTTP 형식으로 웹 서버에 리소스를 요청하고 서버로부터 받은 응답, 즉 HTML, CSS, JS.. 2024. 2. 15. Background: Cookie & Session [2. 쿠키] : 일반적으로 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용함. - 쿠키는 서버와 통신할 때마다 전송되기 때문에 쿠키가 필요 없는 요청을 보낼 때 리소스 낭비가 발생할 수 있습니다. 최근에는 이러한 단점을 보완하기 위해 Modern Storage APIs를 통해 데이터를 저장하는 방식을 권장하고 있음. - 상태 정보 : 많은 웹 사이트에서는 회원 가입과 로그인을 통해 개개인에게 맞춤형 서비스를 제공한다. 웹 서버에서는 수많은 클라이언트의 로그인 상태와 이용자를 구별해야 하는데, 이때 클라이언트를 식별할 수 있는 값을 쿠키에 저장해 사용한다. Figure1. HTTP 프로토콜 특징 connectionless : 하나의 요청에 하나의 응답을 한 후 연결을 종료하는 것을 의미 sta.. 2024. 2. 2. Introduction of Webhacking & Background:Web Introduction of Webhacking [1. 웹이란 무엇인가?] 웹 : 월드 와이드 웹(World Wide Web, WWW, W3) -> 줄여서 웹(Web) 웹 서버(Web Server) : 서비스를 제공하는 대상 클라이언트(Web Client) : 서비스를 받는 사용자 [2. 웹 기초 지식] Web Browser : HTTP를 통해 인터넷 상에서 통신을 하며 서버로부터 전달받은 다양한 웹 리소스들을 가공해 사용자가 웹과 HTTP의 동작 원리를 알지 못해도 웹을 사용할 수 있도록 도와주는 소프트웨어 - 대중적으로 많이 쓰이는 웹 브라우저는 Chrome, Edge, Safari, Firefox 등 Web Resource : 웹 상에 존재하는 모든 콘텐츠입니다. (HTML, CSS, JS, PDF.. 2024. 1. 24. 이전 1 다음 728x90