XSS和CSRF两种攻击方式
什么是xss攻击
Cross-Site (跨站脚本攻击),简称XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如、等,进而危害数据安全。
xss攻击的本质是将数据注入到静态代码中(如html和js等),当浏览器渲染html时就会触发注入的脚本引发xss攻击。
xss攻击产生的原因是对用户的输入过滤不严格,在能够同用户实现交互的地方更容易发现xss漏洞。
如何注入xss攻击 xss攻击的分类
根据攻击来源xss攻击可以分为三类
反射性xss 什么是反射性xss
反射型XXS是一种非持久性的攻击,它指的是恶意攻击者往Web页面里插入恶意代码,当用户浏览该页时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的目的。这里插入的恶意代码并没有保存在目标网站,需要引诱用户点击一个链接到目标网站的恶意链接来实施攻击。
反射性xss攻击的步骤 存储性xss 什么是存储性xss攻击
存储型xss是一种持久性攻击,存储型xss就是攻击者的恶意代码会保存到服务器中,比如留言板评论区这种公共区域,当其他用户访问存储有恶意代码的页面时就会触发恶意代码。存储型和反射性xss的区别在于,反射性xss需要用户点击恶意链接才能执行代码,而存储型xss是不需要访问合法网站以外的任何链接的。
存储性xss攻击的步骤 DOM型xss 什么是DOM型攻击
务器端经常使用.boby.等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS。DOM型XSS可能是存储型,也有可能是反射型。
DOM型攻击的步骤
DOM型xss攻击和反射性xss攻击、存储性攻击的区别是:DOM型xss攻击属于前端自身的安全漏洞,其他两种属于是服务端安全漏洞。
三种xss攻击的简单对比 类型存储区插入点安全漏洞类型
反射型
URL
HTML
后端漏洞
存储性
后端数据库
HTML
后端漏洞
DOM型
后端数据库;前端存储;URL
前端漏洞
如何防御xss攻击 什么是CSRF攻击
Cross-site (跨站请求伪造),是一种挟持用户在当前已登陆的Web应用程序上执行非本意的操作的攻击方法。如:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。
CSRF攻击的原理
具体流程看下图:
CSRF的特点 如何防御CSRF攻击 xss和CSRF的区别