seo网站,帝国cms怎么做网站,重庆自助建站系统哪家好,做网站有视频教吗CSRF介绍
CSRF(Cross-site request forgery)#xff0c;中文名叫做“跨站请求伪造”#xff0c;也被称作“one click attack/session riding”#xff0c;缩写为“CSRF/XSRF”。在场景中#xff0c;攻击者会伪造一个请求#xff08;通常是一个链接#xff09;#xff0…CSRF介绍
CSRF(Cross-site request forgery)中文名叫做“跨站请求伪造”也被称作“one click attack/session riding”缩写为“CSRF/XSRF”。在场景中攻击者会伪造一个请求通常是一个链接然后欺骗目标用户点击一但用户点击攻击也就完成了。
同“XSS”的区别在于CSRF是借助用户权限完成攻击攻击者并没有拿到权限而XSS是直接盗取用户甚至管理员的权限进行攻击从而造成破坏CSRF攻击可以利用用户已经登录或已经授权的状态伪造合法用户发出请求给受信的网点从而实现在未授权的情况下执行一些特权操作。
二、DVWA靶场之CSRF介绍
首先熟悉这两个功能的用处 1Test Credentials测试你使用账号密码能否登录现在的系统 2Change Password可以修改当前系统的密码
三、DVWA靶场之CSRF实践
思考
作为攻击者我如何让用户点击一个陌生链接后使得用户的密码被修改。首先我需要分析目标网站的密码修改请求的 URL 结构。这可以通过 Burp Suite 抓取自己的修改密码请求来分析。一旦确认 URL 结构后攻击者可以构造一个伪造请求并引导用户点击从而利用用户的已登录状态执行恶意请求例如修改用户密码。注意直接抓取得到的链接过于明显用户不会轻易点击因此需要进行伪装。因此可以通过变为短链接形式或者包装为1.html形式来修改。
实践步骤如下
1用户在登录状态下进行修改密码操作输入密码123456点击change显示密码已修改。进入验证界面确认密码修改成功。当前系统密码为123456。获得用户修改密码链接为http://192.168.81.130/DVWA/vulnerabilities/csrf/?password_new123456password_conf123456ChangeChange#
2将链接包装为1.html形式来修改用户密码以下为1.html的代码。将1.html文件部署在自己服务器上。
img srchttp://192.168.81.130/DVWA/vulnerabilities/csrf/?password_new123password_conf123ChangeChange# border0 styledisplay:none;/h1404h1h2file not found.h23访问1.html刷新后密码被修改。
四、进阶Medium
这里Medium级别的代码增加了referer的判断。这里的意思HTTP_REFERER和SERVER_NAME如果不是来自同一个域环境的话就无法进行到内部的循环以及修改密码操作。 接下来我们开始尝试攻击根据上面的代码分析我们可以知道referer中只要出现HOST就行所以在恶意网站中这样操作就可以
1将上面1.html重新用IP地址命名改为192.168.81.130.html。然后放入文件服务器的/var/www/html中。
2然后我们打开burp suite对CSRF界面进行抓包然后发送至Repeater模块
3在Repeater模块抓包流量的Referer地址改为192.168.81.130.html的网页地址地址为http://192.168.21.30/192.168.81.130.html
4点击“Send”我们可以看见返回“Password Changed.”证明修改成功攻击成功。
五、High
1这次在Medium的基础上有了token值所以我们需要在攻击者的服务器上获取被攻击者的token值。
CSRF攻击的本质是重要操作的所有参数都可以被攻击者猜测到所以token值是必须的。观察以下源码这里是添加了Anti-CSRF token机制用户每次到改密页面的时候服务器会返回一个随机token向服务器发起请求需要提交token参数而在服务器收到请求的时候会优先检查token只有token正确才会处理客户端请求。 2在观察得到以上的信息后可以利用XSS先用XSS执行代码获取token。scriptalert(document.cookie)/script。得到token信息后使用该token进行medium步骤即可。
五、参考链接
参考链接