XSS注入测试

XSS注入测试XSS 全称 CrossSiteScr 跨站脚本攻击 是 Web 程序中最常见的漏洞 指攻击者在网页中嵌入客户端脚本 例如 JavaScript 当用户浏览此网页时 脚本就会在用户的浏览器上执行 从而达到攻击者的目的 nbsp 比如获取用户的 Cookie 导航到恶意网站 携带木马等 作为测试人员 需要了解 XSS 的原理 攻击场景 如何修复 才能有效的防止 XSS 的发生 nbsp XSS

XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.  比如获取用户的Cookie,导航到恶意网站,携带木马等。作为测试人员,需要了解XSS的原理,攻击场景,如何修复。 才能有效的防止XSS的发生。

 

XSS 是如何发生的呢

假如有下面一个textbox

value1from是来自用户的输入,如果用户不是输入value1from,而是输入 “/>

 
   

嵌入的JavaScript代码将会被执行

或者用户输入的是  “οnfοcus=”alert(document.cookie)      那么就会变成 

 事件被触发的时候嵌入的JavaScript代码将会被执行

 攻击的威力,取决于用户输入了什么样的脚本

 

当然用户提交的数据还可以通过QueryString(放在URL中)和Cookie发送给服务器. 例如下图

XSS注入测试

 

HTML Encode

XSS之所以会发生, 是因为用户输入的数据变成了代码。 所以我们需要对用户输入的数据进行HTML Encode处理。 将其中的”中括号”, “单引号”,“引号” 之类的特殊字符进行编码。

XSS注入测试

在C#中已经提供了现成的方法,只要调用HttpUtility.HtmlEncode(“string

“) 就可以了。  (需要引用System.Web程序集)

Fiddler中也提供了很方便的工具, 点击Toolbar上的”TextWizard” 按钮

XSS注入测试

 

如何测试XSS漏洞

方法一:  查看代码,查找关键的变量,   客户端将数据传送给Web 服务端一般通过三种方式 Querystring, Form表单,以及cookie.  例如在ASP的程序中,通过Request对象获取客户端的变量

<% strUserCode = Request.QueryString(“code”); strUser = Request.Form(“USER”); strID = Request.Cookies(“ID”); %>

假如变量没有经过htmlEncode处理, 那么这个变量就存在一个XSS漏洞

 方法二: 准备测试脚本

"/> 
   

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207227.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:17
下一篇 2026年3月19日 下午2:18


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号