-
-
从零开始学CSRF
-
发表于: 2015-1-14 22:20 893
-
非常适合新手从零开始学习:
http://www.freebuf.com/articles/web/55965.html
为什么要拿CSRF来当“攻击手法系列”的开头篇呢?因为CSRF/XSRF我个人喜爱他的程度已经超过XSS了。如果说XSS是一个老虎,那么CSRF就是隐藏在暗处的蛇。
相信现在很多人不明白CSRF是怎么运作,他和XSS的不同是在哪里。我这里就逐步为大家解释,并从浅入深的介绍CSRF。
入门
我们先来看看CSRF和XSS的工作原理,先让大家把这两个分开来。
XSS:
攻击者发现XSS漏洞——构造代码——发送给受害人——受害人打开——攻击者获取受害人的cookie——完成攻击
CSRF:
攻击者发现CSRF漏洞——构造代码——发送给受害人——受害人打开——受害人执行代码——完成攻击
而且XSS容易发现,因为攻击者需要登录后台完成攻击。管理员可以看日志发现攻击者。
而CSRF则不同,他的攻击一直是管理员自己实现的,攻击者只负责了构造代码。
我这只是简单的说明下流程。大伙应该发现CSRF少了一个 获取受害人的cookie的步骤。为什么会少了呢。因为受害人在执行代码的时候就已经完成的攻击,而攻击者并没有参与进来。
举个例子来说吧(受害者的网址是a.cn,攻击者的网址是b.cn)攻击者想要在某个网站(网站是某个开源CMS)添加上另一个管理员,但是这个网站并没有XSS漏洞。怎么办呢?这时攻击者发现了这个开源CMS后台添加管理员时并没有加入验证码或则token,只需要输入要添加的管理员账号和密码点击确定就可以添加管理员账户了。这时和我一样聪明的攻击者在自己的服务器上建立了一个html文件(假设地址是b.cn/index.html)。然后就给网站管理员发邮件等等,诱使管理员打开b.cn/index.html。当管理员打开后(这时管理员正在网站后台,或则管理员的session并没有失效的话),就可以神不知鬼不觉的在网站后台添加了一个管理员账户。
相信这时大伙已经明白CSRF和XSS的区别了,不是太明白也没事,下面还有。
接下来我先给大家介绍一个软件,在运用实例来详细的说明CSRF。
OWASP CSRFTester:
这是OWASP推出的CSRF半自动化软件,他省去了CSRF最繁琐的过程,代码构造。下面是软件的截图
1.png
图片1.png
这款软件是由java编写的,所以在运行软件之前需要事先安装java环境,cmd窗口是告诉我们此时软件正在监听8008端口。软件的大致介绍就到这,后文我将进一步的说明。
这里我选择了“XYCMS中心小学建站系统”
图片2.png
OK,我们进入后台a.cn:88/admin,账号密码默认都是admin。进入后台,我们选择“管理员管理”
图片3.png
图片4.png
我想细心的人已经发现了。他只要求你输入账号 密码 确认密码。没有发现验证码验证。我们在浏览器里代理下8008端口(虽然网站是88端口,但是还是可以监听到数据,所以不必在意网站是88,软件监听的是8008的问题。因为在浏览器里任何数据都必须要经过8008,网站虽说是88端口,但是数据还要转到8008端口)。然后用软件看下有没有token的存在(你也可以用burp、fiddler等等)。
http://www.freebuf.com/articles/web/55965.html
为什么要拿CSRF来当“攻击手法系列”的开头篇呢?因为CSRF/XSRF我个人喜爱他的程度已经超过XSS了。如果说XSS是一个老虎,那么CSRF就是隐藏在暗处的蛇。
相信现在很多人不明白CSRF是怎么运作,他和XSS的不同是在哪里。我这里就逐步为大家解释,并从浅入深的介绍CSRF。
入门
我们先来看看CSRF和XSS的工作原理,先让大家把这两个分开来。
XSS:
攻击者发现XSS漏洞——构造代码——发送给受害人——受害人打开——攻击者获取受害人的cookie——完成攻击
CSRF:
攻击者发现CSRF漏洞——构造代码——发送给受害人——受害人打开——受害人执行代码——完成攻击
而且XSS容易发现,因为攻击者需要登录后台完成攻击。管理员可以看日志发现攻击者。
而CSRF则不同,他的攻击一直是管理员自己实现的,攻击者只负责了构造代码。
我这只是简单的说明下流程。大伙应该发现CSRF少了一个 获取受害人的cookie的步骤。为什么会少了呢。因为受害人在执行代码的时候就已经完成的攻击,而攻击者并没有参与进来。
举个例子来说吧(受害者的网址是a.cn,攻击者的网址是b.cn)攻击者想要在某个网站(网站是某个开源CMS)添加上另一个管理员,但是这个网站并没有XSS漏洞。怎么办呢?这时攻击者发现了这个开源CMS后台添加管理员时并没有加入验证码或则token,只需要输入要添加的管理员账号和密码点击确定就可以添加管理员账户了。这时和我一样聪明的攻击者在自己的服务器上建立了一个html文件(假设地址是b.cn/index.html)。然后就给网站管理员发邮件等等,诱使管理员打开b.cn/index.html。当管理员打开后(这时管理员正在网站后台,或则管理员的session并没有失效的话),就可以神不知鬼不觉的在网站后台添加了一个管理员账户。
相信这时大伙已经明白CSRF和XSS的区别了,不是太明白也没事,下面还有。
接下来我先给大家介绍一个软件,在运用实例来详细的说明CSRF。
OWASP CSRFTester:
这是OWASP推出的CSRF半自动化软件,他省去了CSRF最繁琐的过程,代码构造。下面是软件的截图
1.png
图片1.png
这款软件是由java编写的,所以在运行软件之前需要事先安装java环境,cmd窗口是告诉我们此时软件正在监听8008端口。软件的大致介绍就到这,后文我将进一步的说明。
这里我选择了“XYCMS中心小学建站系统”
图片2.png
OK,我们进入后台a.cn:88/admin,账号密码默认都是admin。进入后台,我们选择“管理员管理”
图片3.png
图片4.png
我想细心的人已经发现了。他只要求你输入账号 密码 确认密码。没有发现验证码验证。我们在浏览器里代理下8008端口(虽然网站是88端口,但是还是可以监听到数据,所以不必在意网站是88,软件监听的是8008的问题。因为在浏览器里任何数据都必须要经过8008,网站虽说是88端口,但是数据还要转到8008端口)。然后用软件看下有没有token的存在(你也可以用burp、fiddler等等)。
赞赏
看原图
赞赏
雪币:
留言: