网络攻击与防范_第1页
网络攻击与防范_第2页
网络攻击与防范_第3页
网络攻击与防范_第4页
网络攻击与防范_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章网络攻击与防范10.1黑客与网络攻击10.2网络攻击技术演变10.3网络攻击根本概念及术语10.4网络攻击的整体模型描述10.5网络攻击实施和技术分析10.5.1权限的获取及提升-密码破解攻击(包括:社会工程学攻击网络钓鱼)10.5.2缓冲区溢出攻击技术原理分析拒绝效劳攻击〔包括:DOS、DDOS攻击〕10.5.4欺骗攻击与防范〔包括:IP欺骗、ARP欺骗、DNS欺骗、Web欺骗〕10.5.5SQL注入攻击、跨站脚本10.6计算机取证10.7系统入侵后的恢复10.1黑客与网络攻击黑客hacker是那些检查〔网络〕系统完整性和平安性的人,他们通常非常精通计算机硬件和软件知识,并有能力通过创新的方法剖析系统。“黑客〞通常会去寻找网络中漏洞,但是往往并不去破坏计算机系统。入侵者Cracker只不过是那些利用网络漏洞破坏网络的人,他们往往会通过计算机系统漏洞来入侵,他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。现在hacker和Cracker已经混为一谈,人们通常将入侵计算机系统的人统称为黑客.黑客在网上的攻击活动每年以10倍的速度增长,他们修改网页进行恶作剧,窃取网上信息兴风作浪,非法进入主机破坏程序、阻塞用户、窃取密码。串入银行网络转移金钱、进行电子邮件骚扰。黑客可能会试图攻击网络设备,使网络设备瘫痪。他们利用网络平安的脆弱性,无孔不入!美国每年因黑客而造成的经济损失近百亿美元。10.1黑客与网络攻击理论上开放系统都会有漏洞的,正是这些漏洞被一些拥有很高技术水平和超强耐性的黑客所利用。黑客们最常用的手段是获得超级用户口令,他们总是先分析目标系统正在运行哪些应用程序,目前可以获得哪些权限,有哪些漏洞可加以利用,并最终利用这些漏洞获取超级用户权限,再到达他们的目的。黑客攻击是黑客自己开发或利用已有的工具寻找计算机系统和网络的缺陷和漏洞,并对这些缺陷实施攻击。黑对黑客技术的几点看法黑客技术属于科学技术的范畴;黑客技术是双刃剑,应该辨证地看待;网络平安需要黑客的参与;全世界对黑客技术的研究显得严重缺乏;对黑客技术的研究与开展有利于国家平安;黑客技术将成为未来信息站的主要手段。10.2网络攻击技术演变近年来网络攻击技术和攻击工具开展很快,使得一般的计算机爱好者要想成为一名准黑客非常容易,网络攻击技术和攻击工具的迅速开展使得各个单位的网络信息平安面临越来越大的风险。只有加深对网络攻击技术开展趋势的了解,才能够尽早采取相应的防护措施。目前应该特别注意网络攻击技术和攻击工具正在以下几个方面快速开展。1.攻击手段在快速改变2.平安漏洞的被利用的速度越来越快3.有组织的攻击越来越多4.攻击的目的和目标在改变从早期的以个人表现的无目的的攻击到有意识有目的的攻击改变,攻击目标在改变,从早期的以军事敌对为目标向民用目标转变,民用计算机受到越来越多的攻击,公司甚至个人的电脑都成为了攻击目标。更多的职业化黑客的出现,使网络攻击更加有目的性。黑客们已经不再满足于简单、虚无飘渺的名誉追求,更多的攻击背后是丰厚的经济利益。5.攻击行为越来越隐密攻击者已经具备了反侦破、动态行为、攻击工具更加成熟等特点。反侦破是指黑客越来越多地采用具有隐蔽攻击工具特性的技术,使平安专家需要消耗更多的时间来分析新出现的攻击工具和了解新的攻击行为。动态行为是指现在的自动攻击工具可以根据随机选择、预先定义的决策路径或通过入侵者直接管理,来变化它们的模式和行为,而不是像早期的攻击工具那样,仅能够以单一确定的顺序执行攻击步骤。6.攻击者的数量不断增加,破坏效果越来越大10.3网络攻击根本概念及术语网络攻击的方式主动攻击:扫描、渗透、拒绝效劳……被动攻击:嗅探、钓鱼……一些术语后门社会工程学BotNet〔僵尸网络〕漏洞SQL注入缓冲区溢出…….注解:后门程序一般是指那些绕过平安性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创立后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了平安风险,容易被黑客当成漏洞进行攻击。所谓“社会工程学攻击〞,就是利用人们的心理特征,骗取用户的信任,获取机密信息、系统设置等等不公开资料,为黑客攻击和病毒感染创造有利条件。社会工程学不能等同于一般的欺骗手法,它尤其复杂,即使自认为最警惕最小心的人,一样可能会被高明的社会工程学手段损害利益。510.3网络攻击根本概念及术语BotNet〔僵尸网络〕通过各种手段在大量计算机中植入特定的恶意程序,使控制者能够通过相对集中的假设干计算机直接向大量计算机发送指令的攻击网络。攻击者通常利用这样大规模的僵尸网络实施各种其他攻击活动。是指采用一种或多种传播手段,将大量主机感染bot程序〔僵尸程序〕病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。是一个可控制的网络,这个网络并不是指物理意义上具有拓扑结构的网络,它具有一定的分布性,随着bot程序的不断传播而不断有新位置的僵尸计算机添加到这个网络中来。僵尸病毒被人放到计算机时机器会滴滴的响上2秒.6网络平安漏洞网络普及,在方便应用的同时,平安问题也越来越突出。网络平安是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络效劳不中断。网络平安从其本质上来讲就是网络上的信息平安。事实上,我们现在使用的Internet是一个开放的、自由的、国际化的网络,只要你的计算机联网,就可能有人想方设法获取你的计算机上的信息。因为开放、自由,网络平安存在很多漏洞。10.3网络攻击根本概念及术语网络平安漏洞网络系统漏洞也称为网络系统的脆弱性、缺陷等,是指网络系统的软件、硬件或策略上的不平安因素。网络系统漏洞可以分为两类:软漏洞和硬漏洞。软漏洞是由网络系统配置不当引起的;硬漏洞是软件或硬件厂商的生产过程造成的。从技术上说,网络容易受到攻击的原因主要是由于网络软件不完善和网络协议本身存在平安缺陷造成的。例如我们使用最多的、最著名的TCP/IP网络协议就存在大量的平安漏洞。这是因为在设计TCP/IP协议时,我们只考虑到如何实现信息通信,而没有考虑到有人会破坏信息通信的平安。10.3网络攻击根本概念及术语网络系统的漏洞主要表现在以下几个方面:1〕网络系统的缺陷〔1〕网络操作系统体系结构自身并不平安〔2〕计算机系统的软件和硬件故障〔3〕网络端口、传输线路和处理机有可能因屏蔽不严而造成电磁信息辐射,从而造成信息泄露。2〕软件平安漏洞软件平安漏洞主要有以下几个方面:〔1〕应用软件的平安漏洞〔2〕操作系统的平安漏洞〔3〕数据库的平安漏洞〔4〕通信系统和通信协议的平安漏洞〔5〕网络软件与网络效劳的平安漏洞10.4网络攻击的整体模型描述网络攻击模型将攻击过程划分为以下阶段:1.攻击身份和位置隐藏;2.目标系统信息收集;3.弱点信息挖掘分析;4.目标使用权限获取;5.攻击行为隐藏;6.攻击实施;7.开辟后门;8.攻击痕迹去除。黑客攻击流程:黑客要实施攻击,一般来说必须有3个根本步骤。1〕收集信息〔踩点〕。2〕选择目标,实施攻击。3〕上传黑客程序,取得控制权,下载用户数据。黑客攻击的关键一步就是收集信息,也就是踩点。收集汇总各种与目标系统相关的信息,包括目标网络结构、用户数、目标机器类型、所用域,以及IP地址和操作系统等。黑客入侵的一般模式为:踩点→查点→扫描→分析并入侵→获取权限→提升权限→扩大范围→安装后门→去除日志。黑客攻击行为流程的一般模型如以下图所示。图中虚线框上部完成收集信息;虚线框中是入侵模块,即实施攻击;最后完成黑客攻击的目的。黑客攻击行为流程的一般模型7.1.3网络攻击的整体模型描述1.攻击过程中的关键阶段是:弱点挖掘和权获取限;2.攻击成功的关键条件之一是:目标系统存在平安漏洞或弱点;3.网络攻击难点是:目标使用权的获得。4.能否成功攻击一个系统取决于多方面的因素。攻击主机确定目标信息收集漏洞挖掘攻击网络留下后门清除日志结束攻击典型的网络攻击的一般流程:攻击的过程14信息收集分析目标实施攻击方便再次进入清扫战场攻击首先要明确目标〔单机、网段〕,目标探测〔也称踩点〕就是通过自动或人工方法,获得与目标网络相关的物理和逻辑参数。目标探测是防范不法黑客攻击行为的手段之一,也是黑客进行攻击的第一步。〔1〕为什么要收集信息获取攻击目标大概信息网络信息主机信息是否存在漏洞密码脆弱性等等指导下一步攻击行为〔2〕信息收集的方式社会工程学媒体〔如搜索引擎、广告介绍等〕网络工具的探测〔3〕目标探测的内容目标探测所包括的内容根本上有以下两类:1.外网信息。包括域名、管理员信息、网络地址范围、网络位置、网络地址分配机构信息、系统提供的各种效劳和网络平安配置等。2.内网信息。包括内部网络协议、拓扑结构、系统体系结构和平安配置等。1.踩点-信息收集-目标探测目标探测主要利用了以下4种检测技术。1.基于应用的检测技术。它采用被动的、非破坏性的方法检查应用软件包的设置,发现平安漏洞。2.基于主机的检测技术。它采用被动的、非破坏性的方法对系统进行检测。3.基于目标漏洞检测技术。它采用被动的、非破坏性的方法检查系统属性和文件属性,如数据库和注册号等。4.基于网络的检测技术。它采用积极的、非破坏性的方法来检验系统是否有可能被攻击。1.为什么需要分析目标确定收集信息的准确性更准确的判断攻击方式及工具路径的选择2.分析目标的方法扫描漏洞库论坛等交互应用扫描概念和原理

