CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

2020-02-0603:35:14 评论 23,834

跨站请求伪造 缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。

可以这样来理解:

A为存在CSRF漏洞的网站,B为攻击者构建的恶意网站,User C为Web A网站的合法用户。

在这过程中,受害者会代替攻击者执行这些攻击,攻击者中不会收到响应,受害者会代替攻击者执行这些攻击。 以你的名义发送恶意请求,对服务器来说这个请求是完全合法的。比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。

下边以Ecshop3.6版本进行CSRF攻击实现任意目录删除漏洞复现过程。

开始安装 Ecshop3.6

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

安装过程中需要注册云起账号用来激活安装

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

安装完成后前往后台登录管理

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

以模板目录为演示这里装了两个不同名字但一样的模板

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

然后对其中20200206的模板删除进行拦截抓包

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

请求头中tpl_name处为删除文件的名称,下边尝试构造CSRF

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现
CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

CSRF是跨站请求伪造,所以请求类型一般为 POST 和GET 。

先以post方式写个HTML文件,命名为1.html

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

然后把文件上传到网站跟目录下,再点击 HTTP://域名/1.html

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

打开网页后,需要再点击,然后自动返回结果如下

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

然后查看网站themes目录已经消失,后台模板也被删除。

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

结果:CSRF攻击以POS形式,需要点击两次才能完成CSRF攻击。

把网站还原,用同样的步骤。

再用GET方式写个自动加载的img文件,在文件名前添加../../../../这样的,来删除文件夹以外的全部内容。命名为1.html 上传打开

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

然后发现全部被删除

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现
CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现
CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

结果: CSRF攻击以GET形式,只需要点一次链接。

这里要说的是,如果页面已经关掉,或者打开链接的浏览器不是登录网站的浏览器那么这个CRSF的攻击是都没用的。

CRSF跨站请求伪造可以用短链接伪装url,防止根据链接看出内容。

CSRF跨站请求伪造Ecshop3.6任意目录删除漏洞复现

构造攻击页面部署好,然后链接发给其他人,当其他人点击链接的时候,会显示404,这时候会以为点了一个无效的链接。但是其中的img的src会请求一次。

CSRF跨站请求伪造防御解决方案:

验证HTTP Referer字段(访问一个安全受限页面的请求必须来自于同一个网站)

Anti-CSRF token机制 ( 在请求地址中添加token并验证 )

  • 版权声明: 发表于 2020-02-0603:35:14
  • 转载注明:https://www.wanqiandu.com/5668.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: