본문 바로가기

해킹-보안

Burpsuite XSS Validator

반응형

1. 확장 기능 설치


[Extender] → [BApp Store] → XSS Validator



2. 페이로드 적용



2-1 대상 파라미터 선택
http://testphp.vulnweb.com/guestbook.php
저 테스트 사이트 방명록에 패킷을 캡처하고 Intruder로 넘긴다.
이후 페이로드를 적용할 파라미터 좌우에 "§"를 삽입한다.



2-2 페이로드 옵션 설정
[Intruder] → [Payloads] → Payload Sets - Payload type(Extension-generated)
[Intruder] → [Payloads] → Payload Options - Select generator - XSS Validator Payloads
[xssValidator] → Grep Phrase 값 복사
[Intruder] → Options → Grep-Match에 GrepPhrase 값 붙여넣기





3. Phantomjs(팬텀js) 실행


기본 웹 브라우저는 양식에 특정 값을 직접 마우스로 클릭하여 키보드로 입력해야 한다.
하지만 팬텀js는 GUI 없는 웹브라우저로서 명령창에서 웹브라우저를 실행 시키고 

특정 값을 추출하거나 비교할 때 유용하게 사용된다.
여기서는 XSS가 적용되는 페이로드를 구분하기 위해 사용된다.

[xssValidator] 탭으로 이동해보면 해당 모듈은 아래와 같이 PhantomJS 서버를 사용하고 있다.



3-1 PhantomJS 설치
https://phantomjs.org/download.html

3-2 XSS 탐지 서버 시작
XSS Fuzzing 하기 전에 XSS 탐지 서버를 구동하기 위한 xss.js 파일을 다운받는다.
https://github.com/nVisium/xssValidator/tree/master/xss-detector

Phantomjs 폴더로 들어가서 bin 폴더 안에 저 js 파일을 옮긴다.
이후 명령창에서 해당 폴더로 이동한 뒤 아래와 같이 xss 탐지 서버를 실행한다.





4. 페이로드 시작


[Intruder] → [Positions] → [Start attack]



xss 공격이 성공한 페이로드는 Grep Phrase(fy7s..) 플래그에 체크된다.


Phantomjs 서버에서 보여지는 화면은 아래와 같다.




XSS가 실행되면 페이로드에 입력된 숫자가 응답되면서 플래그가 체크된다.
위 스크립트를 URL 디코딩하여 테스트 사이트에 적용했을 때 XSS 취약점을 확인할 수 있었다.


반응형

'해킹-보안' 카테고리의 다른 글

모의해킹 컨설턴트 QNA  (0) 2020.12.15
OWASP-ZAP 웹 스캐닝  (0) 2020.10.16
쉘코드 작성하기  (0) 2020.10.08
pwnable BOF 실습  (0) 2020.10.06
pkcrack을 사용하여 압축파일 해제하기  (0) 2020.08.03