S-DEV/웹 해킹 보안과 공격 (4) 썸네일형 리스트형 Command Injection • OS Command Injection - 웹 서비스 기능에 따라 가끔 시스템 명령어를 사용하는 경우가 있다. 예를 들어 현제 서버의 업로드 디렉터리를 조회하는 경우 ls 명령어를 이용하여 결과 값을 웹 페이지에 출력하는 경우가 있다. 만약 시스템 함수의 인자 값을 사용자가 입력하거나 조작할 수 있다면 공격자는 자신이 원하는 시스템 명령을 수행 시키는게 OS Command Injection 공격이다. 메타 문자 설명 && 명령어 연속 실행(앞 명령어에 오류가 없어야 실행이 가능) || 명령어 연속 실행(앞 명령어에 오류가 나야 실행 가능) ; 명령어 구분자(앞 명령어 에러와 상관없이 실행 가능) %0a 개행 문자 • Secure Coding - 꼭 필요한게 아니라면 시스템 함수 사용 금지이며, 만약 필.. XSS(Cross-Site Scripting) • Javascript - 객체 기반의 스크립트 언어 - HTML과 CSS 각각 웹 페이지의 내용과 디자인을 담당하는 정적인 언어 - Javascript는 웹 페이지를 동적으로 변경해 주는 동적 언어 • Cookie - HTTP 프로토콜은 Connectionless 와 Stateless의 특징을 가지고 있어 HTTP 프로토콜에서 클라이언트를 기억하는 등의 상태 유지를 위해 Cookie를 사용한다. (Connectionless: 요청 & 응답 이후에 연결을 종료하는 특징, Stateless : 연결 종료 후 상태 정보를 저장하지 않는 특징) - Key 와 Value로 이뤄지며 서버가 클라이언트에 쿠키 값을 발급하면 클라이언트는 서버에 요청을 보낼 때마다 쿠키를 함께 전송한다. - 서버는 클라이언트 요청에 .. SQL Injection • DB(데이터베이스) 데이터베이스는 구조화된 데이터의 조직화된 모음으로 컴퓨터 시스템에 전자적으로 저장되며 DBMS에 의해 제어된 데이터는 일련의 테이블에서 행과 열로 구성되고 SQL은 대부분의 데이터베이스에서 데이터 작성 및 쿼리에 사용된다. • SQL의 개념 SQL은 관계형 데이터베이스에서 사용되는 '구조적 질의 언어'로 데이터베이스의 구조와 데이터를 조작하는 데 사용된다. - DDL(Data Definiton Language) CREATE, ALTER, DROP - DML(Data Manipulation Language) SELECT, INSERT, UPDATE, DELETE -DCL(Data Control Language) GRANT, REVOKE -TCL(Transaction Control L.. 웹 해킹이란? • 웹 해킹의 개념 웹 해킹은 웹 서버, 웹 애플리케이션, 웹 페이지 등에서 발생할 수 있는 보안 취약점을 악용하여 해커가 공격하는 것을 의미한다. 타 사용자의 권한, 세션 혹은 인증 우회 등을 통해 정보를 유출하거나 변조하는 등 해커의 목적에 따라 다양한 피해를 줄 수 있다. 웹 서비스는 다양한 정보가 저장되어 있고, 다수의 사용자들이 이용하기 때문에 해킹 대상으로 쉽게 노출되어 있다. • 웹 해킹의 분류와 공격 방법 웹 해킹은 크게 Client-Side 공격과 Server-Side 공격으로 분류된다. Client-Side 공격은 XSS, CSRF 등 공격을 통해 Session Hijacking, Cookie Poisoning, 타 사용자 권한 악용 등을 수행할 수 있다. Server-Side 공격은 .. 이전 1 다음