一、漏洞挖掘的前期–信息收集
虽然是前期,但是却是我认为最重要的一部分;
很多人挖洞的时候说不知道如何入手,其实挖洞就是信息收集+常规owasp top 10+逻辑漏洞(重要的可能就是思路猥琐一点),这些漏洞的测试方法本身不是特别复杂,一般混迹在安全圈子的人都能复现漏洞。接下来我就着重说一下我在信息收集方面的心得。
1、域名信息收集
src一般都只收对应的漏洞,很多src的公告里面就会明确范围;然后我们就需要根据这些范围来确定域名。
如果src上面没有给出范围,那么需要我们去搜集,你需要知道哪些domain是该公司的,主要通过手工来查看:
- 网站的关于页面/网站地图
- whois反查
- 一些网站里面的跳转请求(也可以关注一下app)
- 还有就是百度,有些会在title 和 copyright信息里面出现该公司的信息
- 网站html源码:主要就是一些图片、js、css等,也会出现一些域名
- apk反编译源码里面
…………还需要你们来补充
2、子域名信息收集
工具:
- subdomain lijiejie的子域名收集工具(个人觉得挺好用的);
- layer:这个工具也不错;
其他的还有很多,比如kali下的等等,不写那么多免得看着蛋疼;
但是只要是工具就会有误报,建议大家对获取的子域名写个脚本处理一下;判断哪些是可以访问的,哪些是不可以访问的,哪些访问是测试页面的。可以节约不少时间。
手工:其实也是可以工具化(爬虫思维,不过爬虫不是很准确)
利用google hacking 搜索,大家一定不要只用google 搜索,这样是不全面的,还有 bing(不用访问外国网站)、百度、360等等,因为很多国内的网站利用google去搜索是搜不到的。这里就不说语法了,贴几条常用的就行了。
搜集域名和mail地址:
搜集敏感文件:site:xxx.com filetype:doc
搜集管理后台:site:xxx.com 管理/site:xxx.com admin/site:xxx.com login
搜集mail:site:xxx.com intext:@xxx.com/intext:@xxx.com
搜集敏感web路径:site:xxx.com intitle:登录/site:xxx.com inurl:sql.php
3、敏感信息收集
这一块是比较大的一块,我这里举一些:
- github源代码:网上有工具(https://github.com/repoog/GitPrey)
- svn信息泄漏:这个只能用扫描器了
- 敏感文件:比如数据库配置文件啦(有案例的)、网站源码啊、数据库备份文件等等
- 敏感目录:网站后台目录/一些登录地址/一些接口目录
- email:邮箱命名规则、公司是否具有邮箱默认密码(这个可以采取社工,毕竟我司默认密码就很弱鸡)。
- 员工号:很多oa、um、sso系统都是采用员工号登录的,所以知道员工号的规则很多时候能帮助我们进行撞库。
- 商家信息:如果是一些具有商家系统的,能收集到一些商家账户(自己搞去,可以注册,注册资料请百度)就可以进入很多系统来测试了。
4、小结一下
其实很多时候,我们通过信息收集能得到不少的漏洞了,我这里举几个简单的案例:
- 通过搜索引擎获取系统管理页面,直接越权访问;(说好的没有详细)
- 通过github直接找到管理后台账号密码;
- 通过目录/文件扫描直接得到系统信息(ip、管理员账号密码)连入服务器;
- 当然也有很多通过信息收集得到一些东西结合其他手段;
二、漏洞挖掘的中期–信息处理
1、信息整理
对于第三节提到的那些信息收集技术,我们不能收集完了就完了,一定好好整理,会对后期渗透有很大的帮助。这里说一下具体怎么整理。
利用word或excel或txt 都行,我建议word 和excel 因为txt毕竟太简单了。分类:
- 哪些网站功能类似;
- 哪些网站可能使用的同一模版;
- 哪些网站有waf(这个一般在url中标明就好);
- 哪些网站能登录(注册的账号也一定要记住,最好可以准备两个手机号,两个邮箱方便注册);
- 哪些网站暴露过哪些类型的漏洞(这个只能去乌云上面找);
- 网站目前有哪些功能(这个稍微关注一下网站公告,看最近是否会有业务更迭);
2、漏洞整理
我们辛苦的挖洞一定要对我们挖掘出来对漏洞有一个记录,记录的可以稍微详细一些,一是可以方便自己以后回顾,还有就是以后说不定有些地方出现了跟以前一样的功能,这样就方便我们更快的找到漏洞。这里建议doc文档,图片可以贴的详细一些。
第二个就是通过漏洞得到的一些数据:
- 订单信息;遍历、注入
- 用户信息:这个可以通过撞库获取、任意密码重置获取、注入
- 数据库用户名密码:注入、配置泄漏
为什么我们要整理这些数据,因为我们要根据这些数据来设计我们的字典。爆破完好了,一样的6。
三、漏洞挖掘的后期–漏洞挖掘
有了前两步,这里我会写的少一点,毕竟漏洞的类型就那么些,像前文说过就是owasp top 10、逻辑,对于挖掘这些漏洞,我觉得没什么特别好的办法,就是抓包分析逻辑(这里说的不包括对软件客户端的挖掘、app的挖掘);
首先我们需要对一个网站/app有一个了解要知道它的功能点有哪些(后期我会更新一个checklist介绍一下哪些功能会对应什么样的漏洞)。
其次我们要分析这个网站/app里面的请求哪些是我们可以控制的参数,这些地方就是漏洞经常出没的点。
最后就是分析逻辑,这一类别的漏洞主要还是涉及一套流程,这里举个例子:
例:”我们买东西”
- 首先我们要选择:
- 筛选涉及查询(是否可以SQL注入)
- 加入购物车:商品数量是否可以为负
- 询问商家:
- 跳转客服系统,跳转url中是否含有用户参数
- xss打客服cookie
- 钓鱼+社工
- 下单:
- 填地址,涉及插入(注入)、xss
- 修改单价
- 修改总额(这里说明一下修改总额:情况1,就是我们可能会遇到可以使用优惠卷的情况,比如我们买了100的东西只能使用5块的优惠价,但是我有一张50的优惠卷是否可以使用;情况2,打折我们是否可以修改打折的折扣;情况3,我们是否可以修改运费,将运费改为负数;情况n)
- 备注:xss,sql注入
- 电子票据:
- 会写抬头
- 支付:
- 传输过程中是否可以修改,如果是扫描二维码支付,我们可以分析一下二维码中的请求url看是否可以修改以后重新生成二维码(这里不讨论具体的支付了,因为微信和支付宝都很安全)
- 订单完成:
- 是否可以遍历订单
- 评价
发表评论 取消回复