전체 글(179)
-
[Web Hacking] SQL Injection : 여러 Case 및 대응 방안 #5
SQL Injection 공격이 가능하려면? SQL Injection 공격은 주로 사용자가 입력을 할 수 있는 입력창에서 발생한다. 그러나 입력창이 아니더라도 SQL Injection 공격은 DB와 관련된 곳이라면 어디든지 발생할 수 있다는 것을 인지해야 한다. SQL Injection 공격이란 공격자의 입맛에 맞게 SQL 질의문을 삽입함으로써 공격대상의 DB에 존재하는 데이터를 추출하는 것으로 목표로 한다. 그렇다는 것은 SQL Injection 공격은 DB와 연결되어 있으며 SQL 질의문이 사용되는 위치라면 어디든지 가능하다는 의미이다. *SQL Injection 공격이 발생 가능한 조건 DB와 연결되어있어야 한다. SQL 질의문을 사용하여야 한다. SQL Injection 공격 시 참과 거짓에 결과..
2023.12.16 -
[Web Hacking] SQL Injection : Blind SQL Injection #4
Blind SQL Injection Blind SQL Injection 공격은 SQL Injection 공격 중 한 종류로서 질의문의 결과가 참 혹은 거짓으로 출력이 되는 경우에 사용 가능하다. 사실 Blind SQL Injection는 다른 SQL Injection 공격을 사용할 수 없는 상황일 때 최후의 방법으로 사용이 된다. 공격의 이름 대로 눈먼 장님같이 문자 하나하나 대조하면서 공격을 진행한다. Blind SQL Injection Payload Blind SQL Injection Payload는 다음과 같은 순서로 작성해 나간다. normaltic' and '1'='1 normaltic' and ('1'='1') and '1'='1 normaltic' and ((select 'test')='te..
2023.12.15 -
[Web Hacking] SQL Injection : Error Based SQL Injection #3
Error Based SQL Injection Error Based SQL Injection 공격은 SQL Injection 공격 중 한 종류로서 SQL 질의문에 문제가 있을 때 출력되는 에러 메시지를 이용한다. SQL 질의문이 에러가 발생하는 원인에는 여러 가지가 존재하며 그중에서도 특정 에러를 유발하는 SQL 질의문을 사용해야 한다. SQL 질의문에서 유발할 수 있는 에러는 두 가지가 존재한다. 문법 에러 : 문법 에러는 질의문 자체가 문법적으로 문제가 있어 실행 자체가 안 되는 에러다. 그렇기에 해당 에러를 발생시켜 출력되는 에러 메시지는 이용 가치가 없다. 로직 에러 : 로직 에러는 질의문으로서는 문제가 없어 실행은 되나 그 안에 문제가 되는 부분을 에러 메시지로 출력한다. 해당 에러를 유발함으로..
2023.12.15 -
[Web Hacking] SQL Injection : Union Based SQL Injection #2
Union Based SQL Injection Union Based SQL Injection 공격은 SQL Injection 공격 중 한 종류로서 SQL 문법 중 하나인 Union 문법을 사용하여 게시판 같이 SQL 질의문 결과가 출력되는 곳에서 사용 가능한 공격이다. 이를 통해 공격대상의 DB 데이터를 추출하는 공격을 진행하여 피해를 입힐 수 있다. 그렇다면 먼저 Union 문법에 대해 간단히 알아보자. 1) Union Union이란 2개 이상의 select문을 하나의 select문으로 합치는 문법이다. 이때 생기는 중복된 값들은 하나만 남기고 모두 제거한다. Union 문법을 쓰기 위해서는 여러 조건들이 존재하며 이를 지켜야 사용가능하다. 조건들은 다음과 같다. 컬럼명이 동일해야 한다. 컬럼별 데이터..
2023.12.14 -
[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 -
[Web Hacking] SQL Injection : Base #1
SQL Injection이란? SQL Injection이란 웹 사이트의 보안 취약점을 이용하여 특정 SQL 쿼리문을 삽입하여 공격자에게 필요한 DB 정보를 추출하거나 인증 우회 등의 공격을 하는 해킹 기법이다. 주로 클라이언트가 입력하는 값에 대한 필터링 기능이 제대로 갖춰지지 않은 경우 발생한다. SQL Injection 공격은 쉬운 난이도에 비해 그 피해는 상당히 효과적이므로 주의해야 한다. SQL Injection으로 가능한 공격으로는 다음과 같다. Authentication Bypass (인증 우회) DB Access (데이터베이스 접근) Content Change (콘텐츠 변경) SQL Injection 조건 SQL Injection 공격이 이루어지는 원리에 대해 설명하기 위해서는 먼저 SQL ..
2023.12.13