본격적으로 문서를 보면서 실습하다 보니 Reflected XSS via AJAX라는 내용이 있었다.
Ajax는 Asynchronous JavaScript And XML' 또는 'Asynchronous JavaScript transfer (x-fer)'의 약자이다. 말 그대로 JavaScript와 XML 형식을 이용한 비동기적 정보 교환 기법이다. - 나무위키
그냥 페이지 전체를 새로고침하지 않고 데이터만 슥 바꾸는 방법이라고 보면 된다.
다시 gruyere에 들어가서 계정생성,로그인을 해준다.
그냥 페이지 전체를 새로고침하지 않고 데이터만 슥 바꾸는 방법이라고 보면 된다.
이걸 보면 딱봐도 글 삭제,추가에 사용될거 같다.
![]()
이렇게 글을 하나 작성해주고
콘솔창을 열어서 저 [X]버튼을 찍어보면
<a href="/469790294992189573147013988367009809944/deletesnippet?index=0">[X]</a>
/deletesnippet이걸로 글을 삭제하고 ?index=0이걸로 어느 글을 삭제할지 정하는거 같다 index=0의 의미는 데이터가 리스트 같은데에 저장돼 있는데 그 인덱스 번호를 뜻하는거 같다.
여기서 ?index=0을 ?index=<script>alert("xss")</script>이렇게 바꿔보면
![]()
이렇게 팝업이 잘 뜨는것을 볼 수 있다.