计算机扫描就是对计算机系统或者其他网络设备进行与平安相关的检测,以找出平安隐患和可被黑客利用的漏洞。网络扫描技术是一种基于Internet远程检测目标网络或本地主机平安性脆弱点的技术。扫描采取模拟攻击的形式,对目标可能存在的平安漏洞逐项进行检查。目标可以是工作站、效劳器、交换机、路由器和数据库应用等。扫描器扫描器是一种自动检测远程或本地主机平安性的程序。主要是端口的分布、提供的效劳、软件版本、传输信息量等。既可以被网络管理员使用,也可能被黑客利用。2.定位-扫描-分析目标可以手工扫描,但更多的是借助扫描软件进行扫描,如SuperScan、IPScanner等。从整个信息平安角度来看的话,可以把扫描器大约分为三类:即:1.数据库平安扫描器数据库平安扫描器是针对数据库管理系统的平安评估工具,如DatabaseScanner。用户可利用它来建立数据库的平安规那么,通过运行审核程序来提供有关平安风险和位置的简明报告。2.系统平安扫描器系统平安扫描器是针对主机的平安评估工具,如SystemScanner。它是基于主机平安评估策略来分析系统漏洞,包括系统错误配置和普通配置信息。用户通过扫描结果对系统漏洞进行修补,直到扫描报告中不再出现任何警告。3.网络平安扫描器网络平安扫描器是针对于网络效劳、应用程序、网络设备和网络协议等平安评估工具。通常我们将基于网络的扫描称为主动式扫描,基于主机的扫描称为被动式扫描。一个网络扫描器至少应该具备如下三项功能,实际上也就是3个阶段:〔1〕发现一个主机和网络;〔2〕发现主机后,扫描它正在运行的操作系统和各项效劳;如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。〔3〕测试系统和效劳中是否存在漏洞。防止端口扫描介绍两种防范端口扫描的方法:1.关闭闲置和有潜在危险的端口2.利用网络防火墙软件通过端口扫描确定主机开放的端口,不同的端口对应运行着的不同的网络效劳端口测试数据包测试响应数据包信息收集技术-端口扫描我知道主机上开放的端口了20端口扫描-常规扫描21扫描的方法─TCPConnectScan主要是利用TCP三次握手(Three-wayhandshaking)的连接方式來到达扫描的目的在TCP/IP协议中,TCP协议提供可靠的连接效劳,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到效劳器,并进入SYN_SEND状态,等待效劳器确认;SYN:同步序列编号(SynchronizeSequenceNumbers)。第二次握手:效劳器收到syn包,必须确认客户的SYN〔ack=j+1〕,同时自己也发送一个SYN包〔syn=k〕,即SYN+ACK包,此时效劳器进入SYN_RECV状态;第三次握手:客户端收到效劳器的SYN+ACK包,向效劳器发送确认包ACK(ack=k+1),此包发送完毕,客户端和效劳器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与效劳器开始传送数据.AB1.SYN2.SYN+ACK3.ACK三次握手使用Nmap做TCPConnectScanNmap简介被称为“扫描器之王〞有forUnix和forWin的两种版本需要Libpcap库和Winpcap库的支持能够进行普通扫描、各种高级扫描和操作系统类型鉴别等使用-sS:半开式扫描-sT:普通connect()扫描-sU:udp端口扫描-O:操作系统鉴别-P0:强行扫描〔无论是否能够ping通目标〕-p:指定端口范围-v:详细模式工具介绍-端口扫描22工具介绍-端口扫描SuperScan简介基于Windows平台速度快,图形化界面使用傻瓜化23信息收集技术-漏洞扫描根据目标主机开放的不同应用和效劳来扫描和判断是否存在或可能存在某些漏洞意义进行网络平安评估为网络系统的加固提供先期准备被网络攻击者加以利用来获取重要的数据信息24对一个信息系统来说,它的平安性不在于它是否采用了最新的加密算法或最先进的设备,而是由系统本身最薄弱之处,即漏洞所决定的。只要这个漏洞被发现,系统就有可能成为网络攻击的牺牲品。信息平安的“木桶理论〞25信息收集技术-漏洞扫描工具网络设备漏洞扫描器CiscoAuditingTools集成化的漏洞扫描器NessusShadowSecurityScannereEye的RetinaInternetSecurityScannerGFILANguard专业web扫描软件IBMappscanAcunetixWebVulnerability数据库漏洞扫描器ISSDatabaseScanneroscanner Oracle数据库扫描器Metacoretex 数据平安审计工具漏洞扫描工具Nessus构架效劳器端:基于Unix系统客户端:有GTK、Java和Win系统支持运作客户端连接效劳器端,并下载插件和扫描策略真正的扫描由效劳器端发起两者之间的通信通过加密认证优势:具有强大的插件功能完全免费,升级快速非常适合作为网络平安评估工具26漏洞扫描工具X-Scan国产自主开发完全免费比较古老,缺乏维护27web扫描工具IBMAppScan28AcunetixWebVulnerabilityScanner优秀的Web平安测试软件29后门可以作什么方便下次直接进入监视用户所有行为、隐私完全控制用户主机后门放置方式如果已经入侵直接上载如果尚未入侵手动放置利用系统漏洞,远程植入利用系统漏洞,诱骗执行3.后门-方便下次进入3010.5网络攻击实施和技术分析“网络攻击〞是指任何的非授权而进入或试图进入他人计算机网络的行为。这种行为包括对整个网络的攻击,也包括对网络中的效劳器或单个计算机的攻击。攻击的目的在于干扰、破坏、摧毁对方效劳器的正常工作,攻击的范围从简单地使某种效劳器无效到完全破坏整个网络。10.5.1权限获取及提升10.5.2缓冲区溢出攻击技术原理分析10.5.3拒绝效劳攻击技术原理分析欺骗攻击与防范

