복습

SQL Injection 시 공란이 제거되어 사용될 수 있는데 이를 해결하기 위한 방법은 여러가지가 존재한다.

Ex1 ) and%0a1=1
Ex) and(1=1)


XSS

사이트 간 스크립팅, 크로스 사이트 스크립팅(영어: Cross-site scripting XSS[*])은 웹 애플리케이션에서 많이 나타나는 취약점의 하나로 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점이다. 

 

주로 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태로 이루어진다. 이 취약점은 웹 애플리케이션이 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타난다. 이 취약점으로 해커가 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 자동으로 비정상적인 기능을 수행하게 할 수 있다.

-위키백과-

 


Stored XSS(persistent)

데이터가 서버 혹은 DB에 저장되며 데이터에 Script를 작성하여 응답을 받을 때  Script가 동작하도록 하는 기법이다.

EX) 악성스크립를 작성하여 게시판에 올리게 된다면 이후 해당 게시글을 읽는 사용자의 브라우저에서 악성 스크립트가 실행된다. 

 

즉 악성스크립트가 서버에 저장되기 때문에 지속적으로 피해가 발생하게 된다.

 

response에 alert이 들어간 것을 확인 할 수 있다.
alert을 확인

Relfected XSS

Client가 전달받은 데이터가 화면(HTML 등)에 구성 될 때 사용되는 것은 Stored와 동일하나 게시판의 등록하는 것이 아닌 스크립틀가 포함된 URL을 클릭하는 방식 등으로 사용된다.

 

GET 방식으로 응답을 받을 시 쿼리스트링의 값에 악성 스크립트를 포함하여 실행하게 된다.

 

reflected XSS가 가능한 Page에 alert 스크립트를 입력한 뒤 해당 URL로 접속을 하면

스크립트가 실행

스크립트가 실행 되는 것을 확인 할 수 있다.

'웹 해킹 코스 > 내용 정리' 카테고리의 다른 글

12주차 CSRF  (1) 2024.01.21
11차 HTML의 DOM 접근  (0) 2024.01.15
8주차 SQL Injection 대상 찾기  (1) 2023.12.18
6주차 union을 사용한 SQL Injection  (0) 2023.11.30
5주차 SQL Ijection  (2) 2023.11.26

+ Recent posts