normaltic 취업반 5기/내용 정리(17)
-
[normaltic 취업반 5기] 2024-01-10 11주차 내용 정리
XSS 대응 방안 XSS 공격에 대한 대응 방안으로는 여러 가지가 존재한다. 그중 HTML Entity와 필터링에 대해 알아보도록 하자. 1) HTML Entity [1] 개념 HTML Entity는 HTML에서 특정 특수문자를 사용하기 위해 &(앰퍼샌드)로 시작해서 ;(세미콜론)으로 끝나는 문자열 형태를 의미한다. 예시로 HTML에서 꺽쇠()는 태그의 시작과 끝을 의미하는 특수문자로 약속이 되어있다. 이때 '' 특수문자를 HTML에서 나타내고 싶으면 ''는 '>'로 대체하여 입력해 주면 된다. [2] 자주 사용하는 특수문자 코드 [3] 예외 XSS 공격은 자주 사용하는 특수문자만 HTML Entity로 치환해줘도 대부분 방지할 수 있다. 그러나 예외인 경우가 존재하는데 HTML Editor가 존재하는 ..
2024.01.11 -
[normaltic 취업반 5기] 2023-12-27 10주차 내용 정리
DOM (Document Object Model) HTML은 태그의 집합으로 이루어져 있으며 트리 구조로 객체가 형성된다. 이러한 트리 구조를 DOM(Document Object Model)이라 한다. DOM 구조에 접근하기 위해서는 Javascript와 같은 스크립트 언어를 사용해야 하며 이를 통해 DOM 구조에 요소를 추가한다거나 제거할 수 있다. DOM Based XSS DOM Based XSS는 DOM 구조에 접근하여 요소를 추가한다거나 수정하기 위해 Javascript에 악성 스크립트를 삽입하여 클라이언트 브라우저에서 악성 스크립트가 작동하게 하는 XSS 공격 중 한 종류이다. DOM Based XSS vs Reflected XSS DOM Based XSS는 Reflected XSS와 같이 동적..
2023.12.28 -
[normaltic 취업반 5기] 2023-12-20 9주차 내용 정리
XSS (Cross Site Scripting) XSS란 크사 혹은 크스스라고도 불리며 웹 해킹 공격 기법 중 한 종류이다. XSS는 다른 웹 해킹 공격 기법과는 다르게 클라이언트, 즉 사용자를 타깃으로 공격한다. XSS는 Javascript와 같은 스크립트를 게시판이나 URL에 악의적인 의도로 삽입하여 피해자의 쿠키 혹은 세션을 탈취한다거나 피해자가 의도치 않은 명령을 실행시키도록 한다. XSS는 대표적으로 두 가지 종류의 공격 방법이 존재하며 다음과 같다. Stored XSS (저장형 XSS) Reflected XSS (반사형 XSS) Stored XSS Stored XSS는 이름 그대로 악의적인 스크립트를 웹 서버에 저장하여 사용자가 해당 스크립트를 출력하도록 만든다. 예시로 게시판 기능이 존재하는..
2023.12.21 -
[normaltic 취업반 5기] 2023-12-13 8주차 내용 정리
SQL Injection 공격이 가능하려면? SQL Injection 공격은 주로 사용자가 입력을 할 수 있는 입력창에서 발생한다. 그러나 입력창이 아니더라도 SQL Injection 공격은 DB와 관련된 곳이라면 어디든지 발생할 수 있다는 것을 인지해야 한다. SQL Injection 공격이란 공격자의 입맛에 맞게 SQL 질의문을 삽입함으로써 공격대상의 DB에 존재하는 데이터를 추출하는 것으로 목표로 한다. 그렇다는 것은 SQL Injection 공격은 DB와 연결되어 있으며 DB에서 데이터를 조회하는 곳(select 구문이 존재하는 곳)이라면 어디든지 가능하다는 의미이다. *SQL Injection 공격이 발생 가능한 조건 DB와 연결되어있어야 한다. DB에서 데이터를 조회해야 한다. (select ..
2023.12.13 -
[normaltic 취업반 5기] 2023-12-06 7주차 내용 정리
Error Based SQL Injection Error Based SQL Injection 공격은 SQL Injection 공격 중 한 종류로서 SQL 쿼리문에 문제가 있을 때 출력되는 에러 메시지를 이용한다. SQL 쿼리문이 에러가 발생하는 원인에는 여러 가지가 존재하며 그중에서도 특정 에러를 유발하는 SQL 쿼리문을 사용해야 한다. SQL 쿼리문에서 유발시킬 수 있는 에러는 두 가지가 존재한다. 문법 에러 : 문법 에러는 쿼리문 자체가 문법적으로 문제가 있어 실행 자체가 안 되는 에러다. 그렇기에 해당 에러를 발생시켜 출력되는 에러 메시지는 이용 가치가 없다. 로직 에러 : 로직 에러는 쿼리문으로서는 문제가 없어 실행은 되나 그 안에 문제가 되는 부분을 에러 메시지로 출력한다. 해당 에러를 유발시킴..
2023.12.07 -
[normaltic 취업반 5기] 2023-11-29 6주차 내용 정리
UNION Based SQL Injection SQL Injection 공격은 특정 SQL 쿼리문을 삽입하여 인증 우회나 DB 데이터를 추출하는 해킹 기법이다. 그중 DB 데이터 추출 공격은 특정 쿼리문 삽입 시 그 결과가 출력되는 게시판의 게시글 조회 기능으로 수행할 수 있다. 해당 공격은 SQL 쿼리문의 UNION이란 문법을 사용하므로 가능하다. 그리고 UNION 문법을 사용하는 공격 유형을 UNION Based SQL Injection이라 부른다. 그렇다면 먼저 UNION 문법이 어떤건지 알아보자. 1) UNION UNION이란 2개 이상의 select문을 하나의 select문으로 합치는 문법이다. 이때 생기는 중복된 값들은 하나만 남기고 모두 제거한다. UNION 문법을 쓰기 위해서는 여러 조건들..
2023.11.29