跨站请求伪造(Cross-site request forgery)
也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
危害:
第三方的网站,可以调用本网站的接口,并且通过cookie能够访问它。这样就产生危害了。
危害例如:
l 修改账户信息
l 利用管理员账号,上传木马文件
l 传播蠕虫病毒(点击、扩散、点击…)
l 和其他攻击手段配合,实现攻击,比如XSS、SQL注入
CSRF产生关键点:
①: 对资源的写操作(增删改) ②:发送的请求内容可被推理(调用接口)
测试:
一个网站S有投票活动。对用户id=18的接口地址为www.tttt.com/vote.php?vote_userid=18。当登录过网站S且没有退出的账户,就会在不知觉的情况下为id=1的用户投票。这就要看攻击者如何诱导用户去访问插入恶意代码的网站去实现攻击。
常用测试:
get方式:
找富文本编辑框,插入标签,在标签中设置csrf请求地址。就像上面的例子一样:<img src=“www.tttt.com/vote.php?vote_userid=18”>
还可以构建的payload:
构建一个超链接:
<a href="http://www.test.com/test.php?test="