[书籍精读]《Web前端黑客技术揭秘》精读笔记分享(2)

3.HTML内嵌脚本执行:JavaScript脚本除了出现在JS格式文件里,被嵌入而执行外,还可以出现在HTML的<script></script>标签内、HTML的标签on事件中,以及一些标签的href、src等属性的伪协议(javascript:等)中;

2.5.跨站之魂-JavaScript

有了XSS漏洞,就意味着可以注入任意的JavaScript,有了JavaScript,就意味着被攻击者的任何操作都可以模拟,任何隐私信息都可以获取到

DOM树操作:1.获取HTML内容中的隐私数据;2.获取浏览器的Cookies数据(Cookies中保存了用户的会话信息,通过document.cookie可以获取到,不过并不是所有的Cookies都可以获取);3.获取URL地址中的数据

AJAX风险:Ajax简直就是前端黑客攻击中必用的技术模式;利用Ajax的攻击显得很诡异,无声无息;不是任何请求头都可以通过JavaScript进行设置的,W3C给出了一份头部黑名单;如果目标域不设置Access-Control-Allow-Origin,虽然浏览器会报权限错误的问题,但实际上隐私数已经被目标域的代码接收到了;默认情况下,这样的跨域无法带上目标域的会话(Cookies等),需要设置xhr实例的withCredentials属性为true(IE还不支持);如果设置了Access-Control-Allow-Credentials为true,那么Access-Control-Allow-Origin就不能设置为*通配符,这也是浏览器为了安全进行的考虑;

模拟用户发起浏览器请求:XMLHttpRequest对象就是一个非常方便的方式,可以模拟表单提交,它有异步与同步之分,差别在于XMLHttpRequest实例化的对象xhr的open方法的第三个参数,true表示异步,false表示同步,如果使用异步方式,就是Ajax;前端黑客攻击中,比如XSS经常需要发起各种请求(如盗取Cookies、蠕虫攻击等),上面的几种方式都是XSS攻击常用的,而最后一个表单自提交方式经常用于CSRF攻击中;

Cookie安全:Cookie是一个神奇的机制,同域内浏览器中发出的任何一个请求都会带上Cookie,无论请求什么资源,请求时,Cookie出现在请求头的Cookie字段中。服务端响应头的Set-Cookie字段可以添加、修改和删除Cookie,大多数情况下,客户端通过JavaScript也可以添加、修改和删除Cookie;Cookie经常被用来存储用户的会话信息,用户登录认证后的Session,之后同域内发出的请求都会带上认证后的会话信息,非常方便。攻击者就特别喜欢盗取Cookie,这相当于盗取了在目标网站上的用户权限;

本地存储风险:本地存储的主要风险是被植入广告跟踪标志,有的想删都不一定能删除干净;广为人知的evercookie,还使用了以下存储(Silverlight的IsolatedStorage、PNG Cache、类似PNG Cache机制的还有HTTP Etags、Web Cache、Web History、window.name);

e4x带来的混乱世界:对于JavaScript来说,当前只有Firefox支持E4X,这种技术是将XML作为JavaScript的对象;通过使用E4X技术,可以混淆JavaScript代码,甚至绕开一些过滤规则;

JavaScript函数劫持:JavaScript函数劫持很简单,一般情况下,只要在目标函数触发之前,重写这个函数即可;曾经的浏览器劫持document.write、document.writeln也同样是这样的方式;

2.6.一个伪装出来的世界-CSS

CSS即层叠样式表,用于控制网页的呈现样式,如颜色、字体、大小、高宽、透明、偏移、布局等,通过灵活运用CSS技巧,攻击者可以伪装出期望的网页效果,从而进行钓鱼攻击

CSS容错性

样式伪装:伪装出来的UI效果让人感觉就是真的

CSS伪类:曾经出现比较久的CSS History攻击利用的就是:visited伪类技巧进行的,原理很简单,就是准备一批常用的链接,加上:visited{ background:url(xxxxx) }样式;如果其中的某链接之前访问过(也就是存在于记录中的),那么:visited就会触发,随后会发送一个唯一的请求到目标地址,这样就可以知道被攻击者的历史记录是否有这个链接,不过这个方式已经被浏览器修补了;但还有一些伪类是有效的。比如::selection伪类,当指定对象区域被选择时,就会触发::selection,这个在Chrome下有效;

CSS3的属性选择符:CSS还可以内嵌脚本执行

2.7.另一个幽灵-ActionScript

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/733aada54040dbf995fb8a037614d625.html