반응형
1. 확장 기능 설치
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 |