WEB常见漏洞与挖掘技巧研究 广东动易网络——吴建亮 Jannock@wooyun.

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

嘉義縣中埔國民小學 補救教學實施方案 精神內涵說明 科技化評量系統實務操作 及基本學習內容認知. 為什麼要安排這樣的課程呢? 攜手計畫與補救教學實施方案的 差異 不是補救目前教學進度,也不再 是一堆表冊,而是補救學生的基 本學力 ( 基本學習內容 )
網站經營心得分享 林文宗 明新科技大學資管系助理教授 麟瑞科技顧問 工研院資通所無線通訊技術組顧問 明新科技大學電算中心網路組組長 國立清華大學資訊工程學系博士.
口臭不苦惱 清新口氣大作戰 口臭不只破壞人際的互動,更是 身體發出的警訊,不能輕忽。 康健雜誌 89 期文. 梁煙純 攝影.邱瑞金.
●公司簡介. ●公司組織 行銷 企劃部 行銷 企劃部 研發 設計部 研發 設計部 視覺 設計部 視覺 設計部 媒體 製作部 媒體 製作部 行動 裝置部 行動 裝置部 執行長 總經理 管理部 本公司組織人力配置除董事長、執行長、總經理外,共 有六大部門,分別為研發部 6 人、管理部 4 人、視覺設計部.
模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
Information Security Fundamentals and Practices 資訊安全概論與實務
安阳市义务教育阶段学籍管理系统 新版使用简介
如何準備社工師考試 講 師:張雅惠 社工師 演講日期:
白玉苦瓜 余光中.
SQL的简单查询.
十一 ASP对数据库的访问.
急難救助措施簡介 內政部社會司 99年6月7日.
報告題目:遊戲交易平台 二技資管三甲 1A 張永成 1A 賴嘉宏 1A 郭俊佑
职业生涯规划与择业求职 雅虎口碑高级分析师 杨玲 2008年10月31日.
第十六章 股票交易資訊分析與試算 課前指引 目前最熱門的理財方式莫過於投資股票市場,因此本章首先講解如何從美國股市匯入重要資料,之後教授使用WEB查訊功能,匯入台灣股市即時或盤後交易資訊到Excel工作表中,再利用資料分析工具來協助瞭解個股。最後再利用Excel圖表功能來繪製成股票K線圖,這是不是很有趣及實用呢?
模块二顶级销售人员是如何造就的.
姓名: 钱琬婷 学号: 0501W238 专业: 计算机科学与技术 指导教师: 陈家琪 教授
第五章 網際爭霸戰 ~網站技術與經營模式大進化 靜宜大學資管系 楊子青
第七章 电子商务系统的运营与维护.
第一章 JSP概述 学习目标 JSP技术是目前WEB开发技术中应用最广泛的一种.本章对JSP技术、优点、缺点、应用前景作了简要介绍。
Web程序设计基础 太原理工大学 计算机科学与技术学院 林福平 求实创新
教師資訊基本素養 蔡志強.
校园网站建设 主讲人:金航.
学习情境三:配置WEB服务器 服务器配置与管理.
WEB攻击与防护技术 徐 震 信息安全国家重点实验室.
网页设计师职位需求.
在 线 考 试 系 统 的 设 计 学 生: 班 级: 指导老师:.
班級:觀光一B 姓名:李詩涵 座號: 18 指導老師:杜光玉
模块七 信息获取与发布 第8章 计算机网络信息的获取与发布.
苏州大汇信息科技有限公司 招聘简介.
顶想Onethink平台 源自相同起点 演绎不同精彩 刘晨
2009年复旦大学精品课程 上海市教委重点建设课程
Information Security Fundamentals and Practices 資訊安全概論與實務
輕量級伺服器設置 1.HFS檔案伺服器架設實務與演練 2.AppServ與網路架站概說 3.AppServ+Xoops架設實務與演練
組員:蔡惠雅 494D0032 楊雅惠494B0079 蔡騏鴻 葉時宇 余建霖495B0002 陳瑛淑495B0021
第四章 網頁表單與資料傳遞.
安裝 WAMP5 PHP 網頁必須要有 WWW 伺服器及 PHP 語法解析程式才能運作, 但一般人通常不會在自己的電腦上安裝 WWW 伺服器。 因此本節要介紹如何架設一個可執行 PHP 的 WWW 伺服器, 以方便測試自己撰寫的 PHP 網頁, 提高學習效率。
第六章 學習SQL語言.
XSS & SQL Injection理論 2014/7/29 許子謙.
SQL Injection (資料隱碼) 簡介
課程名稱:資料庫系統 授課老師:李春雄 博士
Cloud (AWS) 產品放置 ex.巴士, 球場, 旅館 …. 客戶需求SW模組化 1.客製化需求 2.Web技術
操作資料庫 教授:楊維邦 教授 助教:黃存賢 陳廷宣.
网络学习环境的构建 柯清超 华南师范大学教育信息技术学院
認識FTP檔案傳輸協定 建立我的部落格 Archie檔案檢索服務 Google搜尋密技 歷久彌新的老朋友-BBS Skype網路電話
視窗程式設計簡介-VB、Visual Studio
数据智能同步系统 操作指南.
第20章 MySQL数据库.
MySQL管理 透過phpmyadmin來完成(MySQL的管理系統)
Windows服务器操作系统:2003 市场占有率仍稳居第一
105年度 大專校院校外實習學生 團體保險 第一產物保險股份有限公司 營業二部 蔡承瑋.
电子商务专业课程 电子商务应用技术 Application of Technology On Electronic Commerce.
實驗目的: 快速建置論壇、部落格及電子商務系統
站群系统管理平台简介 网教中心 2014年10月29日.
DEBUG.
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
風能 主題:風能 班級:四環工一A 組員:林明哲 4980N047 江信宏 4980N079
教育處資訊服務入口 功能簡介.
腾讯北京分公司实习感悟 樊旭光
課程名稱:資料庫系統 授課老師:李春雄 博士
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
W3C标准网页制作 主讲教师:张 涛.
宜蘭縣社區化高中職圖書館聯盟研習 部落格架設DIY 部落格與閱讀.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
108年度獎勵私立老人福利機構及補助團體、財團法人老人福利機構提供多元及充實服務方案實施計畫(獎勵私立老人福利機構部分) 申請說明會
第1章 HTML基础 主讲人:刘泰然 经济管理学院.
JavaScript 教师:魏小迪
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

