- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Web应用安全威胁及防护
Agenda
讲述Web安全威胁
讨论OWASP Top 10以及应对方案
在设计和实现阶段的考虑
具体项目展示
Q A
信息安全 - 大事件
2011–CSDN数据库泄露,大量用户真实账号密码外泄
CSDN社区网站被入侵,近600w用户账号密码被泄露,黑客将连接公布到互联网,导致任何人可以获得该数据,经严重数据真实有效。
整个事件最不可思议的地方在于,像CSDN这样的以程序员和开发为核心的大型网站,居然采用明文存储密码。
2012–LinkedIn/Yahoo
LinkedIn网站被攻击,约650万用户账户密码被泄露(简单的SHA-1)。
2012年7月,一个的黑客组织通过SQL注入攻击侵入雅虎的子网站,对包含超过45万未加密Yahoo Voice密码的数据库进行窃取。
2013–支付宝转账信息泄漏事件
2013年3月27日晚间,有网友在微博上爆出,使用Google有哪些信誉好的足球投注网站输入“site:shenghuo.alipay转账付款”即可看到各种转账信息,包括付款账户、收款账户、姓名、日期等
2014–比特币被窃时间
2014年2月,全球最大的比特币交易平台Mt.Gox由于交易系统出现漏洞,75万个比特币以及Mt.Gox自身账号中约10万个比特币被窃,损失估计达到4.67亿美元,被迫宣布破产。这一事件凸显了互联网金融在网络安全威胁面前的脆弱性。
另:12306用户资料泄密。
2015–连锁酒店开房信息泄露
知名连锁酒店桔子、锦江之星、速八、喜来登、洲际网站存在高危漏洞——房客开房信息大量泄露.
2016–统计中....
OWASP Top 10
A1-注入
A2-失效的身份认证和会话管理
A3-跨站脚本
A4-不安全的直接对象引用
A5-安全配置错误
A6-敏感数据暴露
A7-功能级别访问控制缺失
A8-跨站请求伪造
A9-使用已知易受攻击组件
A10-未验证的重定向和转发
A1-注入
定义
简单来说,注入往往是应用程序缺少对输入进行安全性检查所引起的,攻击者把一些包含指令的数据发送给解释器,解释器会把收到的数据转换成指令执行,注入漏洞十分普遍,通常能在SQL查询、LDAP查询、Xpath查询、OS命令、程序参数等中出现。
危害
注入能导致数据丢失或数据破坏、缺乏可审计性或是拒绝服务。 注入漏洞有时甚至能导致完全接管主机。
种类
SQL注入、XPATH注入、LDAP注入、OS命令注入等。
A1-SQL注入-1
参数: username, password.
SELECT count(1) FROM user WHERE username=‘:request.getParameter(‘username’):’ AND password =‘:request.getParameter(‘password’):’
正常情况:
username=TestUser; password=TestPassword!
攻击:
username=AttackUser; password=AnyPass’ OR 1 = 1
select count(1) from user where username=‘AttachUser’ and password=‘AnyPass’ or ‘1’=‘1’
结果:
非法用户登陆了系统。
最可怕的情况是:DELETE FROM user where username=‘AnyUser’ or ‘1’=‘1’
A1-SQL注入-解决
使用PreparedStatement
String sql= select * from user where username=? and password=? ;
PreparedStatement psm=conn.preparedStatement(sql);
psm.setString(1,request.getParameter(username));
psm.setString(2,request.getParameter(password));
Result rs=psm.executeQuery();
使用PreparedStatement,分两阶段向服务器提交数据
先发送SQL: select * from user where username=? and password=?
再发送参数值。
使用使用ESAPI
由OWASP社区开发的一套API.
使用第三方API,比如Spring的JdbcTemplate,JPA/Hibernate, MyBatis.
A2-失效的认证和会话管理
定义
与认证和会话管理相关的应用
您可能关注的文档
- SAPB19.1新功能研究报告.pptx
- 德国BINZ公司情况范例.pptx
- WIFI基础知识范例.pptx
- SBAR标准化沟通研究报告.pptx
- SCIEI以及国内常见核心期刊类型研究报告.pptx
- Win7Win8与WinXP混合局域网的共享设置范例.docx
- scifinder-使用指南研究报告.pptx
- 从黑色金属尾矿资源中回收有用成分byRoderic范例.ppt
- 德国工业同盟范例.ppt
- win7共享文件夹设置方法范例.doc
- CNAS-EC-063-2021 关于远程审核活动的说明.pdf
- CNAS-GC13-2011 职业健康安全管理体系认证机构认证业务范围能力管理实施指南.pdf
- CNAS-CL30-2010 标准物质标准样品证书和标签的内容.pdf
- CNAS-EL-01-2021 司法鉴定 法庭科学机构认可受理要求的说明.pdf
- 2024年金融行业专用智能收银系统软件定制合同3篇.docx
- 2024年金融信息服务行业员工信息必威体育官网网址及竞业限制合同3篇.docx
- 2024年通用民间借款合同范本:个人正规借款协议.docx
- CNAS-CV04:2024《〈环境信息审定与核查机构通用原则和要求〉(ISO 14065:2020)标准的应用要求》.pdf
- CNAS-CL47:2014 司法鉴定法庭科学机构能力认可准则在法医学鉴定领域的应用说明.pdf
- CNAS-EC-055_2018《关于ISO50001-2018认证标准换版的认可的转换说明》.pdf
文档评论(0)