본문 바로가기

wargame/XSS-game

[XSS-game] Level 2 풀이!

반응형

1번 풀이 입니다!

https://r3dzone.tistory.com/19

 

[XSS-game] Level 1 풀이!

웹은 원래 주로 공부하던 분야는 아니었습니다만 대학교에서 CERT로 활동하던 때나 군생활 중에 아무래도 웹 취약점을 파고들 일이 많다보니 공부의 필요성을 느꼈습니다! 간단하고 재밌게 공부할 사이트를 찾아보..

r3dzone.tistory.com

============================================================================

2번 문제를 보니 웹채팅 프로그램이 나오는군요!

설명을 대충보니

서버사이드에 저장된 유저 데이터가 클라이언트 사이드에서 출력해줄때의 문제를 알고있니??

하는 거 같습니다.

일단 공격벡터로 사용할 만한 사용자 입력부에 스크립트를 때려 봅시다!

화면을 보니 필터링 됐는지 아무 입력도 보이지 않습니다! 요소검사로 해당 부분을 보니 스크립트가 <blockquote>태그안에 들어가 있군요...

우회할 방법이 있는지 찾아 보면 나올거같긴 합니다만. 빠른 진행을 위해 바로 힌트를 봐버립시다! 

3번이 핵심인거같군요 onerror라

마침 앞에 i,m그리고 g가 있겠다 ㅋㅋ

img태그의 에러처리에 자바스크립트가 실행되는 걸 이용한 공격인것 같습니다.

해당 공격은 실제로도 많이 이용되기에 꽤 많이 예제로 볼 수 있었고 테스트 해왔기에

바로 스크립트를 짜서 넣어줍시다.

<img src = "#" onerror = "alert("1");">

위와 같이 img태그의 onerror 처리에 alert를 넣어 줍시다.

오잉? 이미지는 올라간거같고 정상적인 이미지 경로도 주지 않아서 onerror 구문이 실행되야 될텐데 왠지 실행이 되지

않습니다??

.....???? 바보같은 실수를 했습니다. onerror 구문속 스크립트를 더블쿼터(")로 감쌋으면서 alert 안에 문자열도 더블쿼터로 입력하려 했으니 꼬이는게 당연합니다!

수정해줍시다.

<img src = "#" onerror = "alert('1');">

정상 동작 합니다!

SQLi에서도 마찬가지로 저런 쿼터들 우회하는게 기본인데 바보같은 실수였습니다! 

암튼 다음문제로 넘어 갑시다!

'wargame > XSS-game' 카테고리의 다른 글

[XSS-game] Level 3 풀이!  (0) 2019.10.27
[XSS-game] Level 1 풀이!  (0) 2019.10.27