XSS漏洞详解

Xss漏洞介绍:

Cross-Site Scripting,简称为XSS或跨站脚本或者跨站脚本gongji。是一种针对网站或者应用程序的漏洞gongji技术,也是利用代码注入的一种。它允许恶意用户将代码注入网页,其他用户浏览网页时将会受到影响。
XSS gongji分为三类:反射型,存储型,DOM型

怀安网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

XSS漏洞原理及利用:

反射型XSS
反射型XSS又称非持久型XSS,gongji方式仅具有一次性。
gongji方式:gongji者通过包含XSS代码的恶意链接发送给受害者,当受害者访问该连接时,服务器接收该受害者用户的请求并进行处理,然后服务器把带有XSS代码的数据发送给受害者用户的浏览器,浏览器解析这段包含XSS代码的恶意脚本,就会触发XSS漏洞,完成gongji。
利用
我们用dvwa来展示基础的XSS利用
XSS漏洞详解
在输入框中输入,点击submit即可弹出
XSS漏洞详解
存储型XSS
存储型XSS又称持久型XSS,恶意脚本将被永久的保存在服务器的数据库或者文件中。
gongji方式:多见与论坛,博客以及网站留言板。gongji者在发帖,留言的过程中,将恶意XSS脚本连同正常信息注入内容,随着帖子,留言板被服务器存储下来,恶意XSS脚本也将保存在服务器中,当其他用户浏览帖子或者留言时,恶意XSS脚本会在他们的浏览器中执行。
利用
XSS漏洞详解
在message框中输入,点击sign即可弹出xss
XSS漏洞详解
此时查看页面源代码
XSS漏洞详解
可以看到我们的恶意代码成功保存在服务器上
DOM型XSS
全称Document Object Model,使用DOM可以使程序和脚本能够动态访问更新文档的内容,结构及样式。
DOM型XSS是一种特殊类型的反射型XSS,基于DOM文档对象模型的一种漏洞。
gongji方式:用户请求一个经过专门设计的链接,由gongji者提交且包含恶意XSS代码,服务器的响应不会以任何形式包含gongji者的脚本,当受害者的浏览器处理这个响应时,DOM对象就会处理XSS恶意代码。
利用
XSS漏洞详解
图中DOM型XSS例子为再输入框里输入内容点击替换,会在“这里会显示输入的内容”替换为输入的信息
XSS漏洞详解
我们在输入框中输入 ,点击替换,即可触发XSS
XSS漏洞详解


##这里为DOM型XSS漏洞源码



Test




这里会显示输入的内容








单击替换时会执行tihuan()函数,而tihuan()函数是一个DOM操作,通过document,getElementById获取ID为id1的节点,然后将节点id1的内容修改成id为dom_input中的值。

XSS常用语句及编码绕过

XSS常用测试语句




常见的XSS编码绕过有js编码,html实体编码,url编码
js编码
js提供了四种字符编码的策略
三位八进制数字,如果个数不够,在前面补0,例如"e"的编码为"\145"
两位十六进制数字,如果个数不够,在前面补0,例如"e"的编码为"\x65"
四位十六进制数字,如果个数不够,在前面补0,例如"e"的编码为"\u0065"
对于一些控制字符,使用特殊的C类型的转义风格(例如\n和\r)
html实体编码
命名实体:以&开头,以分号结尾
字符编码:十进制,十六进制ASCII码或者Unicode字符编码
url编码
使用XSS编码测试时需要考虑html渲染的顺序,针对多种编码的组合时,要选择合适的编码进行测试
常用绕过方式
双写绕过:基于“黑名单”的方式如调用str_replace函数将输入的