版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WEB常见安全漏洞讲解AnaWEB常见安全漏洞讲解Ana1资产资产应用程序安全风险攻击攻击攻击控制控制控制功能影响影响影响漏洞漏洞漏洞漏洞
攻击者攻击向量安全漏洞安全控制技术影响业务影响攻击攻击漏洞漏洞功能资产影响影响攻击漏洞漏洞资产资产应用程序安全风险攻击攻击攻击控制控制控制功能影响影响2注入跨站脚本失效的身份认证和会话管理不安全的直接对象引用跨站请求伪造安全配置错误功能级访问控制缺失未验证的重定向和转发敏感信息泄露使用含有已知漏洞的组件OWASPTOP10漏入跨站脚本失效的身份认证和会话管理不安全的直接对象引用跨站3TOP-1注入原因:应用程序缺少对输入进行安全性设计。方式:攻击者将一些包含指令的数据发送给解释器,欺骗解释器执行计划外的命令。危害:读取或篡改数据库的信息,甚至能够获得服务器的包括管理员的权限。TOP-1注入原因:应用程序缺少对输入进行安全性设计。4TOP-1注入什么是SQL注入?通过把SQL命令用户提交的数据中,代码原有SQL语句的语义,从而达到服务器恶意的SQL命令。插入改变控制执行可以插入SQL语句并执行TOP-1注入什么是SQL注入?插入改变控制执行可以插入S5TOP-1注入应用程序在下面存在漏洞的SQL语句的构造中使用不可信数据:
Stringquery="SELECT*FROMaccountsWHEREcustID='"+request.getParameter("id")+"'";
攻击者在浏览器中将“id”参数的值修改成10000’or’1’=’1。如:http:///app/accountView?id=
这样查询语句的意义就变成了从accounts表中返回所有的记录。SELECT*FROMaccountsWHEREcustID=10000;SELECT*FROMaccountsWHEREcustID=;‘‘‘‘漏洞案例10000’or’1’=’1TOP-1注入应用程序在下面存在漏洞的SQL语句的构造中6TOP-1注入如何识别SQL注入
数字型
单引号:http:///xx.asp?id=1’
提示错误逻辑真假:/xx.asp?id=1
and1=1
返回正确http:///xx.asp?id=1and1=2
返回错误
加减符号:/xxx.asp?id=2-1
返回与id=1相等字符型单引号:http:///xx.asp?name=xx’
提示错误逻辑真假:/xx.asp?name=xx’and‘a’=‘a
返回正确http:///xx.asp?name=xx’and‘a’=‘b
返回错误
加减符号:/xxx.asp?name=pet’+’ter
返回与name=petter相同搜索型单引号:http:///xx.asp?keyword=1’
提示错误逻辑真假:/xx.asp?keyword=1%’and‘%’=‘返回查询1的内容http:///xx.asp?keyword=1%’and‘%1’=‘无内容返回或不是1的内容
TOP-1注入7TOP-1注入防范1
参数校验:
传递的参数做校验,如果不合法,直接拒绝请求。
1.1
如果是数字类型,判断是否为数字,如果不是,直接拒绝请求
1.2
如果有格式的类型(比如
日期,email,电话,身份证号码等等),判断是非符合格式,如果不符合格式,拒绝请求。
1.3
如果是字符串类型,没有特殊的格式,需要对字符串长度做校验,如果长度大于数据库该字段的定义长度,直接拒绝请求。
比如
姓名,数据库定义的事
varchar(12),如果输入超过12个字符,直接拒绝请求2使用
PrepareStatement。PrepareStament可以有效防御sql注入攻击。
PrepareStatement原理是:mysql执行树会根据预设的参数做转义,可以把注入的sql当作一个参数执行,而不会当作语句执行
php
应用,
可以使用PrepareStatement
替代
Statement写法。3数据库权限做限制
3.1不能对业务账号开selectinformation_schema权限。因为一旦某个漏洞被成功注入,information_schema库暴露所有库,所有表,字段的定义。给sql注入者提供了便利,,,注入者不需要猜测表结构,就能轻松获取所有表的定义,进而轻松获取所有表的数据
3.2各个业务账号只能访问自己业务的数据。这样即使某个漏洞被注入,也只是影响到该业务的数据,不会影响到其他业务的模块
TOP-1注入防范1
参数校验:
传递的参数做校验,如8TOP-2失效的身份认证和会话管理漏洞案例
案例#1:机票预订应用程序支持URL重写,把会话ID放在URL里:
http:///sale/saleitems;
?dest=Hawaii
该网站一个经过认证的用户希望让他朋友知道这个机票打折信息。他将上面链接通过邮件发给他朋友们,并不知道自己已经
。当他的朋友们使用上面的链接时,他们将会使用他的会话和信用卡。案例#2:应用程序超时设置不当。用户使用公共计算机访问网站。离开时,该用户没有点击退出,而是直接关闭浏览器。攻击者在
能使用相同浏览器通过身份认证。案例#3:内部或外部攻击者进入系统的密码数据库.存储在数据库中的用户密码
,所有用户的密码都被攻击者获得。jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV泄漏了自己的会话ID一个小时后没有被加密TOP-2失效的身份认证和会话管理漏洞案例
案例#1:9TOP-2失效的身份认证和会话管理1.用户身份验证凭证没有使用哈希或加密保护。
2.认证凭证可猜测,或者能够通过薄弱的的帐户管理功能(例如账户创建、密码修改、密码恢复,弱会话ID)重写。
3.会话ID暴露在URL里(例如,URL重写)。
4.会话ID容易受到会话固定(sessionfixaPon)的攻击。???
5.会话ID没有超时限制,或者用户会话或身份验证令牌特别是单点登录令牌在用户注销时没有失效。
6.成功注册后,会话ID没有轮转。
7.密码、会话ID和其他认证凭据使用未加密连接传输。TOP-2失效的身份认证和会话管理1.用户身份验证凭证没10TOP-3跨站脚本(XSS)插入浏览执行攻击什么是跨站脚本攻击?往Web页面里插入恶意html/js代码当用户浏览该web页面时嵌入Web页面里面的html代码会被执行从而达到攻击用户的特殊目的插入HTML/JS代码并执行TOP-3跨站脚本(XSS)插入浏览执行攻击什么是跨站脚本11TOP-3跨站脚本(XSS)反射型存储型DOM型危害小利用难度大需要点击影响范围广利用简单危害大存储于数据库中有反射也有存储本地执行TOP-3跨站脚本(XSS)反射型存储型DOM型危害小利用12TOP-3跨站脚本(XSS)防范最好的办法是根据数据将要置于的HTML上下文(包括主体、属性、JavaScript、CSS或URL)对所有的不可信数据进行恰当的转义(escape)。更多关于数据转义技术的信息见OWASPXSSPrevenPonCheatSheet。
TOP-3跨站脚本(XSS)防范最好的办法是根据数据将要13TOP-4不安全的直接对象引用已登录的用户(ID:123)/user?id=ID:123的个人信息ID:125的个人信息123123125/user?id=有漏洞!TOP-4不安全的直接对象引用已登录的用户http://w14TOP-5安全配置错误漏洞案例
案例#1:应用程序服务器管理员。而。攻击者在你的服务器上发现了标准的管理员页面,通过默认密码登录,从而接管了你的服务器。
案例#2:。攻击者发现只需列出目录,她就可以找到你服务器上的任意文件。攻击者找到并下载所有已编译的Java类,她通过反编译获得了所有你的自定义代码。然后,她在你的应用程序中找到一个访问控制的严重漏洞。
案例#3:应用服务器配置,这样就暴露了潜在的漏洞。攻击者热衷于收集错误消息里提供的额外信息。
案例#4:应用服务器自带的。该示例应用有已知安全漏洞,攻击者可以利用这些漏洞破坏您的服务器。
控制台自动安全后没有删除目录列表在你的服务器上未被禁用示例应用程序没有删除默认账户也没有改变允许堆栈跟踪返回给用户注意这些问题:1.是否有软件没有被及时更新?这包括操作系统、Web/应用服务器、数据库管理系统、应用程序和其它所有的代码库文件。
2.是否使用或安装了不必要的功能(例如,端口、服务、网页、帐户、权限)?
3.默认帐户的密码是否仍然可用或没有更改?
4.你的错误处理设置是否防止堆栈跟踪和其他含有大量信息的错误消息被泄露?
5.你的开发框架(比如:Struts、Spring、ASP.NET)和库文件中的安全设置是否理解正确并配置恰当?TOP-5安全配置错误漏洞案例
案例#1:应用程序服务15TOP-6敏感信息泄露首先你需要确认的是哪些数据是敏感数据而需要被加密。例如:密码、信用卡、医疗记录、个人信息应该被加密。对于这些数据,要确保:
1.当这些数据被长期存储的时候,无论存储在哪里,它们是否都被加密,特别是对这些数据的备份?
2.无论内部数据还是外部数据,传输时是否是明文传输?在互联网中传输明文数据是非常危险的。
3.是否还在使用任何旧的或脆弱的加密算法?
4.加密密钥的生成是否是脆弱的,或者缺少恰当的密钥管理或缺少密钥回转?
5.当浏览器接收或发送敏感数据时,是否有浏览器安全
TOP-6敏感信息泄露首先你需要确认的是哪些数据是敏感数据16TOP-6敏感信息泄露
攻击案例
案例#1:一个应用程序加密存储在数据库的信用卡信息,以防止信用卡信息暴露给最终用户。但是,数据库设置为对信用卡表列的询进行自动解密,这就使得SQL注入漏洞能够获得所有信用卡信息的明文。该系统应该被设置为前端应用程序使用公钥对信用卡信息加密,后端应用程序只能使用私钥解密。
案例#2:一个网站上所有需要身份验证的网页都没有使用SSL。攻击者只需监控网络数据流(比如一个开放的无线网络或其社区的有线网络),并窃取一个已验证的受害者的会话cookie。然后,攻击者利用这个cookie执行重放攻击并接管用户的会话从而访问用户的隐私数据案例#3:密码数据库使用unsalted的哈希算法去存储每个人的密码。一个文件上传漏洞使黑客能够获取密码文件。所有这些unsaltedTOP-6敏感信息泄露
攻击案例
案例#1:一个应用程17TOP-7功能级访问控制缺失http:///app/getappInfo/app/admin_getappInfoUIJS未登录用户
(游客)已登录用户(普通用户)普通用户功能页面管理员功能页面有漏洞有漏洞有漏洞TOP-7功能级访问控制缺失http://example.18TOP-8跨站请求伪造(CSRF)TOP-8跨站请求伪造(CSRF)19TOP-8跨站请求伪造(CSRF)请求的参数可预知链接or页面以用户的身份向服务器发送请求攻击者在构造这个请求构造的请求自动提交诱惑让已登录用户访问浏览器的cook
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版七年级历史与社会上册 第三单元第四课《草原人家》说课稿
- Unit12 Review(说课稿)-2023-2024学年北师大版(一起)英语二年级下册
- Unit 2 Different families Part A Lets talk(说课稿)-2024-2025学年人教PEP版(2024)英语三年级上册
- 2025年幼儿园安全工作计划报告怎么写
- 宠物电商相关项目投资计划书
- 城市园林绿化服务相关行业投资规划报告范本
- 2025年幼儿园教师工作计划幼儿园教师个人工作计划
- 2025年学校消防工作计划
- 2025年护士试用期工作计划例文
- 2025年食品安全工作计划范本
- 阻隔防爆撬装式加油气装置技术要求
- 银行资产保全员工年度工作总结
- 钢结构网架验收施工质量自评报告-副本
- 《修心三不 不生气 不计较 不抱怨》读书笔记思维导图
- 妊娠剧吐的护理查房
- GB/T 5023.5-2008额定电压450/750 V及以下聚氯乙烯绝缘电缆第5部分:软电缆(软线)
- GB/T 36127-2018玉雕制品工艺质量评价
- GB/T 23445-2009聚合物水泥防水涂料
- 漆画漆艺 第三章
- (完整版)100道凑十法练习题
- 2023年上海师范大学辅导员招聘考试笔试题库及答案解析
评论
0/150
提交评论