网络攻防原理与技术课件版第11章Web网站攻击技术.pptx
- 【下载声明】
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程序程序 攻击者将恶
展开阅读全文