对跨站脚本攻击和跨站请求伪造之道的解析 (对跨站脚本攻击的解释最准确的一项是)

教程大全 2025-07-20 00:43:24 浏览

以下的文章主要向大家描述的是对跨站脚本攻击与跨站请求伪造之道的解析,你如果对跨站脚本攻击与跨站请求伪造之道的解析有兴趣的话你就可以点击以下的文章进行观看了,以下就是文章的详细内容介绍,望大家借鉴。

这里谈到的跨站漏洞利用主要包括跨站脚本攻击、以及跨站请求伪造与其它的同源攻击,这些攻击都是目前极普遍的攻击方式。

这篇文章可供Web开发人员阅览,也可供网站管理员参考。 解析跨站脚本攻击与跨站请求伪造之道 解析跨站脚本攻击与跨站请求伪造之道[2] 解析跨站脚本攻击与跨站请求伪造之道[3] 这里谈到的跨站漏洞利用包括跨站脚本攻击、跨站请求伪造以及其它的同源攻击,这些攻击都是目前极普遍的攻击方式。这篇文章可供Web开发人员阅览,也可供网站管理员参考。

同源策略最初是随着网景公司的浏览器发布的,它的主要作用是规定浏览器和相关的编程语言应当如何处理安全问题。这种策略的主旨在于限制一个网站访问其它网站上的函数,同时又允许网站自由地控制URI上的代码源。换句话说,仅准许脚本能够处理同一域名上的其它脚本、80端口和协议。

同源攻击主要涉及几种攻击方式:跨站脚本攻击、跨站请求伪造、跨站请求跟踪、网站缓存投毒、HTTP响应Splitting、HTTP请求Smuggling、HTML和JavaScript网络扫描。

跨站脚本攻击

跨站脚本攻击是一种准许将恶意代码注入到网页中的安全漏洞。这种攻击主要用于:

A、钓鱼或者cookie窃取,目的是为了访问受限信息。

B、为了恶搞、丑化其它网站或实施社交工程攻击

C、在网站的客户端上执行恶意代码

这种攻击可以通过利用IMG标记来实施破坏或恶搞,如关闭用户浏览器的窗口,然后打开一个既无菜单也无工具栏的窗口,并播放一些恶搞性的声音。

1、攻击原理及类型

那么,这种攻击是如何进行的呢?总体说来,它分为两种类型:其一是反射式攻击,这种攻击跟踪网站通过cookies进行的身份验证,这种网站一般都不太安全,容易遭受跨站脚本攻击。使用社会工程(如告诉用户“你中奖了!”),如果目标用户受到诱骗,并单击攻击者注入到标准HTML代码中的包含恶意代码的链接,攻击者就可以访问用户的cookie信息(会话和身份验证信息等)。其二是存储式攻击,其原理是:假设某个网站利用后端数据库作为搜索网页的信息源,黑客们并不将恶意代码注入到普通页面中,而是将SQL代码注入到这种数据库中。于是,每次从后端数据库中返回查询结果时,都会包含着攻击者的恶意代码。可以想像,这种攻击并不是针对哪个客户端,而是感染整个论坛的用户组,并感染大量的容易轻信的受害者。

2、防范措施最重要的是要保护代码。

你应当限制用户输入信息的显示,实施过滤,仅显示绝对需要的信息。建议你验证并清理所有形式的数据、数据源,以及你无法直接控制的URL参数。

一个很实用的技巧是用HTML实体(如&)来代替特别字符。为了减少特定HTML字符的数量,你必须限制用户输入,仅准许用于网站的合法代码段。例如,许多论坛通过运用{b}标记让用户输入大写字符,但是典型情况下,这些站点并不准许你增添加自己的表单,所以不应当准许表单。此外,如果这些标记有特定的语法和值,那么你应当仅准许与其语法保持一致的值(例如,字体颜色是一个仅包含字母A-F或数字0-9的三个或六个字符的值,所以,如果你准许用户输入整个SQL语句,那么事情就糟了。)

此外,多数清理例程会用

标记来替换回车符和换行符,以及一些有害的单词,如“script”,这虽然依赖于具体的应用程序,但是许多网站有理由使用这种单词,所以这些措施很难普及。

对跨站脚本攻击和跨站请求伪造之道的解析

下面给出几个不安全的例子:

Python的例子:

ASP的例子:

将这种文本直接写到HTML中会导致:

这里你可以看到的是合法的HTML,所以会得到处理:

下面给出几个较安全的例子:

print cgi.escape(””)

跨站请求伪造

跨站请求伪造是另一种同源策略攻击,它的目的是为了欺骗受害者加载一个包含恶意请求的网页,要求用户输入其账户及口令等。这种欺骗依赖于用户对其身份信息的信任。用户一般会认为他们只是在执行不同的任务,只不过是使用一种HTTP请求。攻击者借用用户自己的浏览器将攻击发送给目标站点。

1、跨站请求伪造的原理

首先,攻击者将达到恶意站点的链接发布到目标站点上,然后,就会有一些轻信的用户浏览恶意网站,从而成为受害者,更有甚者,会成为其帮凶。在用户受到诱骗将表单提交给原始的目标网站(最初被植入恶意链接的网站)时,用户就会成为攻击者的帮凶。因为用户已经通过了身份验证,所以目标网站会接受表单提交请求,并准许修改敏感数据,如用户自己的口令或从网站上获取关键的信息。

2、保护代码

首先,要通过检查Request链接请求来限制对POST或Web应用程序的访问。

注意:有些浏览器会有一个空的链接请求,这也应当被阻止。

