热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网站被黑的10大原因

文章标题:网站被黑的10大原因。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

1、跨站脚本(XSS)

  ■ 问题:XSS漏洞是最普遍和最致命的网络应用软件安全漏洞,当一款应用软件将用户数据发送到不带认证或者不对内容进行编码的网络浏览器时容易发生。黑客可以利用浏览器中的恶意脚本获得用户的数据,破坏网站,插入有害内容,以及展开钓鱼式攻击和恶意攻击。

  ■ 真实案例:恶意攻击者去年针对Paypal发起了攻击,他们将Paypal用户重新引导到另一个恶意网站并警告用户,他们的账户已经失窃。用户们被引导到另一个钓鱼式网站上,然后输入自己的Paypal登录信息、社会保险号和信用卡资料。Paypal公司称,它在2006年6月修复了那个漏洞。

  ■ 如何保护用户:利用一个白名单来验证接到的所有数据,来自白名单之外的数据一律拦截。另外,还可以对所有接收到的数据进行编码。OWASP说:“验证机制可以检测攻击,编码则可以防止其他恶意攻击者在浏览器上运行的内容中插入其他脚本。”

  2、注入漏洞

  ■ 问题:当用户提供的数据被作为指令的一部分发送到转换器(将文本指令转换成可执行的机器指令)的时候,黑客会欺骗转换器。攻击者可以利用注入漏洞创建、读取、更新或者删除应用软件上的任意数据。在最坏的情况下,攻击者可以利用这些漏洞完全控制应用软件和底层系统,甚至绕过系统底层的防火墙。

  ■ 真实案例:俄罗斯黑客在2006年1月份攻破了美国罗得岛政府网站,窃取了大量信用卡资料。黑客们声称SQL注入攻击窃取了5.3万个信用卡账号,而主机服务供应商则声称只被窃取了4113个信用卡账号。

  ■ 如何保护用户:尽可能不要使用转换器。OWASP组织说:“如果你必须使用转换器,那么,避免遭受注入攻击的最好方法是使用安全的API,比如参数化指令和对象关系映射库。”

  3、恶意文件执行

  ■ 问题:黑客们可以远程执行代码、远程安装rootkits工具或者完全攻破一个系统。任何一款接受来自用户的文件名或者文件的网络应用软件都是存在漏洞的。漏洞可能是用PHP语言写的,PHP是网络开发过程中应用最普遍的一种脚本语言。

  ■ 真实案例:一位青少年程序员在2002年发现了Guess.com网站是存在漏洞的,攻击者可以从Guess数据库中窃取20万个客户的资料,包括用户名、信用卡号和有效期等。Guess公司在次年受到联邦贸易委员会调查之后,同意升级其安全系统。

  ■ 如何保护用户:不要将用户提供的任何文件写入基于服务器的资源,比如镜像和脚本等。设定防火墙规则,防止外部网站与内部系统之间建立任何新的连接。

  4、不安全的直接对象参照物

  ■ 问题:攻击者可以利用直接对象参照物而越权存取其他对象。当网站地址或者其他参数包含了文件、目录、数据库记录或者关键字等参照物对象时就可能发生这种攻击。

  银行网站通常使用用户的账号作为主关键字,这样就可能在网络接口中暴露用户的账号。

  OWASP说:“数据库关键字的参照物通常会泄密。攻击者可以通过猜想或者搜索另一个有效关键字的方式攻击这些参数。通常,它们都是连续的。”

  ■ 真实案例:澳大利亚的一个税务网站在2000年被一位用户攻破。那位用户只是在网站地址中更改了税务ID账号就获得了1.7万家企业的详细资料。黑客以电子邮件的方式通知了那1.7万家企业,告知它们的数据已经被破解了。

 

  ■ 如何保护用户:利用索引,通过间接参照映射或者另一种间接法来避免发生直接对象参照物泄密。如果你不能避免使用直接参照,那么在使用它们之前必须对网站访问者进行授权。

  5、跨站指令伪造

  ■ 问题:这种攻击简单但破坏性强,它可以控制受害人的浏览器然后发送恶意指令到网络应用软件上。这种网站是很容易被攻击的,部分原因是因为它们是根据会话COOKIE或者“自动记忆”功能来授权指令的。各银行就是潜在的被攻击目标。

  Williams说:“网络上99%的应用软件都是易被跨站指令伪造漏洞感染的。现实中是否发生过某人因此被攻击而损失钱财的事呢?也许连各银行都不知道。对于银行来说,整个攻击看起来就像是用户登录到系统中进行了一次合法的交易。”

  ■ 真实案例:一位名叫Samy的黑客在2005年末利用一个蠕虫在MySpace网站上获得了100万个“好友”资料,在成千上万个MySpace网页上自动出现了“Samy是我的英雄”的文字。攻击本身也许是无害的,但是据说这个案例证明了将跨站脚本与伪造跨站指令结合在一起所具备的威力。另一个案例发生在一年前,Google网站上出现了一个漏洞,外部网站可以利用那个漏洞改变用户的语言偏好设置。

  ■ 如何保护用户:不要依赖浏览器自动提交的凭证或者标识。OWASP说:“解决这个问题的唯一方法是使用一种浏览器不会记住的自定义标识。”

  6、信息泄露和错误处理不当

  ■ 问题:各种应用软件产生并显示给用户看的错误信息对于黑客们来说也是有用的,那些信息可能将用户的隐私信息、软件的配置或者其他内部资料泄露出去。

  OWASP说:“各种网络应用软件经常通过详细或者调试出错信息将内部状态信息泄露出去。通常,这些信息可能会导致用户系统受到更有力的攻击。”

  ■ 真实案例:信息泄露是通过错误处理不当发生的,ChoicePoint在2005年的崩溃就是这种类型的典型案例。攻击者假扮是ChoicePoint的合法用户在公司人员信息数据库中寻找某个人的资料,随后窃取了16.3万个消费者的记录资料。ChoicePoint后来对包含敏感数据的信息产品的销售进行了限制。

  ■ 如何保护用户:利用测试工具,比如OWASP的WebScarab Project等来查看应用软件出现的错误信息。OWASP说:“未通过这种方法进行测试的应用软件几乎肯定会出现意外错误信息。”

  另一个方法是:禁止或者限制在错误处理中使用详细信息,不向用户显示调试信息。

  7、不安全的认证和会话管理

  ■ 问题:如果应用软件不能自始至终地保护认证证书和会话标识,用户的管理员账户就会被攻破。应注意隐私侵犯和认证系统的基础原理并进行有效监控。

  OWASP说:“主要验证机制中经常出现各种漏洞,但是攻击往往是通过注销、密码管理、限时登录、自动记忆、秘密问题和账户更新等辅助验证功能展开的。”

  ■ 真实案例:微软公司曾经消除过Hotmail中的一个漏洞,恶意Java脚本程序员曾经在2002年利用这个漏洞窃取了许多用户密码。这个漏洞是一家联网产品转售商发现的,包含木马程序的电子邮件可以利用这个漏洞更换Hotmail用户的操作界面,迫使用户不断重新输入他们的密码,并在用户不知情的情况下将它们发送给黑客。

  ■ 如何保护用户:通信与认证证书存储应确保安全性。传输私人文件的SSL协议应该是应用软件认证系统中的唯一选择,认证证书应以加密的形式进行保存。

 

[1] [2] 下一页


推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 生产环境下JVM调优参数的设置实例
     正文前先来一波福利推荐: 福利一:百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。福利二 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 本文介绍了Java集合库的使用方法,包括如何方便地重复使用集合以及下溯造型的应用。通过使用集合库,可以方便地取用各种集合,并将其插入到自己的程序中。为了使集合能够重复使用,Java提供了一种通用类型,即Object类型。通过添加指向集合的对象句柄,可以实现对集合的重复使用。然而,由于集合只能容纳Object类型,当向集合中添加对象句柄时,会丢失其身份或标识信息。为了恢复其本来面貌,可以使用下溯造型。本文还介绍了Java 1.2集合库的特点和优势。 ... [详细]
  • 【工具篇】抓包中的王牌工具—Fiddler (1环境搭建)
    本文介绍了抓包工具Fiddler的概述,包括其功能、选择原因和安装方法。Fiddler是一款免费且功能强大的抓包工具,可用于网络代理、接口测试、安全测试和WEB调试等。安装配置简单,上手快速,适合新手使用。详细的安装地址为https://www.telerik.com/download/fiddl。 ... [详细]
  • C#设计模式之八装饰模式(Decorator Pattern)【结构型】
    一、引言今天我们要讲【结构型】设计模式的第三个模式,该模式是【装饰模式】,英文名称:DecoratorPattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理 ... [详细]
author-avatar
温济鸿_345
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有