
1.实验目的:
通过检测网站是否存在Xss漏洞,了解Xss漏洞的原理及检测步骤,维护网站的安全。
2.实验环境:
任意网络浏览器
3.实验原理:
(1)XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。
(2)实验步骤:确定XSS漏洞的基本方法是使用下面这个概念验证攻击字符串:">
解释:这个字符串被提交给每个应用程序页面中的每一个参数;同时,攻击者监控它的响应,看其中是否出现这个相同的字符串。如果发现攻击字符串按原样出现在响应中,几乎可以肯定应用程序存在XSS漏洞。
但是这种基本的方法无法确认应用程序中存在可以利用的Xss漏洞。
还需要渗漏测试步骤。
(3)渗透测试步骤:选择任意一个字符串,该字符串不曾出现在应用程序的任何地方,而且其中仅包含字母字符,因此不可能受到针对XSS过滤的影响。例如:mynameishack,提交这个字符串,以其作为每个页面的每一个参数,且每次只针对一个参数。监控应用程序的响应,看其中是否出现这同一个字符串。记下参数值被复制到应用程序响应中的每一个参数。渗透测试必须对记下的每个潜在的漏洞进行手动分析,确定其是否确实可被利用。这时,渗透测试的目的是找到一种设计输入的方法,以便当它被复制到应用程序响应的相同位置时,任何JavaScript脚本都能够得以执行。
例如:
假设返回的页面中包含以下脚本:
很明显,利用XSS的一种方法是终止包含字符串的双引号,结束标签,然后通过其他方法引入JavaScript脚本(使用