权限的获取及提升攻击一般从确定攻击目标、收集信息开始,之后对目标系统进行弱点分析,根据目标系统的弱点想方设法获得权限,下面讨论攻击者如何获得权限以及如何进行权限的提升。一、通过网络监听获得权限网络监听技术本来是提供给网络平安管理人员进行网络管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等,黑客也可以利用网络监听来截取主机口令等。网络监听是攻击者获取权限的一种最简单而且最有效的方法,在网络上,监听效果最好的地方是在网关、路由器、防火墙一类的设备处,通常由网络管理员来操作。而对于攻击者来说,使用最方便的是在一个以太网中的任何一台上网的主机上进行监听。网络监听常常能轻易地获得用其他方法很难获得的信息。1.最简单的监听程序包括内核局部和用户分析局部。其中内核局部负责从网络中捕获和过滤数据。用户分析局部负责界面、数据转化与处理、格式化、协议分析,如果在内核没有过滤数据包,还要对数据进行过滤。2.一个较为完整的基于网络监听程序一般包括以下步骤:数据包捕获;数据包过滤与分解;数据分析。3.网络监听原理以太网〔Ethernet〕协议的工作方式是将要发送的数据包发往连接在一起的所有主机,在包头中包含有接收数据包的主机的正确地址,因为只有与数据包中目的地址一致的那台主机才能接收到信息包。因此,不管数据包中的目标物理地址是什么,主机都将接收,这就是实现网络监听的根底。如果主机工作在监听模式下,所有的数据包都将被交给上层协议软件处理。当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网的时候,那么只要是有一台主机处于监听模式,它还将可以接收到发向与自己不在同一个子网〔使用了不同的掩码、IP地址和网关〕的主机数据包,也就是在同一个物理信道上传输的所有信息都可以被接收到。如果用户的账户名和口令等信息也以明文的方式在网上传输,只要具有初步的网络和TCP/IP协议知识,一个黑客或网络攻击者便能轻易地从监听到的信息中提取出感兴趣的局部。同理,正确地使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行调查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。4.嗅探器Sniffer(1)什么是SnifferSniffer中文翻译为嗅探器,它是利用计算机网络接口截获数据报文的一种工具。主要功能有:能够分析网络协议、定位网络故障;查找网络漏洞和检测网络性能;分析网络的流量;用来收集有用数据,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等。黑客要想迅速获得他感兴趣的信息,最为有效的手段之一就是使用Sniffer程序。嗅探器可分为软件、硬件两种。软件的Sniffer有SnifferPro、NetworkMonitor、PacketBone等,其优点是易于安装部署,易于学习使用,同时也易于交流;缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。硬件的Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较昂贵,但会具备支持各类扩展的链路捕获能力以及高性能的数据实时捕获分析功能。2.Sniffer工作原理以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地址,一般情况下只有具有该地址的主时机接受这个数据包。如果使一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为“混杂〞〔promiscuous〕模式。在一个实际的系统中,数据的收发是由网卡来完成的。网卡内的程序对接受的数据包进行分析,该接受就接受,不该接受就丢弃。所以被截断的信息,计算机不知道。对于网卡来说一般有四种接收模式:〔1〕播送方式,该模式下的网卡能够接收网络中的播送信息。〔2〕组播方式,该模式下的网卡能够接收组播数据。〔3〕直接方式,该模式下只有目标网卡才能接收数据。〔4〕混杂模式,该模式下的网卡能够接收一切通过它的数据,不管该数据是否传给它的。嗅探器就是通过将以太网卡设置成混杂模式,并置身于网络接口来到达捕获真实的网络报文的目的。通常使用嗅探器的攻击者,都必须拥有基点用来放置嗅探器。他们可以将嗅探器接在网络的某个点上,而这个点通常用肉眼不容易发现。除非人为地对网络中的每一段网线进行检测。3.嗅探器的危害〔1〕嗅探器能够捕获口令等。〔2〕嗅探器能够捕获专用的或者机密的信息。〔3〕嗅探器可以用来危害网络邻居的平安,或者用来获取更高级别的访问权限;〔4〕嗅探器可以分析网络结构,进行网络渗透。〔5〕嗅探器可以拦截数据包。获取其他人信息。

