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,时间会消耗的更长,流程如下:
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泄漏等)
借账号/租账号/买账号
企业微信公众号可以大大拓宽我们的测试范围,公众号部分链接可以直接复制到浏览器中打开,然后按照常规的渗透测试方法进行,但是有的链接复制到浏览器后,会出现下图情况:
对于这种情况,可以通过安卓模拟器抓微信包、真机微信抓包的方式解决,但都相对不太方便,和大家分享通过SocksCap64直接抓微信PC端的流量方法。
SocksCap64是一款功能非常强大的代理客户端,支持http/https、socks4/5、TCP、UDP等协议,在内网渗透中经常使用,同样可以用他来代理微信PC客户端的流量,并将流量转发至burp中,就可以进行抓包分析。
首先还是在burp中设置监听:
然后在SocksCap64中设置代理服务器为burp的地址和端口,代理方式HTTP:
测试一下,是否成功:
然后利用SocksCap64启动微信:
即可成功抓到微信PC端的流量:
在网站测试的过程中,常常在用户注册登录时出现手机号/邮箱注册,这里就可能出现短信&邮件炸弹漏洞,此类漏洞测试比较方便,虽然有的站点做了防护,但也有一些绕过的办法。
这里收集了部分目前较为流行的临时接收短信的网站,方便用于测试:
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
在应用手机号/邮箱和验证码作为用户登录凭证时,一般涉及到的网站功能点主要包括:
常见的测试和绕过手段:
随着开发人员安全意识的日益加强,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中的相关规则。