WEB常见漏洞与挖掘技巧研究 广东动易网络——吴建亮 Jannock@wooyun

目录 WEB常见漏洞及案例分析 WEB常见漏洞挖掘技巧 新型WEB防火墙可行性分析 Q/A

WEB常见漏洞及案例分析 SQL注入 XSS/CSRF 文件上传 任意文件下载 越权问题 其它

SQL注入 产生SQL注入的主要原因是SQL语句的拼接

近一个月,我在乌云上提交的SQL注入类型 具体可以看一下: http://www.wooyun.org/whitehats/Jannock SQL注入是最常见,所以也是我在乌云上提交得最多的一种漏洞。 而这些注入漏洞中,大部分是完全没有安全意识(防注意识)而造成的。 只有少数才是因为编码过滤或比较隐蔽而造成的注入。 从另一个角度来说,目前大家对SQL注入还是不够重视,或者是开发 人员对SQL注入的了解还不够深刻。

案例:经典的万能密码 网站万能密码相信大家都不陌生。 但有没有想到这万能密码会出现在某安全公司的内部网站上? 不过安全公司不重视安全,出现低级的安全漏洞,在乌云上也不见少数。

第一次发现时,直接是 用户名:admin’ or ‘’=‘ 密码:任意 进入后台。 报告给官方后,官方的处理方式是直接加一个防火墙了事。(这种情况在乌云遇到过 几次,可能是不太重视的原因。)

防注与绕过从来就是一对天敌,一个通用的防火墙很难针对任何一处都做到安全, 只想跟厂商说一句,防注,参数化难道真那么难?代码过滤一下比加一道防火墙困难么? 绕过技巧:在firebug 下,把用户名的 input 改成 textarea ,为绕过输入特殊字符作准备