4.如何防范Sniffer:被动接受数据包,而不主动发送信息,所以很难被发现。〔1〕Ping方法。〔2〕在UNIX系统下可以使用命令ps-auxo。〔3〕在Windows系统下,可以按下Ctrl+Alt+Del键,查看任务列表。〔4〕使用SSH〔SecureShell〕、IPV6等协议。〔5〕使用平安的拓扑结构。〔6〕可以使用Antisniff软件。〔7〕判断网络是否有Sniffer的经验。如果网络通讯丢包率非常高、某台机器长时间的占用了较大的带宽时就可能有人在监听。对网关、交换机、路由器等区域应该加强防范,防止在这些区域存在嗅探器。二.基于网络账号口令破解获取权限口令破解是网络进攻最根本的方法之一,口令窃取是一种比较简单、低级的入侵方法,但由于网络用户的急剧扩充和人们的无视,使得口令窃取成为危及网络核心系统平安的严重问题。口令是系统的大门,网上绝大多数的系统入侵是通过窃取口令进行的。每个操作系统都有自己的口令数据库,用以验证用户的注册授权。以Windows和Unix为例,系统口令数据库都经过加密处理并单独维护存放。常用的破解口令方法1.强制口令破解通过破解获得系统管理员口令,进而掌握效劳器的控制权,是黑客的一个重要手段。破解获得管理员口令的方法有很多,下面是3种最为常见的方法。①猜解简单口令:很多人使用自己或家人的生日、号码、房间号码、简单数字或者身份证号码中的几位;还有的系统管理员使用“password〞,甚至不设密码,这样黑客可以很容易通过猜测得到密码。②字典攻击:如果猜解简单口令攻击失败后,黑客开始试图字典攻击,即利用程序尝试字典中的单词的每种可能。③暴力猜解:同字典攻击类似,黑客尝试所有可能的字符组合方式。

权限的获取及提升ID:cisppsw:123456Ok,youcanlogininID:cisppsw:No,youcannotloginin112123123412345123456OK,youcanlogininNo,youcannotlogininNo,youcannotlogininNo,youcannotlogininNo,youcannotloginin密码破解-口令暴力猜解38破解工具JohntheRipperL0Phtcrack……39字典生成器40根据用户规那么快速生成各类密码字典攻击者常用的工具……常用的破解口令方法2.获取口令文件很多时候,入侵者会仔细寻找攻击目标的薄弱环节和系统漏洞,伺机复制目标中存放的系统文件,然后用口令破解程序破译。目前一些流行的口令破解程序能在7至10天内破译16位的操作系统口令。以Unix操作系统为例,用户的根本信息都放在passwd文件中,而所有的口令那么经过DES加密方法加密后专门存放在shadow文件中,并处于严密的保护之下,但由于系统可能存在缺陷或人为产生的错误,入侵者仍然有时机获取文件,一旦得到口令文档,入侵者就会用专门破解DES加密的方法进行破解口令。

权限的获取及提升常用的破解口令方法3.通过网络欺骗获取权限通过网络欺骗获取权限就是使攻击者通过获取信任的方式获得权限。(1)社会工程——欺骗的艺术社会工程学(SocialEngineering),一种通过对受害者心理弱点、本能反响、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段,取得自身利益的手法,近年来已成迅速上升甚至滥用的趋势。(2)网络钓鱼网络钓鱼(passwordharvestingfishing,Phishing)就是通过欺骗手段获取敏感个人信息〔如口令、信用卡详细信息等〕的攻击方式,攻击者通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名、口令、账号ID、ATMPIN码或信用卡详细信息),欺骗手段一般是假冒成确实需要这些信息的可信方。随着在线金融效劳和电子商务的普及,大量的互联网用户开始享受这些在线效劳所带来的便利,然而这也给了网络攻击者利用欺骗的形式骗取他们享受在线效劳所必需的个人敏感信息的时机。Eg.m

MICROMICR0相似链接

权限的获取及提升缓冲区溢出攻击技术原理分析1.缓冲区溢出原理缓冲区〔buffer〕是内存中存放计算机正在处理数据的地方。当数据量超出缓冲区的长度时,多出来的数据就会破坏堆栈中的数据,导致应用程序或整个系统的崩溃等故障;攻击者还可以在溢出数据中加上精心设计的机器代码,当这些代码溢出到缓冲区以外时会被执行,就能到达破坏计算机系统目的,这就是所谓的缓冲区溢出〔bufferoverflow〕攻击。2.缓冲区溢出攻击的原理通过缓冲区溢出来改变在堆栈中存放的过程返回地址,从而改变整个程序的流程,使它转向任何攻击者想要它去的地方.这就为攻击者提供了可乘之机。攻击者利用堆栈溢出攻击最常见的方法是:在长字符串中嵌入一段代码,并将函数的返回地址覆盖为这段代码的起始地址,这样当函数返回时,程序就转而开始执行这段攻击者自编的代码了。3.缓存溢出根底-堆栈及指针堆栈概念一种后进先出的数据结构堆栈特点后进先出堆栈生长方向与内存地址方向相反指针指针是指向内存单元的地址34H12H78H56H0108HESP栈顶堆栈(AL)(AH)34H12H78H56H0106HESP栈顶44栈底栈底控制程序转移到攻击代码的方法利用活劢记录溢出栈中的局部变量,使返回地址指向攻击代码栈溢出攻击StackSmashingAttack控制程序转移到攻击代码的方法函数指针如果定义有函数指针,溢出函数指针前面的缓冲区,修改函数指针的内容常见的攻击技术一个字符串中完成代码植入和跳转一般修改活动记录5.缓冲区溢出攻击可以通过下面两个方法实现。〔1〕通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使系统崩溃。例:#include<string.h>voidmain〔intargc,char*argv[]〕{charbuffer[10];strcpy〔buffer,argv[1]〕;}执行该程序,输入字符串长度小于10时,程序正常运行,否那么系统崩溃。当缓冲区溢出时,导致程序不能正常工作的原因是:在该例中输入20个‘A’〔0x41〕时,RET地址变成0x41414141h,而这个地址已不在程序使用的虚拟地址空间范围了,这时系统就会提示“SegmentationgViolation〞错误。〔2〕通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以到达攻击目的。例如下面程序:#include<iostream.h>#include<string.h>voidfunction〔inta〕{charbuffer[5];char*ret;ret=buffer+12;*ret+=8;}voidmain〔〕{intx;x=10;function〔7〕;x=1;cout<<x<<endl;}程序的运行结果是?程序的实际运行结果是10,而不是1。为什么?参照以下图5.7,上段程序的执行过程是:首先依次为形式参数a、RET、EBP分配4字节的内存,最后在为语句charbuffer[5]分配内存时,实际需要5字节的内存。但是对于32位存储器来说,内存的分配是以4个字节为单位来进行的,所以,在为buffer分配的内存一共需要8个字节〔需要额外分配3个字节来进行填充〕。执行ret=buffer+12这条语句后,ret恰好指向RET(buffer地址和RET地址正好相差12个字节buffer8字节+EBP的4字节)。RET的值恰好是函数function(7)的返回地址,即“x=1〞的首地址〔因为x=1是函数调用的下一条指令〕,但执行*ret+=8语句后就将RET的值加上了8个字节,而x=1这条语句恰好占有8个字节。由于RET存放函数function(7)的返回地址,function(7)执行结束后,将跳过x=1这条语句,直接执行cout<<x<<end了,这就是为什么上段程序输出10而不是1的原因.6.缓冲区溢出攻击技术原理分析下面举一个例子说明一下什么是缓冲区溢出:voidfunction(char*str){charbuffer[16];strcpy(buffer,str);}voidmain(){charlarge_string[256];inti;for(i=0;i<=255;i++){large_string[i]='A';}function(large_string);}

在这段程序中就存在缓冲区溢出问题。由于传递给function的字符串长度要比buffer大很多,而function没有经过任何长度校验直接用strcpy将长字符串拷入buffer.如果执行这个程序的话,当执行strcpy时,程序将256字节拷入buffer中,但是buffer只能容纳16字节,那么这时会发生什么情况呢?因为C语言并不进行边界检查,所以结果是buffer后面的240字节的内容也被覆盖掉了,这其中自然也包括ebp,ret地址,large_string地址。因为A的十六进制为0x41h,因此ret地址变成了0x41414141h,所以当过程结束返回时,它将返回到0x41414141h地址处继续执行,但由于这个地址并不在程序实际使用的虚存空间范围内,所以系统会报SegmentationViolation(分段错误).简单例如Buffer.c#include<stdio.h>intmain(){charname[8];printf("Pleaseinputyourname:");gets(name);printf("younameis:%s!",name);return0;}52程序作用:将用户输入的内容打印在屏幕上简单例如53简单例如由于返回地址已经被覆盖,函数执行返回地址时会将覆盖内容当作返回地址,然后试图执行相应地址的指令,从而产生错误。54当我们全部输入a时,错误指令地址为0x616161,0x61是a的ASCII编码缓冲区溢出类似函数有strcat、sprintf、vsprintf、gets、scanf等一般溢出会造成程序读/写或执行非法内存的数据,引发“分段错误〞〔segmentationfault〕异常退出.对于使用C语言开发的软件,缓冲区溢出大局部是数组越界或指针非法引用造成的。现存的软件中可能存在缓冲区溢出攻击,因此缓冲区溢出攻击短期内不可能杜绝。缓冲区溢出的危害很大:可以植入并运行攻击代码比大局部DoS攻击危害严重7.缓冲区溢出攻击方法缓冲区溢出是一种非常普遍、非常危险的漏洞,广泛存在。常导致系统死机、程序运行失败等。也可以被恶意利用,进行非法操作。攻击者为了获得程序或系统的控制权,先在程序的地址空间里安排适当的代码,再通过适当的初始化存放器和内存,让CPU跳转到攻击者安排的地址空间执行。其中利用缓冲区溢出,控制CPU跳转就是常用方法。〔1〕在程序的地址空间里安排适当的代码1〕植入法。2〕利用已经存在的代码。〔2〕控制程序转移到攻击代码1〕激活记录。2〕函数指针。3〕长跳转缓冲区。〔3〕代码植入和流程控制攻击者定位一个可供溢出的自动变量,然后向程序传递一个很大的字符串,再引发缓冲区溢出,改变活动记录的同时植入了代码。8.防范缓冲区溢出〔1〕编写正确的代码编写平安代码是防止缓冲区溢出的最有效方法,以C语言中的get〔〕函数为例。get〔〕函数的功能是从标准输入读取数据到缓冲区中,错误的使用方式是:charstr[10]…while〔gets〔str〕!=NULL〕{puts〔str〕;memset〔str,0,sizeof〔str〕〕;}

