Code::Security/비박스(BWAPP)

비박스(bWAPP) A3 XSS - Reflected (HREF)

태군 코드 2022. 7. 29. 16:13
반응형

이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
 

A3 - XSS - Reflected (HREF)

 

href는 <a> 태그의 속성으로 <a> 태그에 링크된 URL을 정의합니다.

 

<a> 태그(anchor 태그)는 문서에서 다른 문서로 이동하는 하이퍼텍스트 기능을 제공합니다. <a> 태그에서 사용할 수 있는 속성은 href, target, title 등이 있습니다.

 

<a> 태그 속성 설명

href : 연결할 주소를 지정합니다

<a href=“URL”>

<a href="hxxps://securitycode.tistory.com">태군 블로그</a>


target : 링크를 클릭할 때 창을 어떻게 열지 설정합니다.

<a href="hxxps://securitycode.tistory.com" target="_blank">태군 블로그</a>

 

target 속성의 방식

_blank : 링크를 새창으로 연다.
_parent : 부모 창에서 연다. (부모 창이 없으면 _self 속성으로 처리)
_top : 전체 브라우저 창에서 가장 상위의 창에서 연다. (부모 창이 없으면 _self 속성으로 처리)

 

title : 해당 링크에 마우스 커서를 올릴 때 도움말 설명을 설정합니다.

<a href="hxxps://securitycode.tistory.com" title="태군 블로그">태군 블로그</a>

 

난이도 하

xss_href-1.php

xss_href-1.php 페이지를 확인해 보면 좋아하는 영화를 투표하려면 이름을 입력하세요라는 메시지와 입력창을 확인할 수 있습니다. 그럼 이름을 입력해 보도록 하겠습니다.

 

이름 입력&nbsp;xss_href-2.php

이름을 입력 후 [continue] 버튼을 클릭하면 'xss_href-2.php' 페이지로 이동하여 영화 목록들을 표시하여 줍니다. 그럼 영화 목록에서 [Vote]를 클릭해 보도록 하겠습니다.

 

Vote 클릭 xss_href-3.php

Iron Man Vote를 클릭하면 xss_href-3.php 페이지로 연결이 되는 것을 알 수 있습니다. xss_href

-3.php 페이지에서는 추천한 영화 제목을 메시지로 표시하여 줍니다.

 

xss_href-2.php 페이지에서 Vote를 클릭하면 xss_href-3.php 페이지로 이동하는 것으로 보아 하이퍼링크 태그인 <a> 태그를 사용한다고 추측할 수 있습니다. 그럼 xss_href-2.php 페이지에서 Vote를 클릭하였을 때 어떻게 동작을 하는지 살펴보도록 하겠습니다.

 

xss_href-2.php 페이지 소스코드

xss_href-2.php 페이지에서 마우스 우클릭하여 페이지 소스보기를 하시면 Vote는 <a> 태그를 사용하여 href 속성으로 xss_href-3.php 페이지로 연결합니다.

 

xss_href-3.php

xss_href-3.php 페이지를 확인해 보면 movie 변수와 name 변수, action 변수를 확인할 수 있고, name 변수에 사용자가 입력한 이름이 들어가므로 스크립트 코드를 name 변수에 입력하여 XSS 취약점을 테스트해보도록 하겠습니다.

 

xss_href-1.php 페이지에서 스크립트 코드 입력

><script>alert(document.cookie)</script>

 

취약점 확인

xss_href-1.php 페이지에서 스크립트 코드 입력 시 스크립트 코드가 실행되는 것을 알 수 있습니다.

 

스크립트 입력값 비교

스크립트 문 비교를 위해서 각각 입력한 후 소스코드를 확인한 모습입니다. >를 먼저 입력한 이유는 기존의 태그를 먼저 닫기 위함입니다.

 

<script>document.cookie</script>
><script>document.cookie</script>

 

반응형

 

onmouseover 이벤트 속성

onmouseover 이벤트 속성을 이용하여 마우스를 Vote 글씨에 가져다 대면 경고창을 띄울 수도 있습니다.

 

0 onmouseover=alert("XSS") a

 

onmouseover 이벤트 삽입후 소스코드

onmouseover 이벤트 속성을 사용하여 악의적인 웹 페이지로 이동하는 스크립트 코드도 삽입이 가능합니다.

 

0 onmouseover=alert(document.location='https://securitycode.tistory.com') a

 

확인 버튼을 누르면 블로그로 이동하는 것을 확인할 수 있습니다.

 

난이도 중/상

난이도 중/상에서는 name 변수에 <a> 태그의 속성을 삽입하여도 태그가 실행되지 않습니다. xss_href-2.php 소스코드를 확인해보면 xss_href-3.php 페이지를 호출하는 과정에서 name 변수를 인자로 입력하여 hpp 함수를 호출합니다. hpp 함수는 난이도 하를 제외하고 urlencode 함수를 사용하여 입력 값을 필터링합니다.

반응형