因而,相互认证一般情况下是令牌化认证的请求,即如果数据包含着一个适当的机密值,才可以接受粘贴数据。而且通过实行多个步骤的写入过程或确认页面会强化这种安全机制。

总结

同源策略是一个在多数浏览器中实施的概念,但它可被XSS攻击利用(它利用了一个用户对于某个网站或应用程序的信任),也可被XSRF利用(它利用了网站或应用程序对用户的信任)。

那么,我们的策略简单地说就是:绝不相信任何人!

不妨将信任看做是一个双向的街道:你永远不会知道哪个方向会出现车流。任何人都可以潜入到信任关系的中间,并滥用这种信任关系。

因而,我给出如下要点:

1、保护你的代码和客户端:对所有的远程数据输入都进行验证或过滤。

【编辑推荐】


怎么看出钓鱼网站啊

网络钓鱼伎俩不外乎下面几种: URL欺骗最普遍 刘慧宇老师说,URL欺骗是网络钓鱼最普遍的一种形式,即通过一定的技术手段构建虚假的URL地址,给用户造成错觉以为是在正确的网站上。 目前常见的构建虚假URL的方式有三种。 1、显示文字和链接地址不同 例子:网络 以上代码的作用是使得用户在网页或邮件中看到显示的是“网络”,实际上是链接到Google的网站上。 识别这类欺骗还是比较简单的,只要将鼠标移动到链接上,就可以在状态栏中看到实际的链接地址。 2、把两个URL和一个表格插入到HTML的href标记中 例子:Google 这类欺骗很难识别,你在网页中看到的网址是Google,即使你把鼠标移动到链接上,在状态栏上看起来依然链接到www.google.com的网站上,可是一旦你单击该链接你才发现,你链接到的是网络的站点。 用户在上网过程中要时常注意地址栏上的URL变化,一旦发现地址栏上的域名发生变化就要提高警惕,只有这样才能有效避免被钓。 3、利用IE的语法错误 例子:网络 在许多没有打过补丁的计算机中,如果把URL地址写成“http://www.baidu.com@www.redhat.com/”或者“http://www.baidu.com@/”,通过链接栏和地址栏都将看到你链接的是http://www.baidu.com,可实际上显示的页面内容是http://www.redhat.com,很难想像用户遇到这样的链接会不上当。 目前用户能做的就是尽快地给升级系统或打上补丁。 利用跨站脚本漏洞窃取信息 所谓的跨站脚本就是攻击者利用合法网站服务器程序上的漏洞,在站点的某些网页中插入危险的HTML代码,窃取用户信息。 克隆网站成骗钱捷径 由于制作一个网站的成本很低,造假者使用假身份证花几百元很容易申请到一个域名,并租到服务器空间。 1、URL地址克隆 使用和真实网址非常相似的域名,如:中国农业银行的互联网地址是“www..cn”、“easyabc..cn”、“www.abc.com”、“www.e.com”。 近日出现的www..cn(该网站已被查封)和www..cn只有一字之差,然而却是天壤之别。 2、页面形式内容克隆 在假冒网站上使用正规网站的LOGO、图表、新闻内容和链接,惟一区别之处是输入的账号的位置,一旦用户登陆网站,很难通过一般的常识来区别哪个是正规的网站,哪个是假冒网站。 做好预防避免上当 其实最好的自我保护方式不需要多少技术,可从链接来源和使用场合等方面来预防。 1、链接来源 1) 对于银行发来的手机短信,应认真核实短信的来源,如涉及到账号问题要和银行进行电话确认。 2) 对要求重新输入账号信息,否则将停掉信用卡账号之类的邮件不予理睬。 3) 不要回复或者点击邮件的链接,如果你想核实电子邮件的信息,可以使用电话联系。 4) 若想访问某个公司的网站,使用浏览器直接访问,输入网址前,有必要确认网址的来源。 点击邮件中的链接、短信即时通信工具如QQ、MSN都是不可取的。 5)如果一个网址中含有“@”符号,应该意识到,一般网址是完全没有必要使用“@”符号的,因此不要使用这个网址。 2、网上银行安全使用技巧 一个简便的方法可帮你安全地使用网上银行,现以中国工商银行的网站为例进行介绍。 进入网上银行后,在看到输入框时,不要急于输入信息,此时要检查IE是否启用加密链接(看看是不是有小锁的图标),并检查证书是否有效(双击小锁图标,打开“证书”界面,查看其有效期),最好还要检查证书是否与地址栏的地址相匹配(在“证书”界面中选择“证书路径”,并查看“证书路径”最后一项是不是与地址栏中的地址一致)。 如果其中一项不符合,那么就要小心了。

扫描的21端口怎么入侵?

1、弱口令:FTP、MySQL、MS-SQL、NT(就是IPC$现在已经很少了),最主要的还是利用前三个2、80端口是提供正常的HTTP服务的,所以对于80端口的入侵,一般的防火墙都是形同虚设的。 在此类攻击手段中,SQL 注入可谓是一把利刃,无坚不摧;此外还有比如:XSS(跨站脚本攻击),主要针对SNS类型的网站,一句话来形容XSS:只有想不到的,没有做不到的。 但要发起此类攻击不是那么简单的:攻击者必须具备编写AJAX蠕虫的水平。

如何在IIS 6.0中关闭HTTP TRACE ?

直接关闭可能不行。但可以用 URLScan 这个工具来阻止http TRACE 跨站攻击若要下载 URLScan 2.5,请访问下面的 Microsoft 网站:配置 URLScan 工具方法,

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

发表评论

热门推荐