SRC漏洞挖掘实用技巧
2019-09-02 10:05:00 Author: xz.aliyun.com(查看原文) 阅读量:255 收藏

0x01 信息收集

1、Google Hack实用语法

迅速查找信息泄露、管理后台暴露等漏洞语法,例如:

filetype:txt 登录  
filetype:xls 登录  
filetype:doc 登录  
intitle:后台管理  
intitle:login
intitle:后台管理  inurl:admin  
intitle:index of /

查找指定网站,再加上site:example.com,例如:

site:example.com filetype:txt 登录  
site:example.com intitle:后台管理
site:example.com admin
site:example.com login
site:example.com system
site:example.com 管理
site:example.com 登录
site:example.com 内部
site:example.com 系统

关键词可以根据实际情况进行调整,推荐Google、Bing,搜索内容如果被删除,网页快照一般仍会有记录。


2、Shodan、fofa网络资产搜索引擎

Shodan、foda等网络资产搜索引擎可以用来搜索网络空间中在线设备,功能十分强大,相当于网络安全界的google:

特别是超强搜索引擎shodan,甚至可以根据logo查询互联网资产:
比如对某IP进行信息检索,点击view raw data:

找到data.0.http.favicon.data字段:

搜索相应的值即可根据企业logo查询资产:

http.favicon.hash:-1507567067

推荐安装shodan chrome 插件,方便进行查看和使用:

https://chrome.google.com/webstore/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap

fofa是国内的一款网络空间资产搜索引擎,与shodan类似,常见搜索语法:

title="abc" 从标题中搜索abc。例:标题中有北京的网站
header="abc" 从http头中搜索abc。例:jboss服务器
body="abc" 从html正文中搜索abc。例:正文包含Hacked by
domain="qq.com" 搜索根域名带有qq.com的网站。例: 根域名是qq.com的网站
host=".gov.cn" 从url中搜索.gov.cn,注意搜索要用host作为名称。例: 政府网站, 教育网站
port="443" 查找对应443端口的资产。例: 查找对应443端口的资产
...

实用查询语句:

body="关键词1" && country=CN&&title="关键词2"

可以快速定位国内想要搜索的网站信息。

3、子域名收集

推荐几个好用的工具:

