반응형
SMALL

이번 포스팅은 HTML 인젝션 Stored에 대해 해보려고 한다. 이건 블로그나 포털 사이트에 악의적인 HTML코드를 심어놔서 공격하는 방법을 설명한다.


1. HTML 인젝션 - Stored란 무엇인가?


- 악의적인 목적을 가지고 블로그나 포털사이트 등을 악의적인 스크립트가 포함된 게시판 글을 올릴경우 정상적인 사용자가 이 게시판 글을 열게되면 악성스크립트가 실행되게 된다.

- 이것도 역시 트로이목마 공격이랑 유사한 공격방식이다. 그래서 항상 사이트에서 아무거나 열지 말고 조심해야 한다.


   <사진출저: 유노님의 블로그>



이런식의 구조로 공격하는 기법이며 해커들의 목적은 쿠키값을 탈취해서 사용자 id password를 알아내 불법로그인을 하는것이다.



2. HTML 인젝션 - Stored 공격실습


(1) 다른 피싱 사이트로 접근하기


이 공격방식도 정상적인 사용자가 해커들에게 많이 당하는 수법이기도 하다. 링크를 속이고 악의적인 스크립트가 심어져 있는 사이트로 유도하게끔 만드는 공격이다.




이렇게 download 같은 걸 사이트에 만들어서 악의적인 목적을 가진 사이트로 유도하게끔 한다. 여기서는 다운로드를 크릭하면 네이버로 이동이되지만 블랙해커들은 자신의 이익을 취할 수 있는 사이트로 이동시키게끔 만든다.



(2) 게시판을 이용한 공격


임의로 게시판을 소스코드로 만들어서 실습을 해보았다. 보안 레벨이 낮은 경우엔 submit라는 것을 누르면 지정해둔 php파일로 넘어가게 되고 보안레벨이 높은 경우엔 글자가 모두 소스코드로 보이게 된다.



          <보안레벨이 Low인 경우>




<보안레벨이 High인 경우>



차이점이 보이는가? 보안레벨이 Low일 경우엔 그대로 php파일로 전부 다 넘어가지만 보안레벨이 high일 경우에는 입력값들이 php파일로 넘어가지 않고 내가 게시판 글을 만들기 위해 사용했던 소스코드가 전부 그대로 보이게 된다.


<대응 방안>


여기서 사용한 php파일을 분석해보면 된다. php 소스코드를 보면 분석이 가능해진다.



아까와 같이 비박스에서 htmli_stored.php 파일을 열고 다음과 같은 코드가 나오는데 0,1,2로 구분되어 있다. 모두 sqli_check함수를 써서 데이터베이스가 들어오는 값들을 검증하고 있는 상태이다. 





하지만 여기서 문제가 발생한다. if문에는 보안레벨이 1,2 즉 medium, high레벨만 DB에 저장되어 있는 게시글이 출력이 될때 xss_check함수를 이용해서 특수문자를 if문 처리를 하고 있는 것이 보인다. 



하지만 보안레벨이 0인 상태에서 DB에 저장되어 있는 게시글이 출력될때는 if문처리가 전혀 없기 때문에 내용을 입력하면 그대로 지정된 페이지로 넘어가게 되어 있는 것이다. 그렇기 때문에 여기서 취약점이 발생한다고 보면 된다.



이렇게 블로그나 포털사이트에서 발생할 수 있는 해킹 공격에 대해 포스팅 해보았다. 항상 사이트 내의 보안은 필수이다. 언제 어떻게 공격할지 모르는 블랙해커들에 대비해 항상 모르는 것은 함부로 클릭하지 않는게 최선인 것 같다.



반응형
LIST

'웹해킹 > Bee-box' 카테고리의 다른 글

SQL 인젝션 기초  (0) 2017.12.26
iframe, ssl 인젝션  (0) 2017.12.25
PHP Command 인젝션 공격  (0) 2017.12.25
HTML 인젝션(1)-Reflected  (8) 2017.12.25
칼리리눅스, Bee Box 설치  (0) 2017.12.25
블로그 이미지

만년필석사

,