• return
    2019-12-20
    学到了,很透彻, 写代码的时候得注意啊。
    
     5
  • 我来也
    2019-12-20
    字符串替换的那个,如果不是替换为空字符串,而是替换成一个空格,那是不是就安全了呢?

    作者回复: 也许是,不过最终的安全性,还是得看具体的场景。比如,万一替换了过后,还加了个strip呢。。

    
     2
  • 冯玉鹏
    2019-12-20
    关于问题,到底应该谁背锅,应该是一个系统架构层面的问题,而不是单纯的前后端,如果一定要定位到前后端我认为应该是都有问题。
    
     1
  • 王凯
    2020-01-09
    显然后端背锅呀
    
    
  • 肖大妞
    2020-01-08
    您这个讲解需要一定基础的人才能看吗
    我研究了半天,各种xss攻击除了存储位置的不同,并没有看到实质的区别
    能不能具体的讲讲黑客从开始攻击到获取服务器端cookie的一整个过程,我并没有看的太懂。。。

    作者回复: 实质都是一样的,在页面中植入了黑客的js脚本。区别就是在于位置不同,导致传播的方式不一样。比如反射型xss需要用户点击链接,存储型xss只需要用户正常浏览页面。最终植入了js脚本后,直接通过document.cookie就可以拿到cookie,然后发送到黑客的外部接口,就可以获取到了

    
    
  • 小老鼠
    2019-12-31
    反射XSS也可以不点击触发,比如:<img src=# onerror=...>。ESAPI对防御XSS作用大吗?

    作者回复: 有用。不过ESAPI只是提供了编码、验证等方法,还是需要你主动的去使用这些方法才能起作用。

    
    
  • 律飛
    2019-12-31
    问题1:哪种类型的XSS攻击,怎么预防?
    文中有一段话:这个事情的原型,其实是 2011 年微博真实出现的一次安全事件。整个事件的核心问题,其实出在这个可以点击的链接上。在这个事件中,黑客并不需要入侵到微博服务器中,只要用户点击了这个链接,就会“被发送”这样的博文。
    没有入侵到服务器,因此判断是反射型XSS或者基于DOM的XSS。
    预防 XSS优先采用编码的方式,通过对用户内容的验证来完成。如果编码影响到了业务的正常功能,可以采用白名单的检测和过滤方式来进行验证。除此之外,还可以根据业务需要,配置合适的 CSP 规则。
    问题2:出现问题由谁背锅?
    如果有安全负责人,首先由他背锅。他应在软件需求分析、设计、测试各阶段关注安全问题以及解决落实情况。
    没有安全负责人,开发人员背锅。开发人员应具备基本的安全意识,掌握基本的安全技术。
    运维人员也要承担一定的责任,不能发现问题提出问题,也不是一名合格的运维人员。
    当然如果黑客太厉害,吾等已尽力而为时,只能由公司背锅。通过交学费也能促使提升安全防护能力嘛!
    另外请教老师:1、编码是不是常说的参数化?就是尽量将用户输入参数化?2、苹果手机经常无缘无故地提示,SIM卡发送一条文本信息。这个是被黑客攻击了吗?出现这种情况时,肯定没有点击任何链接。
    展开

    作者回复: 1、参数化也是一种编码形式。其他的像urlencode,也是一种编码。
    2、这应该是某个APP在发送短信吧。

    
    
  • Roy Liang
    2019-12-31
    前端用了react + ant design开发,能够向数据库注入了一段脚本:<script>alert('hello, world!')</script>;。不过展示的时候也把上面全部脚本内容展示出来了,这是前端开发框架做了防护了吗?

    作者回复: 也有可能是浏览器的保护,我在safari上测试,也是直接把script脚本展示了出来。

    
    
  • sunözil
    2019-12-26
    Tomcat的jsessionid默认是HttpOnly的吗?

    作者回复: 可以设置,是不是默认的,不太确定。

    
    
  • 早起不吃虫
    2019-12-25
    老是提示有敏感词,都不知道是啥原因,简单说就是heike网站允许跨域,就能发起请求了呀
    
    
  • 早起不吃虫
    2019-12-25
    同源策略的表述有误吧???

    作者回复: 哪里有问题?麻烦具体说明一下,谢谢。

    
    
  • LEON
    2019-12-24
    老师请教下,存储型XSS也能修改DOM进行XSS攻击吧?这种方法和传统的DOM XSS有什么区别?感谢

    作者回复: 存储型特点比较明确,就是攻击脚本会存储到服务器的数据库中。DOM和反射型其实比较类似,只不过一个是针对后端逻辑,一个是针对JS的前端逻辑。

     1
    
  • 竹篮打水
    2019-12-24
    之前的网站、google收录发现网站的搜索商品页面、有一些彩票恶意的信息、这个一般是怎么实现的以及怎么预防?

    作者回复: 意思是google发现你的网站内含有恶意信息?这种情况,如果不是存储型XSS的话,其实更普遍的是网页劫持。即黑客监听了后端的网络流量,对返回的网页源码,在网络层直接进行了篡改。通过https可以解决。

     1
    
  • leslie
    2019-12-24
    问题中应当是通过持久型 XSS/存储型XSS进行攻击,解决方式应当是CSP进行防御。
      指出文章中老师同一个概念用了不一致不同名称的小问题,对于老手没影响,可能对于新手却会造成理解上的误区。在开始部分老师用了“三种 XSS 攻击,它们分别是:反射型 XSS、基于 DOM 的 XSS 以及持久型 XSS。”,总结部分却用了"根据攻击方式的不同,可以分为:反射型 XSS、基于 DOM 的 XSS 和存储型 XSS。",名称不一致。
         感谢老师的分享:学习中还是扫除了不少误区,提升了自己对于安全方面的理解;谢谢。

    作者回复: 收到,感谢您的留言。我们会统一说法。

    
    
  • ZeroIce
    2019-12-24
    现在很多请求会带token 头部去请求(jwt)?单单点击一条链接,应该不可以发一条微博吧

    作者回复: 我记得jwt是需要客户端自己带上去的?如果不是浏览器自动带上去的话,就无法发起csrf攻击。

    
    
  • ZeroIce
    2019-12-24
    还有个问题:黑客怎样去控制用户的输入? 控制不了的话,当然也注入不了脚本代码呀。

    作者回复: 让用户点击一个链接,就相当于让用户输入了黑客定义的内容。

    
    
  • ZeroIce
    2019-12-24
    由于sop的影响,window.location不是也不可以跳转?怎么这个也会影响cookie泄漏了?

    作者回复: 跳转是可以的。不然怎么从百度搜索跳转到具体的页面。

    
    
  • qinsi
    2019-12-22
    不能只在输出时验证用户数据吧?比如攻击者提交了sql注入的数据,不去验证直接存数据库,然后就没有然后了

    作者回复: 这一讲只关注xss,sql注入是下一讲的内容哈~

    
    
  • makawoyi
    2019-12-20
    反射型XSS,老师我这里的疑问 最开始是如何进行传播的呢?由黑客本人编写一条URL诱使用户点击,之后获取到用户的Cookie后通过JavaScript脚本再自动发送一条微博进行传播吗

    安全事件应当加强人员安全意识,之后时尽可能使用上述提出的安全防护方式进行防护

    作者回复: 是的,就是通过发微博的形式进行再次传播。

    
    
  • tt
    2019-12-20
    不要相信用户的输入。那么前端要处理自用户的输入么?要。后端要处理用户的输入么?也要。没有正确处理,就有责任。

    微博的例子是不是存储行XSS攻击呢?A用户发送的微博中被嵌入了恶意脚本,另外一个用户B浏览此内容的时候,因为已经登陆了,可以直接用自己的身份(Token或cookes)直接发布到服务器上

    作者回复: 不算存储型XSS,因为传播是因为微博的内容是一个反射型XSS链接。而这个内容本身实际不会执行脚本,需要用户点击才能发起XSS。

    
    
我们在线,来聊聊吧