第5章-Web应用攻击_第1页
第5章-Web应用攻击_第2页
第5章-Web应用攻击_第3页
第5章-Web应用攻击_第4页
第5章-Web应用攻击_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第五章Web应用攻击2023/2/5网络攻防技术2本章主要内容5.1概述5.2XSS攻击5.3SQL注入攻击5.4HTTP会话攻击及防御5.1概述Web技术由TimBerners-Le提出,并于1990年实现了第一版本的Web服务器、浏览器和HTTP协议(HypertextTransferProtocol。2023/2/5网络攻防技术3WorldWideWeb2023/2/5网络攻防技术45.1概述Web服务器(Web网页、数据库)Web客户端HTTP协议2023/2/5网络攻防技术55.1概述Web网页Web网页位于Web服务器上,用于展示信息,一般采用HTML语言(HypertextMarkupLanguage)编写。<html><head><title>测试标题</title><metacharset="utf-8"></head><body><h1>Web网页示例</h1></body></html>2023/2/5网络攻防技术65.1概述Web网页Form表单<html><head><title>表单</title><metacharset="utf-8"></head><body><h1>表单-登录模拟界面</h1><formaction="t2.php"method="GET"><p>您的名字:<inputtype="text"name="name"value="您的名字"/></p><p>您的密码:<inputtype="password"name="pass"value="您的密码"/></p><p>您的身份:<selectname="role"><optionvalue="老师">老师</option><optionvalue="学生">学生</option><optionvalue="辅导员">辅导员</option></select></p><inputtype="reset"value="清除输入"/><inputtype="submit"value="登录系统"/></form></body></html>2023/2/5网络攻防技术75.1概述Web网页统一资源定位符UniformResourceLocator,统一资源定位符,指定Web网页的在互联网的位置.http://<user>:<password>@<host>:<port>/<path>?<query>#<frag>http字段指明采用HTTP协议访问Web网页;<user>:<password>字段指定访问Web服务器所需要的用户名和口令;<host>字段指明Web服务器的域名或IP地址;<port>字段指明Web服务器的访问端口;<path>指定Web网页在Web服务器上的访问路径;<query>指定查询所附带字段;<frag>指定Web网页中特定的片段。2023/2/5网络攻防技术85.1概述Web网页静态网页静态网页是指内容固定,不会根据Web客户端请求的不同而改变的Web网页动态网页动态网页是相对于静态网页而言的,是指内容会根据时间、环境或用户输入的不同而改变的Web网页2023/2/5网络攻防技术95.1概述Web服务器主流Web服务器Apache软件基金会开发的开源Web服务器微软公司开发的Web服务组件Apache、Sun等共同开发的开源Web服务器Nginx是由俄罗斯伊戈尔赛﹒索耶夫开发的5.1概述2023/2/5网络攻防技术10Web前端(浏览器)主流浏览器Chrome浏览器是Google公司开发的免费浏览器Firefox浏览器是一款免费开源的浏览器IE浏览器(Edge浏览器)微软公司开发5.1概述2023/2/5网络攻防技术11HTTP协议1991年,HTTP0.9版本发布,只支持GET方法1996年,HTTP1.0版本发布,支持GET、POST和HEAD方法1997年,HTTP1.1版本发布,该版本是当前最流行的HTTP协议版本2023/2/5网络攻防技术125.1概述HTTP协议请求报文格式Request=MethodSPRequest-URISPHTTP-VersionCRLF*((general-header|request-header|entity-header)CRLF)CRLF[message-body]2023/2/5网络攻防技术135.1概述HTTP协议请求报文示例GET/books/t1.htmlHTTP/1.1Host:User-Agent:Mozilla/5.0(WindowsNT6.1;WOW64;rv:29.0)Gecko/20100101Firefox/29.0Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Connection:closeIf-Modified-Since:Fri,19Jan201801:31:24GMTIf-None-Match:"11a00000002041e-92-5631709d9a85d"2023/2/5网络攻防技术145.1概述HTTP协议响应报文格式Response=HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF*((general-header|response-header|entity-header)CRLF)CRLF[message-body]2023/2/5网络攻防技术155.1概述HTTP协议响应报文示例HTTP/1.1200OKDate:Wed,31Jan201801:29:13GMTServer:Apache/2.2.25(Win32)PHP/5.4.34Last-Modified:Wed,31Jan201801:29:09GMTETag:"11a00000002041e-92-5640867e66c3d"Accept-Ranges:bytesContent-Length:146Connection:closeContent-Type:text/html

<html><head><title>测试标题</title><metacharset="utf-8"></head><body><h1>Web网页示例</h1></body></html>2023/2/5网络攻防技术165.1概述Web应用攻击类型Web客户端攻击跨站脚本攻击(Cross-SiteScripting,简称XSS攻击)、网络钓鱼和网页挂马Web服务器攻击网页篡改、代码注入攻击、文件操作控制攻击等Web服务器攻击HTTP头注入攻击、HTTP会话攻击等5.2XSS攻击2023/2/5网络攻防技术17跨站脚本攻击(Cross-SiteScripting,简称XSS攻击)出现在上世纪90年代中,由于跨站脚本攻击的缩写和层叠样式表(CascadingStyleSheets,CSS)的缩写一样,为了防止混淆,故缩写成XSS攻击。XSS攻击是由于Web应用程序对用户输入过滤不足而产生的,使得攻击者输入的特定数据变成了JavaScript脚本或HTML代码5.2XSS攻击2023/2/5网络攻防技术18XSS漏洞示例程序<html><head><title>XSS示例程序</title></head><body><h2>XSS示例程序</h2><formaction="t3.php"method="post">

请输入您的名字:<inputtype="text"name="name"size="25"><inputtype="submit"value="递交"></form></body></html><?phpif(!empty($_POST['name'])){$name=$_POST['name'];setcookie("T2Cookie","1234567890",time()+3600*24);print("欢迎您,".$name);}?>2023/2/5网络攻防技术195.2XSS攻击XSS漏洞示例程序<br>请先登录银行系统,E-bank<form>username:<inputtype="text"/><br>password:<inputtype="password"/><br><inputtype="submit"value="login"/></form>注入HTML代码5.2XSS攻击2023/2/5网络攻防技术20XSS漏洞示例程序注入HTML代码5.2XSS攻击2023/2/5网络攻防技术21XSS攻击分类反射型反射型XSS攻击(ReflectedCross-siteScripting)也称为非持久型XSS攻击,是指攻击者输入的攻击脚本直接返回到被攻击者的浏览器5.2XSS攻击2023/2/5网络攻防技术22XSS攻击分类存储型存储型XSS攻击(StoredCross-siteScripting)也称为持久型XSS攻击,是指攻击者输入的攻击脚本存储于Web服务器,当被攻击者浏览包含攻击脚本的Web网页时,攻击脚本将会被执行,从而引发攻击。5.2XSS攻击2023/2/5网络攻防技术23XSS攻击分类DOM型DOM型XSS攻击是指攻击者利用Web网页中JavaScript代码的逻辑漏洞,从而执行攻击脚本的XSS攻击,如Web网页中的JavaScript代码直接使用URL中参数,并且没有过滤或消毒,则可能存在DOM型XSS攻击。5.2XSS攻击2023/2/5网络攻防技术24XSS利用方式Cookie窃取<script>alert(document.cookie);</script>5.2XSS攻击2023/2/5网络攻防技术25XSS利用方式会话劫持会话ID由Web客户端提供给服务器以表示同一个会话,一般采用Cookie方式或URL方式传递。会话数据则一般保存在Web服务器,用于Web应用程序之间信息传递。会话劫持是指攻击者通过利用XSS攻击,冒用合法者的会话ID进行网络访问的一种攻击方式。5.2XSS攻击2023/2/5网络攻防技术26XSS利用方式网络钓鱼通过利用XSS攻击,攻击者可以执行JavaScript代码动态生成网页内容或直接注入HTML代码,从而产生网络钓鱼攻击。和传统的网络钓鱼攻击相比而言,通过XSS攻击实施网络钓鱼具有更强的隐蔽性。2023/2/5网络攻防技术275.2XSS攻击XSS利用方式信息刺探利用XSS攻击,可以在客户端执行一段JavaScript代码,因此,攻击者可以通过这段代码实现多种信息的刺探,如访问历史信息、端口信息、剪贴板内容、客户端IP地址、键盘信息等。5.2XSS攻击2023/2/5网络攻防技术28XSS利用方式网页挂马将Web网页技术和木马技术结合起来就是网页挂马。攻击者将恶意脚本隐藏在Web网页中,当用户浏览该网页时,这些隐藏的恶意脚本将在用户不知情的情况下执行,下载并启动木马程序。5.2XSS攻击2023/2/5网络攻防技术29XSS利用方式XSS蠕虫XSS蠕虫是指利用XSS攻击进行传播的一类恶意代码,一般利用存储型XSS攻击。XSS蠕虫的基本原理就是将一段JavaScript代码保存在服务器上,其他用户浏览相关信息时,会执行JavaScript代码,从而引发攻击。5.2XSS攻击2023/2/5网络攻防技术30XSS防范措施HttpOnly属性5.2XSS攻击2023/2/5网络攻防技术31XSS防范措施安全编码PHP语言中针对XSS攻击的安全编码函数有htmlentities和htmlspecialchars等,这些函数对特殊字符的安全编码方式如下:小于号(<)转换成<、大于号(>)转换成>、与符号(&)转换成&、双引号(")转换成"、单引号(')转换成'。2023/2/5网络攻防技术325.3SQL注入攻击Web应用进行数据库操作时,往往需要用户递交的信息作为数据操作的条件,如根据用户输入的用户名/密码查询用户数据库等。也就是说,需要在数据库操作中嵌入用户输入的数据,如果对这些数据验证或过滤不严格,则可能会改变本来的SQL语句操作的语义,从而引发SQL注入攻击。5.3SQL注入攻击2023/2/5网络攻防技术33SQL语句比较常用的SQL语句有SELECT、INSERT、UPDATE和DETELE等SELECT字段名FROM表名WHERE条件orderbyilimitm,n5.3SQL注入攻击2023/2/5网络攻防技术34PHP程序执行SQL语句<?php$id=$_GET['id'];$pass=$_GET['pass'];$db=mysql_connect('','root','123456');mysql_select_db('sqltest',$db);

$query="select*fromuserswhereid=$idandpass='".$pass."'";$result=mysql_query($query,$db);$value=mysql_fetch_array($result);if(empty($value))print("user/passworderror!<br>");elseprintf("ID:%s,Name:%s<br>",$value[0],$value[1]);?>5.3SQL注入攻击2023/2/5网络攻防技术35SQL注入漏洞select*fromuserswhereid=$idandpass='".$pass."'";一般情况:ID/密码为3001/rui001select*fromuserswhereid=3001andpass=’rui001’特殊输入:ID号为“3001--”,密码为任意字符select*fromuserswhereid=3001--andpass=’*******’5.3SQL注入攻击2023/2/5网络攻防技术36SQL注入利用方式分析绕过身份鉴别机制很多Web应用程序将用户注册信息(如用户名、密码等)保存在数据库中,当用户登录时,根据用户递交的用户名/密码等信息查询数据库以核对合法用户身份。如果存在SQL注入漏洞,则攻击者可以轻松绕过身份鉴别机制登录系统5.3SQL注入攻击2023/2/5网络攻防技术37SQL注入利用方式分析识别数据库系统利用SQL语句执行错误信息得到数据库系统信息执行特定的函数或操作以识别特定数据库系统5.3SQL注入攻击2023/2/5网络攻防技术38SQL注入利用方式分析提取数据库中的数据123unionselectid,pass,namefromusers--&pass=aaa5.3SQL注入攻击2023/2/5网络攻防技术39SQL注入利用方式分析执行命令在SQL注入攻击发生时,攻击者可以调用数据库中的函数来执行系统命令,如SQLServer数据库的xp_cmdshell等,不过要注意的是,有些数据库系统可能并不支持执行系统命令。5.3SQL注入攻击2023/2/5网络攻防技术40SQL注入利用方式分析权限提升数据库系统一般为用户指定权限以控制其对信息的访问。但是,攻击者可能通过利用SQL注入攻击以提升权限,甚至获得管理员权限。5.3SQL注入攻击2023/2/5网络攻防技术41SQL注入利用方式分析写入木马程序攻击者利用SQL注入攻击可以进行写数据操作,从而可以将木马程序(如一句话木马)写入到服务器的文件中,从而实现远程控制。5.3SQL注入攻击2023/2/5网络攻防技术42SQL注入攻击类型字符型SQL注入字符型SQL注入是指SQL注入点的类型为字符串$query="select*fromtablewherename='".$name."'";数字型SQL注入数字型SQL注入是指SQL注入点的类型为数字(如整型)$query="select*fromtablewhereid=$id";5.3SQL注入攻击2023/2/5网络攻防技术43SQL注入攻击类型基于错误信息SQL注入5.3SQL注入攻击2023/2/5网络攻防技术44SQL注入攻击类型SQL盲注入为了防止基于错误信息的SQL注入,很多Web应用会将错误信息关闭,也就是通过网页看不到Web应用执行过程中的错误信息了。SQL盲注入就是在没有信息提示的情况实现SQL注入的方法。典型的SQL盲注入一般使用布尔值、时间函数等。5.3SQL注入攻击2023/2/5网络攻防技术45防范措施特殊字符转义输入验证和过滤参数化方法5.4HTTP会话攻击及防御2023/2/5网络攻防技术46HTTP协议设计之初没有考虑到会话问题,而现在的Web应用几乎都包含会话。HTTP协议的会话机制是后来增加的,会话管理机制存在天生不足,并一直伴随着HTTP会话管理技术的发展而不断变化更新,其中比较经典的HTTP会话攻击技术有预测会话ID、窃取会话ID、控制会话ID、跨站请求伪造攻击(Cross-SiteRequestForgery,CSRF)等5.4HTTP会话攻击及防御2023/2/5网络攻防技术47HTTP会话原理5.4HTTP会话攻击及防御2023/2/5网络攻防技术48HTTP会话示例5.4HTTP会话攻击及防御2023/2/5网络攻防技术49HTTP会话示例5.4HTTP会话攻击及防御2023/2/5网络攻防技术50HTTP会话攻击预测会话ID窃取会话ID控制会话ID5.4HTTP会话攻击及防御2023/2/5网络攻防技术51CSRF攻击5.4HTTP会话攻击及防御2023/2/5网络攻防技术52CSRF攻击案例分析第一步:用户Alice登录系统第二步:在用户Alice处于登录状态下,引诱其访问恶意网页第三步:用户Alice点击恶意按钮5.4HTTP会话攻击及防御2023/2/5网络攻防技术53CSRF攻击案例分析-恶意网页代码<html><head><title>Averyfunnygame</title><scriptlanguage="JavaScript">functionpostinfo(){varxhr=newXMLHttpRequest();xhr.open("post","/ebank/operate.php",false);varparams="id=1002&num=100&submit=Submit";xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xhr.setRequestHeader("Content-length",params.length);xhr.setRequestHeader("Connection","close");xhr.send(params);}</script></head><

温馨提示

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

评论

0/150

提交评论