- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
——Web安全性
2014年7月
2014中国计算机网络安全应急年会资料 安全性问题之一SQL注入 什么是 SQL Injection: (SQL注入) 就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 简而言之,是在输入的数据字符串中夹带SQL指令,在设计不良的程序中忽略了检查,那么在这些夹带的指令就会被数据库服务器误认为是正常的SQL指令而运行,因此招致到破坏 安全性问题之一SQL注入 SQL Injection: (SQL注入) SQL注入是最常见的攻击方式,它的主要原理是:攻击者通过改变WEB页的参数,直接将SQL片断提交到服务器,并在服务器端执行的过程。 安全性问题之一SQL注入 SQL注入的原因 1、在应用程序中使用字符串联结方式组合SQL指令 2、在应用程序链接数据库时使用权限过大的帐号(例如使用SA) 3、在数据库中开放了不必要但权力过大的功能(如,在SQLServer中的的xp_cmdshell延伸预存程序或是OLE Automation预存程序等) 4、太过于信任用户所输入的数据,未限制输入的字符数 安全性问题之一SQL注入 SQL注入的危害 修改数据库内容 删除其它表 窃取数据到本地 执行系统命令,进而修改或控制操作系统、破坏硬盘数据等 特点 攻击耗时少、危害大 安全性问题之一SQL注入 问题代码(ASP+MS SQL Server) if Request.QueryString(id) is NoThing then id=1 else id=Request.QueryString(id) end if sql=select title,content from [news] where id=id set rs=Server.CreateObject(adodb.Recordset) rs.Open sql,connection,1,1 安全性问题之一SQL注入 修改数据库内容 提交语句 news set title=test where title=oldtitle’ 执行语句:select title,content from [news] where id=1;update news set title=test where title=oldtitle 安全性问题之一SQL注入 删除其它表 提交语句 table tablename 执行语句:select title,content from [news] where id=1;drop table tablename 服务器返回的错误信息 关键文件路径 服务器返回的错误信息 如何预防SQL注入? 从应用程序的角度来讲,我们要做以下三项工作: 1. 转义敏感字符及字符串(SQL的敏感字符包括: “exec”,”xp_”,”sp_”,”declare”,”Union”,”cmd”,”+”,”//”,”..”,”;”,”‘”,”--”,”%”,”0x”,”=!-*/()|”,和”空格”)。 2. 屏蔽出错信息:阻止攻击者知道攻击的结果 3. 服务端正式处理之前对提交数据的合法性进行检查(包括:数据类型,数据长度,敏感字符的校验) 。在确认客户端的输入合法之前,服务端拒绝进行关键性的处理操作。 如何预防SQL注入? 从实际应用还需要注意: 1. 只要是提交的数据包含非法字符,或者要替换为安全字符,或者提交的数据要替换为默认值。 2. 含有非法字符串的数据提交不应该显示“您所提交的数据非法”等类似的提示。因为对于访问者而言,这是没有必要的。 3. 尽可能完善操作日志记录和错误日记记录。 安全性问题之二上传文件漏洞 伪造客户端绕过上传后缀名检查 可能导致上传木马 解决方法:使用白名单,后台检查 防止木马执行的方法 给各个不必要的目录,去掉“执行”权限;删除不需要的程序映射。 安全性问题之三XSS Cross-Site Scripting (XSS):(跨站点脚本攻击) XSS是由于Web程序没有对用户提交的HTML内容进行适当的过滤,这样攻击者就可能在你的Web页中插入一些HTML语句,这些语句通过以script标签的形式出现。 攻击者通常使用跨站脚本攻击来窃取COOKIES 和 SESSION信息,或是欺骗用户将隐私信息暴露给错误对象(又称为钓鱼) 。 问题三XSS html Results for script window.open(? ... document.cookie ...) /script /html Attack Server 受害人服务器 受害人客户端 user gets bad link user click
文档评论(0)