WEB应用安全和数据库安全的领航者 WEB框架0day漏洞的发掘及分析经验分享 郑国祥 www.dbappsecurity.com.cn 提纲 Web框架介绍 不同web框架的安全特质 框架漏洞静态分析方法 框架漏洞动态分析方法 自动fuzzing人工检测 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 Web框架介绍 Web应用框架(Web application framework )是一种开发框架,用来支持动态网站、网 络应用程序及网络服务的开发。 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 常见Web框架介绍 Java: struts,spring Php:Yii, ThinkPHP, CodeIgniter Python:django, Tornado … www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 常见Web开发模型 最常见的开发模型:MVC www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 框架安全特质 Sql注入防护 Xss防护 Csrf防护 权限校验 拦截器 Ognl防护 … www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 Sql注入防护 1. SQL注入的防范措施 Eg: YII框架中,DB库提供了类似PDO库的绑定 参数的函数bindParam和bindValue,调用 CDbCommand::bindParam()或 CDbCommand::bindValue()以使用实际参数 替换这些占位符。 Eg: Hibernate框架中,采用预编译方式。 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 Xss防护 2. XSS的防范措施 Eg: YII框架中,为开发者提供了一个很有用的组 件CHtmlPurifier,这个组件封装了HTMLPurifier 。 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 csrf防护 3. CSRF的防范措施 Eg: YII框架中,Yii实现了一个CSRF防范机制, 用来帮助防范基于POST的攻击。这个机制的核 心就是在cookie中设定一个随机数据,然后把它 同表单提交的POST数据中的相应值进行比较。 Eg: struts2中,token机制 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 权限校验 4. 权限校验 Eg:访问控制过滤器是检查当前用户是否能执行访 问的controller的action的初步授权模式。这种授 权模式基于用户名,客户IP地址和访问类型。在 控制器(controller)里重载CController::filters方 法设置访问过滤器来控制访问动作。 Eg: struts2中,拦截器中的includeMethods www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 拦截器 5. 拦截器 在执行某个Controller之前,先执行一些特定的操 作,类似于filter功能。 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 Ognl防护 6. Ognl防护 Struts2之前版本的ognl防护都是基于正则,后来 采用SecurityMemberAccess限制来防护。 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 漏洞挖掘前提 关键词:熟练,耐心。 1. 熟练:了解框架调用流程。 2. 耐心:遇到有问题的点,要坚信梦想还是要有 的,说不定哪天就实现了呢? www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 框架漏洞静态分析 方式: 源代码审计 工具:eclipse 分析内容:框架流程分析 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 框架流程分析 http请求映射到 Controller的过程 www.dbappsecurity.com.cn 数据到 view的过 程 WEB应用安全和数据库安全的领航者 http请求映射到Controller的过程 url过滤 静态资源读取 筛选 www.dbappsecurity.com.cn 拦截器(过滤器, 参数的动态映 射(struts2)) 权限的校验 WEB应用安全和数据库安全的领航者 Controller的调 用 数据到view的过程 Controller处理完数据到view,struts2中包括 stream,freemarker等等 www.dbappsecurity.com.cn WEB应用安全和数据库安全的领航者 可能存在的问题点 正则过滤 缺陷 处理资源 文件(S2004) 表达式语 句的处理 框架特性 www.dbappsecurity.com.cn 变量覆盖 View渲染 处理 location WEB应用安全和数据库安全的领航者 可能存在的问题点 正则 缺陷 之前版本 struts2 防 护都是基 于正则, 官方也是 在发现一 个修补一 个 处理静态 资源 提供读 取static 等某些 特定目 录下的 静态资 源文件。 www.dbappsecurity.com.cn 框架 特性 Rest插 件,动 态参数 注入等 等 View渲染 处理url 跳转, location 是会传 入到ognl 表达式, 寻找能 控制 location WEB应用安全和数据库安全的领航者 变量 覆盖 Ognl执 行流程 中的变 量读取 顺序 漏洞分析流程 查找函数敏感点 www.dbappsecurity.com.cn 利用eclipse流程回 调功能查找所有入 口点 根据之前提过的流 程分析定位到入口 点之后分析追踪变 量来源 WEB应用安全和数据库安全的领航者 追踪到漏洞来源之 后发现某些字符被 特殊处理,利用 fuzzing将一些未被 处理的字符提取出 来,然后根据程序 特性进行扩展利用。
2016-《WEB框架0day漏洞的发掘及分析经验分享》
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
本文档由 张玉竹 于 2022-04-08 09:22:33上传分享