标签:跨站 受害者 请求 -- 用户 表单 CSRF 100
CSRF–跨站请求伪造
与XSS区别
1.XSS利用站点内的信任用户,盗取cookie
2.CSRF伪装成信任用户请求网站
原理
服务器无法判断请求是否由合法用户发起
利用目标用户的合法身份,以目标用户的名义执行某些非法操作
举一个转账案例:
正常过程:
合法链接http://xxxxxxx.php?user=a&money=100
受害者给a
转账100
攻击:
攻击者构造恶意链接:http://xhttp://xxxxxx.php?user=b&money=100
欺骗受害者点击该链接,则给b
转账100
<?php
//会话验证
$user=$_GET['user'];
$money=$_GET['money'];
//转账
?>
条件:
1.受害者处于登录状态
2.受害者问对应的URL
GET型CSRF漏洞利用
1.构造GET型的URL,修改参数的值
2.提高隐蔽性,将URL嵌在< img src="xxxxxxxx">
中,精心构造网页,诱使受害者访问攻击网页
POST型的XSS利用
参数以POST方式提交
攻击者构造一些提交数据的表单,提高隐蔽性,设为隐藏域<input tyoe="hidde" name="username"
value=“hacker”>;JS自动提交…
CSRF的防御–CSRF手工检测点
1.HTTP Referer头
2.设置Token–给用户一个唯一的合法令牌
可以将令牌写到隐藏域的value中,随表单提交
<?php
function token(){
$salt="hello".date("h:i"s");
$token=md5($salt);
return $token;
}
$token=token();
echo $token;
?>
token需要设置为复杂难破解的内容
3.HTTP自定义头
4.二次验证
案例
ESPCMS V5
自动探测工具
CSRFTester
工具使用代理抓取浏览器的链接及表单信息,修改表单,重新提交,伪造客户端请求,请求成功则存在漏洞
绕过Referer技巧
referer告诉服务器请求的来源
将攻击者搭建的网站文件夹名与路径进行修改
标签:跨站,受害者,请求,--,用户,表单,CSRF,100 来源: https://blog.csdn.net/weixin_46595738/article/details/119153899
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。