如何挖掘xss漏洞

漏洞描述

跨站脚本(XSS)漏洞是一种常见的 Web 应用程序安全漏洞,攻击者利用该漏洞可以向网页中插入恶意脚本代码,当用户访问包含恶意脚本的网页时,这些脚本就会在用户的浏览器中执行,从而导致攻击者能够窃取用户的会话信息、篡改页面内容、甚至获取用户的敏感信息。

漏洞原理

XSS漏洞通常是由于应用程序未对用户输入进行充分的过滤和验证导致的。攻击者可以通过在包含用户输入的网页中插入恶意的脚本代码,比如JavaScript代码,然后等待用户访问包含恶意脚本的页面,从而触发恶意脚本的执行。

漏洞场景

XSS漏洞通常出现在需要用户输入的地方,比如评论框、搜索框、用户注册等地方。如果应用程序未对用户输入进行充分的验证和过滤,就容易受到XSS攻击。

漏洞场景

 Windows操作系统下的DVWA靶场

用DVWA中的xss来进行漏洞验证

可以使用一段简单的代码,验证和检测漏洞的存在,这样的代码叫做 POC(Proof of
Concept)。验证 XSS 漏洞存在的 POC 如下:

<script>alert(/xss/);</script>
<script>confirm(/xss/);</script>
<script>confirm('xss');</script>
<script>prompt('xss');</script>

如果页面弹窗,浏览器把用户提交的字符串当做 JS 来执行,并且执行成功,说明 XSS
漏洞存在。

开始验证 

在dvwa靶场打开xss漏洞 提交之后出现xss弹窗   证明存在xss漏洞                                                                                                      但是这种测试太明显,容易被waf 等防御措施发现 XSS 攻击的特征。

可以测试一下代码是否可以原样返回

输入<lyy> 测试一下         这里测试用最高等级发现关键字符被 HTML 实体编码,说明此 XSS 漏洞不可利用

漏洞防御

  • 输入验证和过滤:对用户输入进行严格的验证和过滤,确保输入的数据符合预期的格式和范围。
  • 转义输出数据:在输出用户输入数据到网页时,需要对数据进行适当的转义,以防止恶意脚本的执行。
  • 使用CSP(内容安全策略):CSP是一种可以限制网页中脚本执行的安全策略,可以有效防御XSS攻击。
  • 使用HttpOnly标记:将Cookie标记为HttpOnly,可以防止被XSS攻击窃取。