网络攻击技术——cross-sitescripting

网络攻击技术——cross-sitescripting

ID:9093778

大小:614.00 KB

页数:16页

时间:2018-04-17

网络攻击技术——cross-sitescripting_第1页
网络攻击技术——cross-sitescripting_第2页
网络攻击技术——cross-sitescripting_第3页
网络攻击技术——cross-sitescripting_第4页
网络攻击技术——cross-sitescripting_第5页
资源描述:

《网络攻击技术——cross-sitescripting》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1.1.1摘要     在本系列的第一篇博文中,我向大家介绍了SQLInjection常用的攻击和防范的技术。这个漏洞可以导致一些非常严重的后果,但幸运的是我们可以通过限制用户数据库的权限、使用参数化的SQL语句或使用ORM等技术来防范SQLInjection的发生,接来了要向大家介绍Cross-sitescripting(XSS)。     定义:Cross-sitescripting(XSS),是一种经常出现在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其它用户使用的页面中。比如,包括HTML代码和客户端脚本的页面。为不和层叠样式表(CS

2、S)的缩写混淆,通常将跨站脚本缩写为XSS。攻击者一般会利用XSS漏洞旁路掉访问控制——例如同源策略(sameoriginpolicy)或发起phishing攻击,网页挂马,cookie窃取等。    上面的定义有点别扭不好理解,让我们回忆一下SQLInjection是把恶意的代码注入的数据库并且执行该SQL语句,最后返回相应数据,所以SQLInjection是作用于数据库的,而XSS是通过发送恶意的代码到服务,让服务器把恶意代码发送到其他用户浏览器中,最后劫持用户浏览器,所以XSS是作用于用户的。 1.1.2正文     XSS主要攻击方式有两种:     一种就

3、像SQLInjection攻击一样,我把一段脚本注入到服务器上,用户访问方法服务器的某个URL,这个URL就会把远端的js注入进来,这个js有可能自动进行很多操作。比如这次事件中的帮你发微博,帮你发站内消息等。注入有很多方法,比如:提交表单,更改URL参数,上传图片,设置签名,等等。     另一类则是来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个跨站网页放在自己的服务器上,然后通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。这一类攻击的威胁相对较低,至少Ajax要发起

4、跨站调用是非常困难的(你可能需要hack浏览器)。现在让我们通过具体的例子来看看XSS攻击是如何发生的,假设现在有一个招聘网站www.examplejob.com,它提供在该网站已注册的用户发布招聘信息和发送招聘信息到注册用户的功能。 图1发布正常招聘信息      通过该网站的发布招聘信息功能,我们把招聘信息发送到该网站的服务器中,然后服务器会把信息发送到注册用户中,这样我们就实现了发布信息的目的了,然而当一些不怀好意好意的用户他们很可能利用该网站存在的漏洞对用户进行攻击。  图2发布恶意招聘信息      如上图所示,不怀好意好意的用户会把恶意代码,如:Java

5、Script,VBScript,ActiveX,HTML或Flash等,把它们嵌入到发布的信息中去,然后发送到服务器中,如果服务器没有很好的校验信息,直接把信息转发到用户,这将导致一场XSS攻击灾难。    通过上面的示意例子我们发现XSS攻击和SQLInjection存在着相同点,它们是通过注恶意代码进行攻击的,不同点是它们攻击对象不尽相同。    XSS是通过注入恶意代码,如:JavaScript,VBScript,ActiveX,HTML,或Flash等来劫持用户浏览器,进而通过构造恶意的URL。 通过构造恶意URL攻击    假设现在有一个网站,它提供链接到

6、www.examplejob.com网站的链接,这样链接再普通不过了,但大家有没有思考过这些外部链接可能存在危险呢? 图3正常页面跳转     通过上图,可以看到状态栏告诉我们这个链接将跳转到http://www.exmplejob.com,为了更加直观地分析XSS攻击,我们直接在地址栏中添加url参数实现跳转,示意代码如下:    页面实现:

Youarenowleavingthissite-we'renolongerresponsible!

   

7、CodeBehind:varurl=Request.QueryString["url"]; litLeavingTag.Text=string.Format("examplejob",url);    我们通过QueryString来获取URL中传递的参数,如果URL中包含了恶意代码,那么恶意代码将跳转到恶意网站或者直接执行恶意代码劫持用户浏览器。 图4构造恶意URL   上图我们在地址栏中输入一段Javascript代码,这也是XSS常用的攻击手段,它通过构造恶意的URL,当用户点击链接后,实现在用户的浏览器中运行恶意的代码。 图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。