最近看了安全测试相关的视频,觉得很不错,就把视频里面的内容汇集起来,有空了自己再回归看看。
XSS漏洞
概念
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScriptActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。
XSS(cross-site script)跨站脚本攻击。 攻击者利用网站漏洞把恶意的脚本代码注入到网页中,当其他用户浏览这些网页时,浏览器就会执行其中的恶意代码。
利用JavaScript语言进行攻击,js能够在浏览器执行。 如:弹出对话框 alert('hello!'); 或者控制浏览器跳转网页:window.location.href="www.baidu.com"
特点
与钓鱼攻击相比,XSS攻击所带来的危害更大,通常具有如下特点:
①由于XSS攻击在用户当前使用的应用程序中执行,用户将会看到与其有关的个性化信息,如账户信息或“欢迎回来”消息,克隆的Web站点不会显示个性化信息。
②通常,在钓鱼攻击中使用的克隆Web站点一经发现,就会立即被关闭。
③许多浏览器与安全防护软件产品都内置钓鱼攻击过滤器,可阻止用户访问恶意的克隆站点。
④如果客户访问一个克隆的Web网银站点,银行一般不承担责任。但是,如果攻击者通过银行应用程序中的XSS漏洞攻击了银行客户,则银行将不能简单地推卸责任。
类型
从攻击代码的工作方式可以分为三个类型:
(1)持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。
攻击者事先将恶意js代码上传或存储到漏洞服务器中,只要受害者浏览包含此恶意的代码的页面就会受到攻击。
漏洞位置:表单等其他提交数据的位置
(2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。
前提: get方式 url传递参数,展示在页面 比如公司官网将url直接展示在页面,黑客创造了一个url地址,用户点击后会有弹窗
(3)DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。
基于DOM的XSS漏洞是指受害者端的网页脚本在修改本地页面DOM环境时未进行合理的处置,而使得攻击脚本被执行。在整个攻击过程中,服务器响应的页面并没有发生变化,引起客户端脚本执行结果差异的原因是对本地DOM的恶意篡改利用。