其实就是回车绕过防火墙规则的检测

再次成功进入后台。。

SQL注入关键字 参数化查询 过滤(白名单) 编码(绕过防注、过滤) MySQL宽字节(绕过addshalshes) 二次注入(任何输入都是有害) 容错处理(暴错注入) 最小权限(目前,非常多root,见乌云)

XSS/CSRF 跨站脚本、跨站请求伪造 造成的危害不可少看 实战中大部分无法突破的往往都是从XSS开始, XSS会给你带来不少惊喜。 案例:跨站脚本拿下某团购网

跨站脚本拿下某团购网 某次授权检测一团购网,就是那种十分简单的团购网站,前台功能不多,基本都是静态或者是伪静态,无从入手。然后看到有一个链接到论坛的一个团购心得版块,于是想到,能不能XSS呢。 于是在论坛发一个贴,带上跨站脚本。

数分钟过后,脚本返回了某管理员的cookie信息,后台路径居然也记录在cookie那里去了,这就是跨站脚本带来的惊喜。

后面就顺利了,直接欺骗进入后台,扫描后台可以拿SHELL的地方,直接获得SHELL

XSS/CSRF关键字 编码(不需要支持HTML的地方编码输出) 过滤(过滤有危害的脚本) HttpOnly (防止cookie被盗取) Token(生成表单同时生成token,提交时验证token) 验证码(重要操作可以加入) 检查referer

文件上传 常见案例情况 1)无防范(直接任意文件上传) 2)客户端检查 3)服务端只检查MIME 4)服务端保存原文件名 5)服务端保存路径由客户端传送 6)上传检查逻辑错误

简单找了一下乌云上的一些案例 http://www.wooyun.org/bugs/wooyun-2010-02706 服务端只检查MIME HDwiki文件上传导致远程代码执行漏洞 http://www.wooyun.org/bugs/wooyun-2012-06775 客户端检查 对36氪的一次渗透测试 http://www.wooyun.org/bugs/wooyun-2012-06870 支付宝某频道任意文件上传漏洞 http://www.wooyun.org/bugs/wooyun-2012-07463 腾讯某分站任意文件上传漏洞 http://www.wooyun.org/bugs/wooyun-2012-07914 服务端保存路径由客户端传送 http://www.wooyun.org/bugs/wooyun-2012-06517 江民病毒上报分站真能上传(病毒) http://www.wooyun.org/bugs/wooyun-2012-06749 上传检查逻辑错误 再暴用友ICC网站客服系统任意文件上传漏洞

文件上传关键字 服务端 文件后辍白名单 文件名注意“;”(IIS6解释漏洞) 文件名注意多“.”(某些apache版本解释漏洞,如 x.php.jpg) 保存路径注意 “.asp”目录 (IIS6解释漏洞) 截断 (常见于asp)

在开发中,由于比较多的情况是上传文件后辍由客户来配置,为了防配置错误或后台拿Shell等情况,所以很多时候为了安全问题,隐藏文件真实路径,这样即使上传了可执行的脚本类型,但找不到真实的上传路径,也是徒劳无功。 但这样往往又会引起“任意文件下载”漏洞。

任意文件下载 以读取方式输出文件内容,有可能存在任意文件下载漏洞。 常见的情况有两种 1)直接传路径 2)数据库储存路径

直接传路径型任意文件下载案例 http://www.wooyun.org/bugs/wooyun-2012-07326 腾讯某子站文件包含后续引发任意文件下载 http://dnfcity.qq.com/servlet/download?filename=WEB-INF/classes/hetaimall-config.properties http://www.wooyun.org/bugs/wooyun-2012-07696 腾讯某子站任意文件下载 http://tap.3g.qq.com:8080/picview?b=idpic&filename=../../../.../../.. /../../../etc/passwd%00.png http://www.wooyun.org/bugs/wooyun-2012-06912 淘宝网招聘频道任意文件下载 http://job.taobao.com/zhaopin/downLoadFile.do?path=school&key=attachments/../../.../../../ etc/passwd%00&genFileName=132000301eba4605f4c82b137babd890ed1c40593.zip

