정보 보안(26)
-
[Web Hacking] CSRF(Cross-Site Request Forgery)
CSRF(Cross Site Request Forgery) CSRF란 사이트 간 요청 위조의 줄임말이며 웹 어플리케이션 취약점 중 하나로 피해자의 의지와 무관하게 공격자가 원하는 임의의 요청(데이터 수정, 삭제, 등록 등)을 하게 만드는 공격이다. 예를 들어 CSRF 공격으로 피해자의 계정 비밀번호를 변경시키거나 자금을 송금시키는 등의 동작을 수행하게 만들 수 있다. CSRF vs XSS CSRF 취약점에 대해서 설명할 때 항상 등장하는 취약점이 바로 XSS 취약점이다. 두 취약점은 결이 비슷하며 연계하여 공격을 수행할 시 효과가 극대화될 정도로 시너지가 좋다. 그렇다면 CSRF 취약점은 XSS 취약점이 존재하지 않으면 공격이 불가능한가? 아니다, CSRF 취약점은 XSS 취약점이 존재하지 않아도 단독적..
2024.02.11 -
[Web Hacking] XSS(Cross-Site Scripting) : 실습 및 대응 방안 #2
XSS의 스크립트 XSS의 스크립트는 Javascript의 스크립트를 주로 사용하며 HTML에서 Javascript는 의 형태로 사용된다. XSS 공격은 해당 형태의 스크립트를 URL 혹은 게시글에 삽입하여 공격자가 원하는 Javascript 코드를 피해자의 웹 브라우저에서 작동하도록 만든다. 그렇다면 실습용 웹 페이지에서 XSS 공격 실습을 진행해 보도록 하자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 XSS test page 전송 Colored by Color Scripter cs 위 코드는 간단하게 만든 실습용 웹 페이지 코드이다. 입력칸에 임의의 데이터를 입력하여 전송 버튼을 클릭하게 되면 하단..
2024.02.11 -
[Web Hacking] XSS(Cross-Site Scripting) : Base #1
XSS(Cross Site Scripting) XSS란 크사 혹은 크스스라고도 불리며 웹 해킹 공격 기법 중 한 종류이다. XSS는 다른 웹 해킹 공격 기법과는 다르게 클라이언트, 즉 사용자를 타깃으로 공격한다. XSS는 스크립트를 게시판이나 URL에 악의적인 의도로 삽입하여 피해자의 쿠키 혹은 세션을 탈취한다거나 피해자가 의도치 않은 명령을 실행하도록 만든다. XSS는 대표적으로 세 가지 종류의 공격 방법이 존재하며 다음과 같다. Stored XSS (저장형 XSS) Reflected XSS (반사형 XSS) DOM Based XSS Stored XSS(저장형 XSS) Stored XSS는 공격자가 악의적인 스크립트를 웹 서버에 저장하여 피해자의 웹 브라우저에서 스크립트가 작동되도록 하는 공격이다. 예..
2024.02.11 -
[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