java web xss_JavaWeb xss攻击

出处:
XSS 全称(Cross Site ) 跨站脚本攻击,是Web程序中最常见的漏洞 。指攻击者在网页中嵌入客户端脚本(例如), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.比如获取用户的,导航到恶意网站,携带木马等 。
作为测试人员,需要了解XSS的原理,攻击场景,如何修复 。才能有效的防止XSS的发生 。
阅读目录
XSS 是如何发生的呢
假如有下面一个
是来自用户的输入,如果用户不是输入,而是输入 "/>
【java web xss_JavaWeb xss攻击】嵌入的代码将会被执行
或者用户输入的是 "οnfοcus="alert(.) 那么就会变成
事件被触发的时候嵌入的代码将会被执行
攻击的威力,取决于用户输入了什么样的脚本
当然用户提交的数据还可以通过(放在URL中)和发送给服务器. 例如下图
HTML
XSS之所以会发生,是因为用户输入的数据变成了代码 。所以我们需要对用户输入的数据进行HTML 处理 。将其中的"中括号",“单引号”,“引号” 之类的特殊字符进行编码 。

java web xss_JavaWeb xss攻击

文章插图
在C#中已经提供了现成的方法,只要调用.(" ") 就可以了 。(需要引用.Web程序集)
中也提供了很方便的工具, 点击上的"" 按钮
XSS 攻击场景
1. Dom-Based XSS 漏洞 攻击过程如下
Tom 发现了中的一个页面有XSS漏洞,
例如:
服务器中.asp 页面的代码大概如下
for
...
Tom 先建立一个网站, 用来接收“偷”来的信息 。
然后Tom 构造一个恶意的url(如下), 通过某种方式(邮件,QQ)发给
点击了这个URL,嵌入在URL中的恶意代码就会在的浏览器中执行. 那么在网站的, 就会被发送到网站中 。这样在 的信息就被Tom盗了.
2.XSS(存储式XSS漏洞), 该类型是应用广泛而且有可能影响大Web服务器自身安全的漏洞,攻击者将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄露的可能 。攻击过程如下
java web xss_JavaWeb xss攻击

文章插图
Alex发现了网站A上有一个XSS 漏洞,该漏洞允许将攻击代码保存在数据库中,
Alex发布了一篇文章,文章中嵌入了恶意代码 。
其他人如访问这片文章的时候,嵌入在文章中的恶意代码就会在的浏览器中执行,其会话或者其他信息将被Alex盗走 。
Dom-Based XSS漏洞威胁用户个体,而存储式XSS漏洞所威胁的对象将是大量的用户.
XSS 漏洞修复
原则:不相信客户输入的数据
注意: 攻击代码不一定在中
将重要的标记为http only,这样的话 中的.语句就不能获取到了.
只允许用户输入我们期望的数据 。例如:年龄的中,只允许用户输入数字 。而数字之外的字符都过滤掉 。
对数据进行Html处理
过滤或移除特殊的Html标签,例如:
过滤 事件的标签 。例如 "ο=", "" 等等 。
如何测试XSS漏洞
方法一: 查看代码,查找关键的变量, 客户端将数据传送给Web 服务端一般通过三种方式 , Form表单,以及. 例如在ASP的程序中,通过对象获取客户端的变量
假如变量没有经过处理,那么这个变量就存在一个XSS漏洞
方法二:准备测试脚本,
"/>