数据库储存路径型任意文件下载案例 http://www.wooyun.org/bugs/wooyun-2012-07709 支付宝某子站任意文件下载漏洞

任意文件下载关键字 注意“..”字符(确保操作是在指定目录下,防止转跳到别的目录) 文件类型 (确保下载的文件类型正确) 路径截断(常见于jsp,asp)

越权问题 越权操作一般是查看,修改或删除别人的信息,当然还有其它更大的危害,常见于后台的情况比较多。 前台一般越权问题常见于信息泄漏,如订单数据泄漏等,开发中比较常见的安全问题。

乌云越权案例: 通过修改地址中的ID,越权操作别人的信息 http://www.wooyun.org/bugs/wooyun-2010-05255 凡客诚品订单泄漏漏洞 http://www.wooyun.org/bugs/wooyun-2012-04853 搜狐招聘查看任意用户简历 http://www.wooyun.org/bugs/wooyun-2012-05390 丁香人才任意简历查看越权 http://www.wooyun.org/bugs/wooyun-2011-03276 京东商城我的投诉查看信息越权 http://www.wooyun.org/bugs/wooyun-2011-01399 起点中文网网络收藏夹越权

越权问题关键字 信息ID+用户ID (查看,修改,删除等操作,必须带上用户ID,检查用户是否有这个权限操作)

如想了解更多开发中要注意的安全问题,可以下载《动易安全开发手册》 基于.NET 2.0 的网站系统开发注意到的安全问题。 下载地址: http://www.powereasy.net/Soft/documents/6419.html

WEB常见漏洞挖掘技巧 白盒测试(代码审计) 黑盒测试(功能测试、Google Hacker、工具扫描) 基于漏洞库的漏洞挖掘

白盒测试 常用工具 1、源代码阅读/搜索工具 2、WEB测试环境 由于开发.net的关系,个人习惯Vs2010

在代码审计方面,很多大牛也发表过很多相关的技术文章,印象中最深刻是那篇《高级PHP应用程序漏洞审核技术》确实能够快速得找到常见漏洞,不过要找更深层的漏洞,必须了解程序的整体架构,每一个小地方都有可能引起安全问题。 由于时间关系,下面主要分享一下,SQL注入审计常用方法