由于没有严格规定输入到str中的字符长度,很容易产生缓冲区溢出漏洞。正确的方式是使用fgets〔chars,intsize,FILE*stream〕,通过严格规定输入数据长度从而平安读取数据,如,利用sizeof〔str〕,使fgets〔〕只能读取1~12个字符,并在最后加上一个NULL字符。charstr[10]…while(fgets(str,sizeof(str),stdin)!=NULL){puts〔str〕;memset〔str,0,sizeof〔str〕〕;}同样,数组边界问题也是造成缓冲区溢出的一个根本原因,在编写程序时就要对数组边界进行严格限定。〔2〕非执行的缓冲区通过使被攻击程序的数据段地址空间不可执行,从而使得攻击者不可能执行被植入到被攻击程序输入缓冲区的代码,这种技术被称为非执行的缓冲区技术。〔3〕程序指针完整性检查程序指针完整性检查是在程序指针被引用之前检测到它的改变,这个时候即便是有人改变了程序的指针,也会因为系统早先已经检测到了指针的改变而不会造成指针被利用的。〔4〕安装漏洞补丁安装操作系统和应用程序等最新补丁程序也是解决缓冲溢出问题的最有效方法。10.5.3拒绝效劳攻击DoS〔DenialofService〕通过堵塞网络、占用系统资源等方法,拒绝用户的效劳访问,破坏系统的正常运行,最终使网络连接堵塞,或者效劳器因疲于处理攻击者发送的数据包而使效劳器系统的相关效劳崩溃、系统资源耗尽。一、拒绝效劳DoS最根本的DoS攻击就是利用合理的效劳请求来占用过多的效劳资源,从而使合法用户无法得到效劳。DoS攻击的根本原理如以下图所示。DoS的攻击方式有很多种,常见的DoS攻击方式有同步洪流〔SYNFlood〕、死亡之Ping〔PingofDeath〕、Finger炸弹、Land攻击、Ping洪流、Rwhod和Smurf等。DoS攻击的根本过程如下:首先攻击者向效劳器发送众多的带有虚假地址的请求,效劳器发送回复消息后等待回传消息。由于地址是伪造的,所以效劳器一直等不到回传的消息,然而效劳器中分配给这次请求的资源就始终没有被释放。当效劳器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,效劳器资源最终会被耗尽。拒绝效劳攻击技术原理分析----SYNFlood(syn)Hello,I’mhere(syn+ack)I’mready?I’mwaiting……(syn)Hello,I’mhere?(syn)Hello,I’mhere……I’mwaiting……I’mwaiting……I’mwaiting……I’mwaiting……二、分布式拒绝效劳DDoS随着计算机的处理能力迅速增长,内存大大增加等,单一的DoS攻击很难凑效,这时侯分布式的拒绝效劳攻击〔DDoS〕就应运而生了。分布式拒绝效劳攻击(DistributedDenialofService,DDoS)是一种比较新的黑客攻击方法,最早出现于1999年夏天。从2000年2月开始,这种攻击方法开始大行其道。分布式拒绝效劳攻击使用与普通的拒绝效劳攻击同样的方法,但是发起攻击的源是多个,通常来说,至少要有数百台甚至上千台主机才能到达满意的效果。DDoS是借助于客户机/效劳器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝效劳攻击的威力。它利用了TCP/IP协议本身的漏洞和缺陷。攻击者利用成百上千个被“控制〞节点向受害节点发动大规模的协同攻击。通过消耗带宽、CPU和内存等资源,到达被攻击者的性能下降甚至瘫痪和死机,从而造成其他合法用户无法正常访问。和DoS比较起来,其破坏性和危害程度更大,涉及范围更广,也更难发现攻击者.DDoS攻击分为3层:攻击者、主控端、代理端,三者在攻击中扮演着不同的角色。攻击者为了隐藏自己,使用主控端,而不是直接控制代理端。1.DDoS攻击的步骤DDoS攻击的步骤如下:〔1〕搜集攻击目标了解被攻击目标主机数目、地址情况,目标主机的配置、性能、目标的带宽等。〔2〕占领傀儡机黑客通过扫描工具等,发现互联网上那些有漏洞的机器,随后就是尝试攻击。攻击成功后,就可以占领和控制被攻击的主机,即傀儡机。黑客可以利用FTP等把DDoS攻击用的程序上传到傀儡机中。傀儡机包括主控端和代理端主机,其中一局部主机充当攻击的主控端,一局部主机充当攻击的代理端。在攻击机上,会有一个DDoS的发包程序,黑客就是利用它来向受害目标发送恶意攻击包的。准备好一定数量的傀儡机是一个必要的条件。〔3〕实际攻击黑客登录到作为控制台的攻击机,向所有傀儡机发出命令,这时候埋伏在傀儡机中的DDoS攻击程序就会响应控制台的命令,一起向受害主机以高速度发送大量的数据包,导致受害主机死机或是无法响应正常的请求。2防范DDoS攻击的策略(1)及早发现系统存在的攻击漏洞,及时安装系统补丁程序。(2)要经常检查系统的物理环境,禁止那些不必要的网络效劳。(3)充分利用防火墙等网络平安设备,配置好它们的平安规那么,过滤掉所有可能伪造的数据包。(4)请网络效劳商帮助你实现路由的访问控制和对带宽总量的限制。(5)当发现自己正在遭受DDoS攻击时,要尽可能快的追踪攻击包,并且要及时联系ISP和有关应急组织,从而阻挡攻击节点的流量。(6)使用DDoS检测工具find_ddos和反病毒软件等,定期检查系统是否有DDoS攻击工具软件。(7)如果出现网络的通讯量突然急剧增长,或网站的某一特定效劳总是失败等,应及时分析这些情况,防患于未然。欺骗攻击与防范欺骗攻击本身不是进攻的目的,而是为实现攻击目的所采取的的手段,这类攻击最终破坏了主机与主机之间的信任关系。一、IP欺骗攻击与防范所谓IP欺骗〔IP-Spoofing〕就是伪造某台主机的IP地址的技术,其实质就是让一台主机来扮演另一台主机。1.欺骗原理IP欺骗是利用了主机之间的正常信任关系来发动的。既然A,B之间的信任关系是基于IP地址建立起来的,假设攻击者C能够冒充B的IP地址,就可以登录到A主机上,而不需任何口令验证,这就是IP欺骗的根本原理。2.IP欺骗攻击过程1〕假设黑客C已找到要攻击的主机A2〕C发现与A有关的信任主机B3〕利用某种方法攻击B,使其瘫痪4〕对A的ISN(InitialSequenceNumber)号进行取样和分析5〕用ISN号进行尝试链接6〕链接成功,那么执行命令,留下后门3.防止IP地址欺骗1〕抛弃基于地址的信任策略2〕进行包过滤3〕使用加密方法4〕使用随机的初始序列号4IP地址盗用与防范由于IP地址位数有限,IP地址也是一种紧缺资源,IP地址的盗用也就成为很常见的问题。利用IP地址盗用的方法,可以逃避网络计费,还可以隐藏自己的身份。1.IP地址盗用常用方法〔1〕静态修改IP地址对于任何一个TCP/IP实现来说,IP地址都是其用户配置的必选项。如果用户在配置TCP/IP或修改TCP/IP配置时,使用的不是授权机构分配的IP地址,就形成了IP地址盗用。〔2〕成对修改IP-MAC地址如果将一台计算机的IP地址和MAC地址都改为另外一台合法主机的IP地址和MAC地址,即成对修改IP-MAC地址,那么用静态路由技术防止IP地址盗用也就无能为力了。〔3〕动态修改IP地址对于一些黑客高手来说,直接编写程序在网络上收发数据包,绕过上层网络软件,动态修改自己的IP地址〔或IP-MAC地址对〕,到达IP欺骗也并不是一件很困难的事。2.防范IP盗用〔1〕交换机控制使交换机的每一个端口只允许一台主机通过该端口访问网络,任何其它地址的主机的访问被拒绝。〔2〕路由器隔离采用路由器隔离的方法其主要依据是MAC地址作为以太网卡地址全球唯一不能改变原理。〔3〕防火墙与代理效劳器使用这样的方法是将IP防盗放到应用层来解决,变IP管理为用户身份和口令的管理。二ARP欺骗与防范1.ARP原理定义:ARP,全称AddressResolutionProtocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供效劳。ARP原理:首先,每台主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的播送包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,那么将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。例如:A的地址为:IP:MAC:AA-AA-AA-AA-AA-AAB的地址为:IP:MAC:BB-BB-BB-BB-BB-BB根据上面的所讲的原理,我们简单说明这个过程:A要和B通讯,A就需要知道B的以太网地址,于是A发送一个ARP请求播送〔谁是,请告诉〕,当B收到该播送,就检查自己,结果发现和自己的一致,然后就向A发送一个ARP单播应答〔在BB-BB-BB-BB-BB-BB〕。2.ARP欺骗原理由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行。ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。所以在网络中,有人发送一个自己伪造的ARP应答,网络可能就会出现问题。这可能就是协议设计者当初没考虑到的!ARP欺骗原理假设一个网络环境中,网内有三台主机,分别为主机A、B、C。主机详细信息如下描述:A的地址为:IP:MAC:AA-AA-AA-AA-AA-AAB的地址为:IP:MAC:BB-BB-BB-BB-BB-BBC的地址为:IP:MAC:CC-CC-CC-CC-CC-CC正常情况下A和C之间进行通讯,但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是〔C的IP地址〕,MAC地址是BB-BB-BB-BB-BB-BB〔C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了〕。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存〔A被欺骗了〕,这时B就伪装成C了。同时,B同样向C发送一个ARP应答,应答包中发送方IP地址四〔A的IP地址〕,MAC地址是BB-BB-BB-BB-BB-BB〔A的MAC地址本来应该是AA-AA-AA-AA-AA-AA〕,当C收到B伪造的ARP应答,也会更新本地ARP缓存〔C也被欺骗了〕,这时B就伪装成了A。这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B。主机B完全可以知道他们之间说的什么:〕。这就是典型的ARP欺骗过程。注意:一般情况下,ARP欺骗的某一方应该是网关。ARP欺骗原理两种情况ARP欺骗存在两种情况:一种是欺骗主机作为“中间人〞,被欺骗主机的数据都经过它中转一次,这样欺骗主机可以窃取到被它欺骗的主机之间的通讯数据;另一种让被欺骗主机直接断网。第一种:窃取数据〔嗅探〕通讯模式:应答->应答->应答->应答->应答->请求->应答->应答->请求->应答...描述:这种情况就属于我们上面所说的典型的ARP欺骗,欺骗主机向被欺骗主机发送大量伪造的ARP应答包进行欺骗,当通讯双方被欺骗成功后,自己作为了一个“中间人“的身份。此时被欺骗的主机双方还能正常通讯,只不过在通讯过程中被欺骗者“窃听〞了。出现原因〔可能〕:*木马病毒*嗅探*人为欺骗第二种:导致断网通讯模式:应答->应答->应答->应答->应答->应答->请求…描述:这类情况就是在ARP欺骗过程中,欺骗者只欺骗了其中一方,如B欺骗了A,但是同时B没有对C进行欺骗,这样A实质上是在和B通讯,所以A就不能和C通讯了,另外一种情况还可能就是欺骗者伪造一个不存在地址进行欺骗。3.常用的防护方法搜索网上,目前对于ARP攻击防护问题出现最多是绑定IP和MAC和使用ARP防护软件,也出现了具有ARP防护功能的路由器。〔1〕静态绑定最常用的方法就是做IP和MAC静态绑定,在网内把主机和网关都做IP和MAC绑定。欺骗是通过ARP的动态实时的规那么欺骗内网机器,所以我们把ARP全部设置为静态可以解决对内网PC的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。〔2〕ARP防护软件目前关于ARP类的防护软件出的比较多了,大家使用比较常用的ARP工具主要是欣向ARP工具,Antiarp等。它们除了本身来检测出ARP攻击外,防护的工作原理是一定频率向网络播送正确的ARP信息。三DNS欺骗与防范1.DNS原理域名效劳器DNS主要用来将Internet的IP地址映射为具有一定含义的符号,也就是计算机的域名,实现域名与IP地址的转换。在DNS效劳器中主要存放着计算机的域名和IP地址相关联的数据库。DNS效劳器在收到传来的网址以后,首先查询本地的数据库,查看数据库中是否有和该网址对应的记录。2.DNS欺骗原理如果可以冒充域名效劳器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网时只能看到攻击者的主页,而不是用户想要去的网站的主页了,这就是DNS欺骗的根本原理。例如,某用户在浏览器地址栏中输入“〞,如果黑客想用假的DNS域名效劳器进行欺骗,就要在真正的域名效劳器〔〕返回响应之前,黑客给用户送出一个伪造的DNS信息包。要使发送伪造的DNS信息包不被识破,就必须伪造出正确的ID。3.DNS欺骗的防范直接用IP访问重要的效劳,可以防止DNS对域名的解析过程,也就避开了DNS欺骗攻击。四、Web欺骗与防范1.Web欺骗原理Web欺骗就是切断被攻击主机到真正Web效劳器之间的正常链接,而是先建立一条被攻击主机到攻击主机,再到真正Web效劳器之间的链接。2.Web欺骗方法〔1〕改写URL攻击者可以改写Web页中的所有URL〔UniformResourceLocator〕地址。例如,在所有链接前加上另外的一个Web地址,使它们指向了攻击者的Web效劳器而不是真正的Web效劳器。〔2〕诱骗为了到达Web欺骗的目的,攻击者必须要以某种方式诱骗用户浏览攻击者伪造的Web站点。黑客可以使用下面几个方法:〔a〕把用于欺骗的超级链接放到一个热门网站上。〔b〕如果被攻击者使用基于Web的邮件,那么可以把它链接到伪装的Web。〔c〕创立错误的Web索引,链接到搜索引擎。〔3〕链接状态栏链接状态提示当前链接的各类信息,如显示链接所指的URL地址,所链接的效劳器名。攻击者能够通过JavaScript编程等来修改这两项显示。将改写的URL状态恢复为改写前的状态,使Web欺骗将更为可信。〔4〕地址栏浏览器的地址栏可以显示当前页面的URL,当前显示的URL会暴露出攻击者使用的欺骗页面所在的站点。同样,利用JavaScript也可以隐藏攻击者页面的真实URL。3.Web欺骗的预防〔1〕最有效的防范Web欺骗方法是减少使用超链接,在浏览器的地址栏中直接输入你要访问的URL。〔2〕要改变浏览器的设置,使之具有反映真实URL信息的功能,这样才不会被蒙蔽。〔3〕在提交任何个人信息之前,可以检查所访问站点的平安性,确保网站使用SSL/TLS。〔4〕通过使用浏览器中“源文件〞〔ViewSource〕命令,用户能够翻开当前的HTML源文件。阅读HTML源文件,如果发现被改写的URL,就可以觉察到Web欺骗攻击。〔5〕用户最好禁止使用浏览器中的JavaScript、Java、ActiveX等功能,这样各类改写信息将会原形毕露,会使黑客试图改写页面上的信息时将会变得非常困难。〔6〕可以通过跟踪来发现攻击者使用的Web效劳器到底来自何处。网页脚本平安一、脚本平安的概念二、SQL注入原理及危害三、跨站脚本80概念脚本攻击是针对Web应用的攻击脚本攻击主要是针对动态网站进行的攻击,其原因是在建立动态网页的过程中没有对用户的输入输出进行有效的合法性验证动态网站交互性:即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面自动更新:即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量因时因人而变:即当不同的时间、不同的人访问同一网址时会产生不同的页面81脚本分类静态脚本HTML动态脚本aspphpjspvbs…82SQL注入SQL注入〔SQLInjection〕:程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在平安隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据或进行数据库操作。所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终到达欺骗效劳器执行恶意的SQL命令,比方先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.操作系统Web应用数据库服务器123调用数据库查询直接调用操作系统命令通过数据库调用操作系统命令83SQL注入根底知识SQL(StructuredQueryLanguage):结构化的查询语言,是关系型数据库通讯的标准语言。查询:Selectstatementfromtablewherecondition删除记录:deletefromtablewherecondition更新记录:updatetablesetfield=valuewherecondtion添加记录:insertintotablefieldvalues(values)常用函数Count()Asc(‘nchar’),unicode(‘nchar’)mid(str,n1,n2),substring(str,n1,n2)8484什么时候最易受到sql注入攻击当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。sql注入可能导致攻击者使用应用程序登陆在数据库中执行命令。相关的SQL注入可以通过测试工具pangolin进行。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造动态sql命令,或者作为存储过程的输入参数,这些表单特别容易受到sql注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在平安隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个效劳器,于是sql注入就发生了。8585SQL注入简单例如Select*fromtablewhereuser=‘admin’andpwd=‘SdfG#345!’;adminSdfG#345!86Select*fromtablewhereuser=‘admin’andpwd=‘123’or‘1=1’admin123’or‘1=1由于密码的输入方式,使得查询语句返回值永远为True,因此通过验证SQL注入范例-收集信息87://xx.xxx.xx.xx/playnews.asp?id=772’and‘1=1MicrosoftOLEDBProviderforODBCDrivers错误'80040e14'[Microsoft][ODBCMicrosoftAccessDriver]字符串的语法错误在查询表达式'id=772''中。/displaynews.asp,行31说明:数据库为Access程序没有对于id进行过滤数据库表中有个字段名为idSQL注入范例-操作数据库://test/showdetail.asp?id=49’And(SELECTTOP1TABLE_NAMEFROMINFORMATION_SCHEMA.TABLES);--Select*from表名where字段=’49’And(SELECTTOP1TABLE_NAMEFROMINFORMATION_SCHEMA.TABLES);如何防止SQL注入归纳一下,主要有以下几点:1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正那么表达式,或限制长度;对单引号和双"-"进行转换等。2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站平安平台检测工具。898990SQL注入防御开发时过滤特殊字符:单引号、双引号、斜杠、反斜杠、冒号、空字符等的字符过滤的对象:用户的输入提交的URL请求中的参数局部从cookie中得到的数据部署防SQL注入系统或脚本SQL注入防御三、跨站脚本定义跨站脚本〔CSS-CrossSiteScripting〕在远程Web页面的HTML代码中插入的具有恶意目的的数据,用户认为该页面是可信的,但是当浏览器下载该页面时,嵌入其中的脚本将被解释执行跨站脚本成因CGI程序没有对用户提交的变量中的HTML代码进行过滤或转换。这种攻击利用的是用户和效劳器之间的信任关系,以及Web站点没有使用有效的输入输出验证来拒绝嵌入的脚本。91跨站脚本原因92跨站脚本危害1.获取其他用户Cookie中的敏感数据2.屏蔽页面特定信息3.伪造页面信息4.拒绝效劳攻击5.突破外网内网不同平安设置6.与其它漏洞结合7.其它

93总结脚本攻击从本质上是一种过滤缺乏造成的攻击脚本是不需要编译的程序代码,依赖脚本引擎来解释执行,具有很好的操作系统适应性和可移植性如果不可信的内容被引入到动态页面中,那么无论是网站还是客户机都没有足够的信息识别这种情况的发生并采取保护措施脚本攻击方法主要包括:SQL注入攻击、跨站脚本攻击等9410.6计算机取证计算机取证概念计算机取证遵循原那么计算机取证步骤计算机取证技术和工具95计算机取证的概念什么是计算机取证计算机取证是使用软件和工具,按照一些预先定义的程序全面地检查计算机系统,以提取和保护有关计算机犯罪的证据。为什么需要取证通过证据查找肇事者通过证据推断犯罪过程通过证据判断受害者损失程度收集证据提供法律支持96计算机取证的原那么合法原那么取证必须符合相关法律法规充分授权原那么取证必须得到充分授权优先保护证据原那么取证可能导致证据破坏,必须优先考虑保护证据全程监督原那么整个取证过程应全程第三方监督97计算机取证的步骤98计算机取证-准备获取授权取证工作获得明确的授权〔授权书〕目标明确对取证的目的有清晰的认识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论