黑客暗影CSRF——如何把别人当枪使

Posted UESTCCCSE公共信息平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了黑客暗影CSRF——如何把别人当枪使相关的知识,希望对你有一定的参考价值。

       大家好,新一期的黑客暗影又和大家见面了,本期,我们来看看进行web渗透时,有关跨站请求伪造攻击的简单姿势。
首先来看看CSRF是个啥:
       CSRF(Cross-site request forgery)跨站请求伪造,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
                                                 ——以上来自度娘
       简单来说,XSS就是向网页插入脚本,当用户加载这个脚本的时候,用户的信息被发送给攻击者,而CSRF攻击时,攻击者则是伪造用户请求,欺骗用户的浏览器使其发送一个合法的请求并被服务器接受执行。一个是攻击用户,一个是攻击网站。
来看看实例:
<?php
session_start();
if($_SESSION['user']='admin'){
$del=$_GET['ID'];
$sql="delete from `Artical` where id=$del";
mysql_query($sql);
echo '<script>alert("删除成功");</script>';
}else{
echo '<script>alert("非法操作!");</script>';
}
?>
       这是一个简单的执行删除功能的代码,通过检测当前会话的session判断用户是否有操作权限,然后删除GET到的ID的内容。当攻击者想要删除一篇指定目标的文章时,假设文章的URL为http://www.a.com/article.php?ID=xx
攻击者预测网站管理员很可能浏览B网站(www.b.com),于是他在B网站(注意和A网站不是同一网站),注入以下内容:
<img >
然后诱骗管理员访问该网站。这时,当管理员的浏览器加载网页时,会向指定地址发送一个GET请求来请求图片,然而这时src中的URL是被设计过的,于是管理员就等于是向A网站发送了删除请求,请求删掉ID为xx的文章。
        CSRF能够被成功实施,其实还是浏览器帮的忙,由于HTTP协议的无连接性,很多网站都通过cookie来进行用户的识别,也就是说,只要发送的信息中含有对应的未过期的cookie,那么服务器就会认为该请求是对应用户产生的。而为了方便,很多浏览器都有保存cookie这一功能,并且在发送请求时,一般都会默认带上所请求的网站的cookie,在本例中,若管理员本地保存了自己网站的cookie,并且该cookie没有过期,那么删除请求就会被服务器接受并执行,在管理员看来,仅仅是自己打开了一个加载失败的图片,而回头一看就发现自己网站上的东西被删了。
注:由于IE认为发送本地cookie是不安全的,因此拒绝发送本地所保存的cookie,只会发送session cookie,所以如果要通过IE来实施CSRF攻击,就需要被攻击者已通过IE登录A网站,且该网站为session cookie才行。

以上是关于黑客暗影CSRF——如何把别人当枪使的主要内容,如果未能解决你的问题,请参考以下文章

第二周作业

从漏洞复现到代码审计,深入学习csrf漏洞原理

黑客是如何入侵服务器的

零基础该如何学黑客?要掌握的技术有哪些呢?

零基础该如何学黑客?要掌握的技术有哪些呢?

零基础该如何学黑客?要掌握的技术有哪些呢?