7주차 과제(해킹)

Peroro·2023년 5월 14일
0
post-custom-banner

과제 : 각 문제별 XSS 취약점 확인하기

공통

  • 로그인을 하게 되면 이런 화면이 날 반겨준다.

  • 마이페이지지만 개인 정보를 수정할 수 없다.

  • 공지사항에 가면 이렇게 글을 쓸 수 있다.

  • 글을 읽을 수 있고, 수정과 삭제가 가능하다.

회원가입에서의 발견한 점

  • 회원가입을 할 때 SOC가 들어가고 필터링하지 않는 것을 알 수 있었다.
ID: test<script>alert(1)</script>
  • 해당 아이디로 로그인하면 알림창이 나오는 것을 확인했다.
  • 하지만 아쉽게도 로그인할 떄 POST 방식으로만 받아 XSS공격이 불가능했다.

XSS 2

  • 첫번째 문제는 글찾기에서 Reflected XSS가 발견되었다.

  • asdf를 입력했을 때 해당 검색 결과에 대해 존재하지 않는다고 나오는데, 이부분을 이용한다.

hello');//
  • 위와 같이 썼을 때 alert가 출력되는 것을 알 수 있다.
  • 세션 탈취를 하고자 한다면 ;뒤부터 해당 코드를 작성하면 될 것이다.

XSS 3 & XSS 7

  • XSS 2와는 달리 읽기에서는 ', ", <, >가 <, > 등으로 필터링되어 공격이 불가능한 것처럼 보였다.
  • 하지만, 수정버튼을 누르니 해당 기호가 필터링 되지 않는 것을 알 수 있었다.

  • 24줄에 update_title을 보면 <'">이 필터링이 되지 않는 것을 볼 수 있다.

  • 제목에 아래와 같이 스크립트를 넣었다.
"/></div></form></div><script>alert(1)</script>//

  • 그리고 수정버튼을 누르니 알림창이 뜨는 것을 확인할 수 있었다.
  • alert(1)을 세션 탈취 스크립트로 교체하고, 해당 글을 수정하는 URL을 전달하면 될것 같다.
http://ctf.segfaulthub.com:4343/xss_3/notice_update.php?id=??
  • XSS 3와 XSS 7 방법으로 풀면되는거 같다..?
  • 뭔가 내가 실수한 부분이 있는 것 같은데 이게 맞는지 모르겠다.
  • stored XSS 같은데 일단 해당 스크립트를 입력하고 특정 페이지에 대한 접속이 필요하다.
  • admin 같은 경우에는 내 글을 수정할 수 있다면 이러한 방식으로 접근이 가능하겠지만, 일반적인 이용자의 경우는 내 글을 수정 불가능하기 때문에 공격이 불가능할 것 같다.
  • 접근 방법이 잘못된 거 같으니 일단 다른 방법도 생각해봐야겠다.
profile
오늘 공부한 것을 올리는 공간 / 일주일에 글 3개 / 블로그 이전 : https://perorochan321.tistory.com/
post-custom-banner

0개의 댓글