根据中国网络安全法,仅用于网络安全学习
xss属于代码注入的一种,它允许恶意用户京代码注入网页,用户在浏览页面时就会受到影响。可能得到很高的权限
一、反射性xss
攻击方式:攻击者通过电子邮件的等方式,将含有xss的恶意代码连接发送给目标用户。当用户访问链接时,服务器接收到用户的请求并进行处理,然后服务器把带有XSS代码的数据发送给浏览器,这是浏览器解析恶意脚本,触发XSS漏洞
二、存储型XSS(持久性)
攻击方式:多见于留言板,发帖子等提交框,提交后恶意脚本连通正常信息一起注入帖子内容中,帖子被服务器存储,恶意脚本也存入了服务器后端,当用户浏览带有恶意脚本的帖子时,恶意脚本有被浏览器解析执行。
三、DOM型XSS
DOM型可以使脚本动态的访问和更新文档的内容和结构;他是特殊的反射性XSS;网页的结构时与HTML节点树构成(head、title、各种标签),这种类型可以通过JS语言控制HTML结构,或诸多操作。DOM型不与数据库交互,所以也是特殊的反射型XSS
实验工具:DVWA,phpstudy,burpsuite,谷歌浏览器
low等级
我们可以看到low等级没有做任何限制,当输入111时,就会显示111,若我们输入则又可以执行弹窗代码;
3、height等级
看一下源码:
htmlspecialchars(string): 把预定义的字符 “<” (小于)、 “>” (大于)、& 、‘’、“” 转换为 HTML 实体,防止浏览器将其作为HTML元素,只要我们写< script>就会给我们过滤掉;
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
输入的>和<号会被转义了。
1、low等级
源码分析:
输入用户名和一段 ,strip_tags函数把script标签给剥除了,addslashes函数把 ’ 转义成了 ’
我们可以看一下网页源码,这里对name进行了长度限制;
对与message进行过滤,我们可以考虑对name注入,然后我们用burpsuite抓包;对其数据进行修改;