- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A06:2021-Vulnerable and Outdated Components2023-08-30 20:59:02소개 본 취약점은 소프트웨어 개발 시 사용된 구성 요소(라이브러리, 프레임워크 등)가 취약점이 발견되어 있거나 최신 버전이 아닌 경우 발생할 수 있습니다. 이러한 취약점은 공격자가 취약점을 이용하여 시스템에 대한 악의적인 행위를 수행할 수 있습니다. 예를 들어, 개발자가 오픈 소스 라이브러리를 사용하여 웹 애플리케이션을 개발하는 경우 해당 라이브러리에 취약점이 발견되었을 수 있습니다. 이 경우 해당 라이브러리를 업데이트하여 취약점을 해결하거나 대체할 수 있습니다. 그러나 업데이트하지 않고 사용하면 공격자가 해당 취약점을 이용하여 시스템에 침입할 수 있습니다. 또 다른 예로, 서버 운영자가 운영체제나 웹 서버 소프트웨어를 최신 버전으로 업데이트하지 않은 경우 해당 소프트웨어에 이미 알려진 취약점이 있을 수..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A04:2021-Insecure Design2023-08-28 22:05:39소개 본 취약점은 시스템 설계나 구현 과정에서 보안 고려가 부족하여 발생하는 취약점으로 2021년도에 새롭게 추가된 보안 문제입니다. 이러한 문제는 시스템 설계나 구현 단계에서 보안 고려를 하지 않고 기능 구현에만 집중하는 경우, 시스템의 보안성이 크게 저하될 수 있습니다. 소프트웨어의 보안성을 확보하기 위해서는 소프트웨어 개발 생명주기(SDLC)의 설계 단계에서부터 보안을 고려되어야 합니다. 이러한 취약점은 다양한 형태로 나타날 수 있습니다. 이러한 취약점을 방지하기 위해서는 보안 아키텍처 설계, 접근 제어 설정, 인증 및 인가 설정 등을 수행해야 합니다.또한, 보안 업데이트 및 정기적인 감사를 수행하여 취약점을 최소화해야 합니다. 취약한 예 비밀번호 보안 정책 부재 : 암호화되지 않은 비밀번호를 저장..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A03:2021-Injection2023-08-28 19:55:30소개 사용자 입력값이나 외부에서 입력된 데이터를 검증 없이 실행하는 경우 발생할 수 있는 취약점을 의미합니다. 이러한 취약점은 악의적인 사용자가 애플리케이션에 악의적인 코드를 삽입하거나, 데이터베이스에 접근하거나, 시스템을 제어할 수 있는 등의 위험을 초래할 수 있습니다. 주요한 Injection 공격 유형으로는 SQL Injection, NoSQL Injection, OS Command Injection, XML Injection, LDAP Injection, 등이 있습니다. 예를 들어, SQL Injection 취약점은 데이터베이스에 SQL 쿼리를 전달할 때, 악의적인 사용자가 입력값에 SQL 문법을 삽입하여 데이터베이스를 조작하는 공격입니다. 이를 통해 데이터베이스의 기밀성, 무결성, 가용성을 침해..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A02:2021-Cryptographic Failures2023-08-27 15:51:08소개 본 취약점은 암호화와 관련된 전반적인 취약점을 다루는 카테고리로 암호화 알고리즘 자체에 취약점이 있는 경우, 암호화된 데이터를 쉽게 해독할 수 있습니다. 또한, 충분히 강력하지 않은 키를 사용하거나 키를 안전하게 저장하지 않는 경우, 암호화된 데이터를 해독할 수 있습니다. 인증서를 관리할 때도 취약점이 발생할 수 있습니다. 잘못된 인증서를 사용하거나 인증서를 안전하게 관리하지 않으면, 암호화된 데이터의 안전성이 보장되지 않습니다. 그 외에도, 무작위 수 생성에 사용되는 알고리즘이 예측 가능한 경우, 암호화된 데이터를 해독할 수 있습니다. 또한, 충분한 길이와 복잡도를 갖춘 안전한 비밀번호를 사용하지 않거나, 공격자가 쉽게 추측할 수 있는 비밀번호를 사용하는 경우에도 데이터를 해독할 수 있습니다. 이..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A01:2021-Broken Access Control2023-08-27 12:49:54소개 본 취약점은 액세스 제어에 실패하여 인가되지 않은 사용자가 액세스하거나, 허용되지 않은 기능을 사용할 수 있는 취약점입니다. 예를 들어, 권한 없이 다른 사용자의 데이터를 볼 수 있는 경우, 관리자 권한을 가지지 않은 사용자가 시스템을 관리할 수 있는 경우 등이 있습니다. 일반적으로 웹애플리케이션에서는 관리자가 존재하고 관리자 페이지를 통해 사용자의 액세스 제어 규칙을 정의하고 부여 합니다. 보편적으로 액세스 제어 이슈가 발생하게 되면 심각한 취약성을 나타내는 경우가 많습니다. 액세스 제어 유형 보편적으로 사용자 관점에서 액세스 제어는 세 가지 통제 유형으로 분류할 수 있습니다. 수평적 액세스 제어(Horizontal Access Control): 같은 계층의 사용자들이 동일한 권한을 갖도록 하여 ..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]OWASP Top 10:2021 소개2023-08-27 08:48:20OWASP Top 10은 웹 어플리케이션 보안 취약점 중 가장 많이 발생하는 10가지 취약점을 나열한 보안 취약점 목록입니다. 이 목록은 Open Web Application Security Project(OWASP)에서 4년 주기로 업데이트되며, 현재 최신 버전은 2021년에 발표되었습니다. OWASP Top 10 2021 리스트는 아래와 같습니다. A01: Broken Access Control (액세스 제어 취약점) 인가되지 않은 사용자가 액세스하거나, 허용되지 않은 기능에 액세스하는 취약점. A02: Cryptographic Failures (암호화 취약점) 암호화 관련 결함, 암호화 알고리즘 선택, 구현 문제 등으로 인해 발생하는 취약점. A03: Injection (인젝션) 악의적인 입력값이 ..
- [ 웹애플리케이션 해킹 ]쿠키와 세션2023-08-26 08:44:36쿠키(Cookie) 소개 쿠키(Cookie)는 클라이언트 측에서 데이터를 저장하는 방식으로, 클라이언트 측에 저장된 데이터를 서버가 읽어 사용할 수 있습니다. 쿠키는 브라우저에서 저장되며, 만료 기간을 설정하여 일정 기간 동안만 유지되도록 할 수 있습니다. 일반적으로 로그인 정보나 선호 설정 등을 저장하는 데 사용됩니다. 클라이언트는 서버에 HTTP Request를 보냅니다. 서버는 HTTP Request를 받고, 요청을 처리합니다. 서버는 HTTP Response의 Set-Cookie 헤더를 이용하여 쿠키를 생성합니다. 서버는 쿠키 정보를 HTTP Response의 헤더에 추가하여 클라이언트에게 전달합니다. 클라이언트는 다음 요청 때, HTTP Request의 헤더에 쿠키 정보를 포함하여 서버에 요청을..
- [ 웹애플리케이션 해킹 ]웹 애플리케이션 작동 원리2023-08-25 19:05:12웹 클라이언트 소개 웹 클라이언트 기술은 웹 브라우저에서 실행되는 프로그램으로, 웹 페이지를 생성하고 보여주는 데 사용됩니다. 대표적인 웹 클라이언트 기술로는 다음과 같은 것들이 있습니다. HTML(Hyper Text Markup Language): 웹 페이지의 구조를 정의하는 마크업 언어로, 웹 페이지의 요소들을 표시하는 데 사용됩니다. CSS(Cascading Style Sheets): 웹 페이지의 레이아웃과 디자인을 지정하는 스타일 시트 언어로, HTML 요소들에 스타일을 적용하는 데 사용됩니다. JavaScript: 웹 페이지에서 동적으로 콘텐츠를 생성하고 제어하는 데 사용되는 프로그래밍 언어입니다. JavaScript는 클라이언트 측 프로그래밍 언어로, 브라우저에서 실행됩니다. DOM (Docu..
- [ 웹애플리케이션 해킹 ]웹의 이해와 HTTP2023-08-24 22:27:45웹 소개 웹(Web)은 인터넷을 이용한 정보 공간 중 하나로 웹은 인터넷상에서 웹 페이지를 구성하고 정보를 공유하는 시스템입니다. 팀 버너스 리(Tim Berners-Lee)와 그의 연구팀이 개발한 하이퍼텍스트(Hypertext) 기술과 인터넷 기술을 결합하여 만들어졌습니다. 웹 페이지는 HTML(Hypertext Markup Language)과 같은 마크업 언어를 사용하여 만들어지며, 웹 브라우저를 통해 열람할 수 있습니다. 웹 페이지는 텍스트, 이미지, 비디오, 음악 등 다양한 형식의 데이터를 포함할 수 있습니다. 웹은 HTTP(Hypertext Transfer Protocol)를 사용하여 컴퓨터 간에 정보를 교환하며, 검색, 웹 사이트 열람, 온라인 쇼핑 등 다양한 서비스를 제공합니다. HTTP 소..