在网站的JS文件中,会存在各种对测试有帮助的内容,JSFinder可以帮助我们获取到JS中的url和子域名的信息,拓展我们的渗透范围。爬取分为普通爬取和深度爬取,深度爬取会深入下一层页面爬取JS,时间会消耗的更长,流程如下:

  • Sublist3r(https://github.com/aboul3la/Sublist3r)
    Sublist3r是一个python版工具,其设计原理是基于通过使用搜索引擎,从而对站点子域名进行列举。Sublist3r目前支持以下搜索引擎:Google, Yahoo, Bing, 百度以及Ask,而未来将支持更多的搜索引擎。目前,Sublist3r同样也通过Netcraft以及DNSdumpster获取子域名。

4、github敏感信息泄露实时监控

GSIL(GitHub Sensitive Information Leakage)项目,地址:
https://github.com/FeeiCN/GSIL

通过配置关键词,实时监控github敏感信息泄露情况,并发送至指定邮箱:

5、网盘搜索引擎

和github类似,网盘中往往会存在企业泄露的内部信息,同样需要关注,常见的网盘搜索引擎:
盘多多:http://www.panduoduo.net/
盘搜搜:http://www.pansoso.com/
盘搜:http://www.pansou.com/
凌云风搜索:https://www.lingfengyun.com/

6、注意公众号、服务号、小程序、APP

企业的微信号、服务号、小程序、APP会帮助我们拓展攻击面,部分应用入口web中并没有,需要从公众号、小程序、APP入手,公众号中甚至会有企业用于测试的公众号、服务号,这些信息需要重点关注:

7、注册非普通用户(商户、企业用户等等)

商户、企业用户注册一般需要提交多个资料:营业执照、企业证件号等等,比较繁琐:

但不要因为麻烦放弃,此类用户由于注册难,意味着测试的人员少,往往漏洞比较多。部分平台审核不严,很多情况下提供资料注册即可通过或简单电话验证即可通过。

想办法提供各类资料注册(网上购买营业执照、公开信息收集、PS)
想办法获取到账号(撞裤、文库、QQ群、github泄漏等)
借账号/租账号/买账号

0x02 微信公众号抓包技巧

企业微信公众号可以大大拓宽我们的测试范围,公众号部分链接可以直接复制到浏览器中打开,然后按照常规的渗透测试方法进行,但是有的链接复制到浏览器后,会出现下图情况:

对于这种情况,可以通过安卓模拟器抓微信包、真机微信抓包的方式解决,但都相对不太方便,和大家分享通过SocksCap64直接抓微信PC端的流量方法。
SocksCap64是一款功能非常强大的代理客户端,支持http/https、socks4/5、TCP、UDP等协议,在内网渗透中经常使用,同样可以用他来代理微信PC客户端的流量,并将流量转发至burp中,就可以进行抓包分析。
首先还是在burp中设置监听:

然后在SocksCap64中设置代理服务器为burp的地址和端口,代理方式HTTP:

测试一下,是否成功:

然后利用SocksCap64启动微信:

即可成功抓到微信PC端的流量:

0x03 登录界面思路

0x04 短信&邮件轰炸绕过

在网站测试的过程中,常常在用户注册登录时出现手机号/邮箱注册,这里就可能出现短信&邮件炸弹漏洞,此类漏洞测试比较方便,虽然有的站点做了防护,但也有一些绕过的办法。

这里收集了部分目前较为流行的临时接收短信的网站,方便用于测试:

https://www.pdflibr.com/

http://www.z-sms.com/

https://www.receive-sms-online.info/

[国内] http://www.smszk.com/

[国外] http://receive-sms-online.com/

[国外] https://smsnumbersonline.com/

[国外] https://www.freeonlinephone.org/

[国外] https://sms-online.co/receive-free-sms

在应用手机号/邮箱和验证码作为用户登录凭证时,一般涉及到的网站功能点主要包括:

  • 账号注册
  • 首次设置密码时用户身份校验
  • 账号登录
  • 重置密码
  • 绑定手机/邮箱
  • 修改绑定手机/邮箱
  • 免费试用/活动领取/反馈处
  • ...

常见的测试和绕过手段:

0x05 逻辑漏洞

随着开发人员安全意识的日益加强,IPS/IDS、WAF、全流量检测等防护设备的不断部署,传统的SQL注入漏洞、命令执行等漏洞正变得越来越少,或者越来越难挖(需要绕过各种防御设备)。但业务逻辑漏洞几乎可以bypass一切传统的安全防护设备,目前还没有非常有效的防御手段。同时,业务逻辑纷繁复杂,再资深的程序员也可能挖坑,所以只要基础扎实,逻辑思维能力强,耐心细心,不放过任何一个步骤,此类漏洞比较容易挖。

1、修改返回包的越权

场景1:修改手机号

一般的修改逻辑为:认证原手机号 -> 填写新手机号 -> 提交修改

如果在进行下一步操作时,没有校验上一步的认证是否成功时,就会存在逻辑缺陷绕过。
比如在第一步认证原手机号时,随意输入验证码,将response包中的相关字段进行修改,比如0改成1,false改成true,即可绕过第一步验证,进入填写新手机号界面,如果第三步提交修改时没有验证第一步的结果,就会造成逻辑漏洞。

乌云案例:http://www.anquan.us/static/bugs/wooyun-2015-0120951.html

场景2:登录绕过

部分网站的身份验证放在了前端,因此只需要将response包中的相关字段进行修改,比如0改成1,false改成true,就可以登录任意用户账号。

乌云案例:http://www.anquan.us/static/bugs/wooyun-2015-0151201.html

2、水平越权

场景1:遍历ID
在一些请求中,GET或POST中有明显的id数字参数(手机号、员工号、账单号、银行卡号、订单号等等),可以尝试进行遍历,如果程序没有对当前权限进行判断,就会存在水平越权问题。

乌云案例:http://www.anquan.us/static/bugs/wooyun-2016-0204958.html

场景2:ID替换
如果程序对用户标识进行了hash或者加密,而又无法破解用的什么加密方式的话,就无法通过遍历ID来获取其他用户信息了。此时可以尝试注册两个账号,通过替换两个ID加密后的值,判断程序是否对权限进行了验证,如果没有,也会存在越权问题。

3、垂直越权

观察cookie中的session字段,猜测修改,发现:
level=1: admin
level=2: vip user
level=3: normal user

说明,本教程文章仅限用于学习和研究目的,请勿用于非法用途。漏洞挖掘中应遵守SRC中的相关规则。


文章来源: http://xz.aliyun.com/t/6155
如有侵权请联系:admin#unsafe.sh