前言
最近看了《白帽子讲WEB安全》,书的内容可能已经过时了,但是用来提高安全意识还是不错的,现在将它记下来做个总结。
WEB安全整体给我的感觉是虽然重要,但攻击手段有限,安全的大头还是在服务器安全这块。
XSS攻击
先来第一个,XSS攻击,XSS攻击主要分为两类: 1、存储型XSS 2、反射型XSS ,先来看反射型XSS攻击。
反射型XSS攻击
所谓反射型XSS攻击其实就是利用JAVASCRIPT解析漏洞,将原本该解析成HTML的内容解析成了JS代码,那么如何实现攻击的呢? 假设某个20年前原始的网站有如下代码:
1 | 请输入搜索关键字:<input type="text" name="search" > |
此时我们输入:<script>alert('xss')</script> ,点击搜索后,发现页面上打印alert(xss)了,但是这样只是控制了自己的浏览器JS,没有意义(用浏览器控制台一样可以做到),因此要将此漏洞散布出去。
假设它的搜索请求url是:http://reiner.host/search?keyword=WEB安全总结 ,将其改为 http://reiner.host/search?keyword= ,并将链接分享出去,诱导别人去点击。
此时这个倒霉鬼如果刚好登陆了该网站,那么你就可以通过JS拿到他的sessionId,然后弄个不可见的iframe将sessionId传到自己的服务器,从而为所欲为了。
PS:担心加上JS代码后链接过长可以弄个短链接。
所以防止反射型XSS的关键点在于不能直接将用户输入的内容展现出来,绝大部分前端框架一般是解决了此问题的,即用户输入内容不会被浏览器解析为JS代码,但不排除一定就没有XSS漏洞了。
防反射型XSS攻击总结
1、对于用户输入的内容不要直接展示
2、使用稳定的开源框架,一般有自动处理
这就是为什么要注意不要乱点链接
more >>
