Web安全的那些事_第1页
Web安全的那些事_第2页
Web安全的那些事_第3页
Web安全的那些事_第4页
Web安全的那些事_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Web安全的那些事By Leesec2013 Top 10 SQL 注入 失效的认证和会话管理 XSS (跨站脚本) 不安全的直接对象引用 安全配置错误 敏感信息泄漏 功能级别访问控制缺失 CSRF(跨站请求伪造) 使用第三方开发框架或者开源程序 未验证的重定向和转发SQL 注入原理介绍假设这是某后台登陆的源代码 $sql=“select * from admin where username=”.$username.” and password=”.$password.”;受害者A用户帐号密码为leesec 、leesec受害者A用户登陆提交的参数如下 username=leesec、pas

2、sword=leesec select * from admin where username=leesec and password=leesec;而黑客则不会老实提交,由于程序本身太信任用户输入的数据,导致被黑客利用进行攻击黑客提交的参数如下 username=leesec,password= or 1=1select * from admin where username=leesec and password= or 1=1; select * from admin where username=leesec and password= or 1;select * from admin

3、 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防御防御)对下列字符进行过

4、滤 & (和号) 成为 & (双引号) 成为 " (单引号) 成为 ' (大于) 成为 >mysql_real_escape_string();(适用适用SQL注入防御注入防御)对下列字符进行转义x00 ; n ; r ; ; ;“ ; x1a用上面2个适用SQL注入的函数进行转义后,SQL语句如下:select * from admin where username=leesec and password= or 1=1; 防御小技巧防御小技巧: 对于参数值为整数的,不是字符型的,可以直接用对于参数值为整数的,不是字符

5、型的,可以直接用Intval()函数进行过函数进行过滤。也可以对那些参数进行长度限制。滤。也可以对那些参数进行长度限制。失效的认证和会话管理我们公司网站曾经的例子我们公司网站曾经的例子1.用户忘记密码后,密码找回功能太过简单。以至于可以更改所有用户的密码2.用户更改密码,未验证原密码的有效性。以至于可以更改所有用户的密码3.用户的会话ID暴露在URL里。以至于可以登陆你的帐号等等.修复方法修复方法:1.Token或者session_id避免暴露在URL地址栏,避免黑客获取到你的url直接登录你的帐号2.涉及到金钱交易的地方,可以使用https (通过TLS连接传输) 来代替http,防止黑客嗅

6、探到你交易密码.这个网易邮箱就是这样的.3.对cookie重要内容进行加密.设置cookie httponly 特性XSS原理(跨站脚本攻击)信任用户输入的数据信任用户输入的数据 浏览 localhost/index.php?name=alert(1);危害危害 可获取你的可获取你的cookie, 对网站进行蠕虫攻击对网站进行蠕虫攻击。document.write(“”);XSS防御方法1. 不要在客户端过滤XSS,应该在服务端过滤。2.限制用户输入的长度。 3.对用户进行输入、输出过滤。4.使用白名单过滤 正则匹配 html标签 是否在白名单之内.如果匹配 html标签成功,再匹配html标

7、签的属性和事件是否在白名单内。5. cookie 设置为httponly 不安全对象的引用攻击攻击原理:黑客 与 A用户 都注册了一个门户网站,黑客注册成功后,发现自己的个人信息的参数id为 110 也就是说 localhost/userinfo.php?id=110 ,假设黑客知道了A用户的个人信息参数为 119,黑客通过修改自己URL参数ID为119,就可以看到A用户的个人信息了。危害:任意查看、修改、删除用户的个人信息。防御方法:1.利用session 判断是否为自己的id。安全配置错误 与敏感数据泄漏设置Mysql 用户 为最小权限设置 页面报错 不显示(防止 路径泄漏,sql注入报错

8、)SVN 源代码泄漏数据库配置文件泄漏Sql语句泄漏功能级别访问控制缺失权限验证是否正确?是否可以不登陆访问后台页面比如禁用了某个delete按钮(能被修改成disable: 0即可使用 )比如下载时,如:download.php?name=a.txt,如果被修改成了download.php?name=./././././././etc/passwd 就麻烦了。CSRF原理CSRF:这个利用简单,隐藏度高。CSRF 短信轰炸 ,只要访问这个URL就可以攻击(URL演示)修复方法:1.临时解决办法:添加验证码2.http Referer 检查3.Toke 判断4.对于短信轰炸的CSRF,限制没有登录的会员不能访问。已经登陆的会员,对其在时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论