SQL注入代码审计关键字 SQL注入 1、搜索 order by、in(、like 2、深入搜索 select update delete 3、注意SQL拼接的地方,进入的变量是否有过滤处理(如果应用程序有统一的变量处理,也可以逆向查找能绕过的变量,如编码的地方: 关键decode、 stripcslashes等 ) 乌云案例 http://www.wooyun.org/bugs/wooyun-2011-01725 DiscuzX1.5 有权限SQL注入BUG http://www.wooyun.org/bugs/wooyun-2011-02330 Discuz! X2 SQL注射漏洞

案例1、记事狗SQL注入 记事狗微博系统是一套创新的互动社区系统,其以微博为核心,兼有轻博、SNS和BBS 特点,既可用来独立建站也可通过Ucenter与已有网站无缝整合,通过微博评论模块、 关注转发机制打通全站的信息流、关系流,可大幅度提高网站用户活跃度和参与度, 是新时代网站运营不可或缺的系统。 同样,搜 索 select ,注意SQL拼接的地方 modules\ajax\member.mod.php

由于记事狗也加上IDS,但显然,默认规则是比较弱,依然可以盲注 ajax.php?mod=member&code=sel&province=1 and ascii(substr((select password from mysql.user limit 0,1),1,1))<60

案例2、supesite 6.x-7.0 注入 SupeSite是一套拥有独立的内容管理(CMS)功能,并集成了Web2.0社区个人门户系统X-Space ,拥有强大的聚合功能的社区门户系统。 SupeSite可以实现对站内的论坛(Discuz!)、 个人空间(X-Space)信息进行内容聚合。任何站长,都可以通过SupeSite, 轻松构建一个面向Web2.0的社区门户。 搜索UPDATE ,注意进入SQL的参数 viewcomment.php 注意参数 rates ,直接的SQL语句拼接。

从代码可以看出存在注入,利用: 打开一篇资讯评论的地方 http://www.site.com/index.php?action-viewcomment-itemid-1-php-1

提交评论,程序即暴错,可以利用暴错注入来获取想要的数据。

黑盒测试 常用工具 1、浏览器 (Firefox) 2、FireBUG+Firecookie 3、Google

黑盒测试也是前面所介绍的漏洞注意的关键字和经验所形成的条件反应。 检查一个功能是否存在安全问题,通常都是通过非正常方式提交非法参数,根据返回的信息来判断问题是否存在。如注入的地方常常提交“ ‘ ”。 fireBug是一个很好的工具,可以直观地编辑HTML元素,绕过客户客的验证等,还可以通过查询网络请求,看是否存在Ajax的请求,经验告诉我们,Ajax比较容易出现漏洞。

乌云案例: http://www.wooyun.org/bugs/wooyun-2012-08178 腾讯某频道root注入 案例中就是修改日志时,发现存在ajax请求,再修改请求中的参数,发现了注入的存在。

Google Hacker 再说一下Google Hacker Google Hacker在百度百科的介绍 http://baike.baidu.com/view/433742.htm 很多人问我,我的google搜索是不是还有其它技巧,其实也是和上面百科介绍的差不多,也是常 用 site:xxxx.com inurl:admin filetype:php intitle:管理 如搜上传 site:xxx.com inurl:upload / site:xxx.com intitle:上传 等 不过还有一点百科好像没有提到,就是当有很多结果时,我想排除一部分搜索结果。 可以用 “ - ”

像搜索: site:qq.com filetype:php 会有很多微博的,我想排除这些结果。

可以这样搜: site:qq.com filetype:php -t. 出来的结果就没有了微博的内容了。

基于漏洞库的漏洞挖掘 这个容易理解,通过对漏洞库的学习和了解,可以挖掘更多同类型的漏洞,像乌云的漏洞库。 乌云案例: http://www.wooyun.org/tags/支付安全

乌云案例: http://www.wooyun.org/search.php?q=密码修改

还有 ThinkPHP 远程代码执行 Struts2 框架远程命令执行 等。。。 在这里感谢乌云为互联网安全研究者提供一个公益、学习、交流和研究的平台。

新型WEB防火墙可行性分析 我们再看这个图,有个问题,对于这样的大站,在上线之前或者平时,相信 也有很多人用各种漏洞扫描工具扫描,为什么工具不能扫描出这种相对明显 的“数字/字符型”的注入点呢?

我们回看这些注入的地方,发现大部分注入点都是Ajax请求,一般来说,我们了解的漏洞扫描工具都是以爬虫式的偏列页面的地址,但对于这种Ajax或者是Javascript触发的请求,漏洞扫描工具就显得无力了。 弱点:知道漏洞类型,但不知道有那些请求

我们再回看注入案例中的WEB防火墙,简单的换行就能绕过检查规则? 为什么呢?

传统WEB防火墙,只能针对规则拦截,即针对参数中是否存在某些危险关键字,如:select from,union select 等。但他不知道这个请求是否存在漏洞,什么漏洞? 所以存在过虑不完整,存在绕过,更多的是存在误判,严重影响应用程序的使用。 弱点:知道请求,但不知道漏洞类型

传统WEB漏洞扫描工具 新型WEB防火墙 传统WEB防火墙 于是,我们想,能不能把两个工具的结合,组成新型的WEB防火墙呢?

猜想: 在WEB第一次请求时,分析出各请求参数是否存在漏洞?漏洞类型是什么?如何处理? 如: 数字型SQL注入 =》强制转换类型 字符型SQL注入=》根据数据库类型,转换”’”为“\’”或者“‘’” 跨站脚本=》直接编码

新型的WEB防火墙也可以结合各漏洞库,识别应用程序进行拦截防御。 上面只是一个猜想,具体能不能实现,就由各防火墙专家来思考。

Q/A

感谢 WooYun.org