- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常见漏洞类型与分析 信息安全部 吴翰清 2007-06-5 提纲 概述 头号大敌:SQL Injection 被忽视的巨大威胁:跨站脚本漏洞 文件上传,一击必杀 权限问题 盲区:来自HTTP头的安全隐患 与Web Server结合产生的漏洞 什么样的漏洞,才叫漏洞?? 十年的来的顽症缓冲区溢出 攻与防操作系统针对缓冲区溢出的保护 漏洞挖掘方法简介 概述 Web安全是互联网安全的重中之重 Web安全的特点 与实现的语言有密切的关系(ASP/PHP/JSP) 与数据库有紧密联系 头号大敌:SQL Injection 定义: 由于程序中对用户输入检查不严格,用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL Injection的本质: 对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。 示例: String user = request.getParameter(username); String pass = request.getParameter(password); String query = SELECT id FROM users WHERE username=+user+ AND password=+pass; Statement stmt = con.createStatement(query); ResultSet rs = con.executeQuery(query); if (rs.next()) { // 登录成功 int id = rs.getInt(1); ... } else { // 登录失败 ... } 正确的编程方法: String user = request.getParameter(username); String pass = request.getParameter(password); String query = SELECT id FROM users WHERE username=? AND password=?; PreparedStatement stmt = con.prepareStatement(query); stmt.setString(1, user); stmt.setString(2, pass); ResultSet rs = stmt.executeQuery(); 被忽视的巨大威胁:跨站脚本漏洞 XSS(Cross Site Script) XST(HTML Hijacking) 浏览器客户端的攻击 常常与XSS相结合 iframe src=/test/ width=0 height=0 /iframe 国际站XST窃取任意用户密码 在发布产品页面构造恶意html语句 发布后,如果某个用户查看了此产品,则会自动修改该用户的注册邮箱,或者其他member信息! Image Upload XSS an example of something you might test for:IMG SRC=$filenameSo you upload this file:/image-xss/onerror=alert(XSS)a=.jpgThis ends up making the page look like:IMG SRC=onerror=alert(XSS)a=.jpg 解决方案 输出时使用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\
文档评论(0)