[WARGAME] DVWA write-up/ Reflected XSS/ medium

jckim22·2022년 10월 29일
0

[WEBHACKING] STUDY (WARGAME)

목록 보기
41/114

/*

웹서버 환경: Window 10

공격 클라이언트 환경: Kali linux (VMware 구동)

*/

low풀이
https://velog.io/@jckim22/%EB%B9%A1%EA%B3%B5%ED%8C%9F-5%EC%A3%BC%EC%B0%A8-%EA%B3%BC%EC%A0%9C-12-DVWA-write-up-Reflected-XSS-row

low에서도 설명했었지만 reflected XSS는 보통 키워드를 검색할 때 많이 노출되는 취약점이다.
키워드를 검색하고 그 키워드가 존재하지 않는다면 대부분의 서비스들은 그 입력된 검색 키워드를 그대로 html에 담기 때문이다.

그 검색된 키워드에 script코드를 삽입해 마치 서버로부터 반사되듯이 받는 공격이라고 하여 reflected XSS 취약점이라는 이름이 붙은 것이다.

low레벨과의 차이점을 알아보기 위해 먼저 low레벨 때와 같이 공격을 해보았다.

아래와 같은 검색창에 아무 문자열이나 입력했다.
그렇게 되면 url name파라미터에 입력이되고 html 문서에는 Hello "입력한 문자열"이 담겨있다.
마치 반사되듯이 바로 html로 출력해준다.


그럼 아래처럼 스크립트 코드를 입력해보자

그랬더니 low와 다르게 <script> 가 잘려서 나오게 된다.
전에 file_inclusion 같이 str_replace로 <script>를 공백으로 치환한 것이 아닐까 추측했다.

그래서 <script>를 짜르고 <script> 가 남도록 입력값을 조작했다.
입력 코드는 아래와 같다.

<sc<script\>ript>alert(documet.cookie)</scr<script\>ipt>

그렇게 되면 아래와 같이 성공적으로 공격자의 쿠키에 대한 정보가 나오게 된다.

이것이 만약 ""라는 키워드를 검색할 수 없습니다. 라는 웹페이지였다면 <script>alert(documet.cookie)<script>라는 키워드를 검색할 수 없습니다 라는 text가 html에 나타날 것이다.

그럼 이 찾을 수 없다는 페이지에 링크를 공격자입장에서 사용자에게 보내 피싱해보자.

아래처럼 칼리 리눅스에서 사용자에게 공격 링크를 걸어서 보냈다.

아래는 윈도우 사용자의 입장에서 받은 메일이다.
클릭해보자

그럼 아래처럼 코드가 실행되면서 사용자의 쿠키 정보가 뜨게 된다.
이 코드 또한 쿠키를 공격자에게 전송하는 코드였다면 위험한 공격이 될 수 있는 것이다.

profile
개발/보안

0개의 댓글