CSRF是Cross Site Request Forgery的缩写,中文意思是跨网站请示伪造,也有人写成XSRF。黑客伪造目标用户的HTTP请求,然后将这个HTTP请求发送给有CSRF漏洞的网站。有CSRF漏洞的网站执行了伪造的HTTP请求,就引发了一个跨网站请求伪造攻击。黑客利用电子邮件或图片中隐藏的HTTP连接,让目标用户在注意的情况下单击这个链接。由于这个HTTP链接是由目标用户自己发出的,而目标用户又是拥有特定权限的合法用户,因此,有CSRF漏洞的网站将这个请求视为正常的HTTP请求而执行它。
例如,你访问的购物网站网址为:,你购买了一个产品,购物网站参数为:,这是一个正常的HTTP请求,商品名称是照相机camera,购买数量是1,网站会将所买的商品与数量记录在用户的账户内。
如果黑客知道了购物网站的操作流程,他就可以伪造一个类似的HTTP请求:,商品名称是camera,而购买数量却是1000。如果目标用户在网站登录期间不小心访问了这个链接,那么在他的帐户内就是会有一条记录是购买1000台的camera。跨网站请求伪造攻击步骤如图1所示。
其实这个技术在国外2000年的时候已经被提出,而在国内一直没有被重视,可能大家认为这个只是自慰式的漏洞。一般CSRF配合XSS比较好,如果没有XSS的情况下,配合社工也是不错的。下面我以PHP168整站系统最新版为例。PHP168在经过多次的风风雨雨在XSS和SQL Injection方面都比较严格了。这次我利用CSRF攻击添加管理员。
添加管理员页面为:,如图2所示。
我们看一下代码是怎么写的,如下:
本文转自 ☆★ 包罗万象网 ★☆ - 转载请注明出处,侵权必究!
原文链接:
阅读(955) | 评论(0) | 转发(0) |