如何利用GitHub搜索敏感信息

背景:

最近总是能听到同事说在GitHub上搜到某个敏感信息,然后利用该信息成功的检测并发现某个漏洞,最后提交到对应的SRC(安全应急响应中心)换点money。顿时心里那个羡慕啊,然后就心说自己也要学会使用GitHub这个宝藏。

开始:

众所周知,作为安全人员,学会使用google hack是最基本的一项技能。那么什么是google hack呢?google hack其实就是一系列的命令语法,这些命令语法可以用来快速的搜索敏感网站,关键字等信息。比如使用:inurl:XXXX;intext:XXXX;等等。看到这里估计很多人会思考,那GitHub有没有相关的语法命令呢?其实在学习之前,我也不清楚是否存在,但是在研究以后,我发现原来GitHub也有属于自己的命令语法可以用来快速方便的搜索敏感信息。接下来就带大家一起学习一下相关的命令语法。

1.q+关键字

我们通常情况下在GitHub上搜索是这样的形式,例如在搜索处输入hundsun,可以成功的搜索出一些项目信息,如图1所示。观察一下可以看到这里的url是这样的:

https://github.com/search?utf8=%E2%9C%93&q=aliyuncs&type=;q对应的正是要搜索的关键字。type指定搜索结果展示的类型,分为Repositories,Code,Commits,Issues,Marketplace,Topics,Wikis,Users。默认搜索结果是以项目名的形式展示,从图1中可以看到。如果需要其他模式可以自己选择

2.in:file,path

上边是最常见的搜索方式,可是有时候我们希望在文件名和路径中搜索包含关键字信息,那么这时候该如何搜索呢?此时可以使用如下url链接:

https://github.com/search?o=desc&p=1&q=aliyuncs+in:file,path&ref=searchresults&s=indexed&type=Code&utf8=%E2%9C%93 。

观察一下可以看到,在关键字后边多了in:file,path。另外,这里面的参数s用来对搜索结果进行排序。S对应的有三个值:s=,默认是以最佳匹配的方式进行排序;o=asc&s=indexed,选择以最近更新的;o=desc&s=indexed选择最近被索引的。

3.repo:项目名

有时候大家可能会遇到一种情况,需要在指定项目中搜索包含敏感信息的文件,那么这时候该如何进行搜索呢?此时,可以使用如下url:

https://github.com/search?o=desc&p=1&q=aliyuncs in:file,path repo:XXXXX &ref=searchresults &s=indexed&type=Code&utf8=%E2%9C%93。观察一下,在q参数里面多了repo:xxxx字符串。这个字符串是用来指定在哪个项目中搜索包含关键字的信息。如下图所示:

4.-repo:项目名

对应的使用如下链接可以搜索除了指定项目以外的包含敏感信息的文件:

https://github.com/search?o=desc&p=1&q=hundsun in:file,path -repo:XXXXX &ref=searchresult s  &s=indexed&type=Code&utf8=%E2%9C%93。这里q参数多了-repo:xxxxx。这个用来指定排除哪些项目。

5.搜索兴趣推荐项目

Github还提供了一种方式可以基于用户的搜索兴趣进行推荐,使用如下url:https://github.com/explore

6.stars:条件

在有些情况下,我们需要对搜索结果进行筛选,使用星数搜索进行搜索是一个较好的方式。使用该语法,程序会展示星数大于要求的项目。这样带来的好处是可以快速找到好的项目。这里面的条件可以是简单的>或者..。1..10表示搜索项目星数介于1到10之间的。

7.高级搜索

高级搜索可以指定多个搜索选项,例如项目名,项目创建者,创建时间,星数等等。其链接如下:https://github.com/search/advanced

看到这里可能很多人还没意识到有什么用,其实这里面的作用是很大的。因为你完全可以根据个人的需求去开发一些独特的搜索脚本。比如开发一个搜索数据库信息的python程序。例如:在正常情况下,输入关键字:jdbc 3306可以快速搜索出很多包含数据库的信息,利用前边学到的知识,可以加上对搜索结果进行筛选提取出外网的可用的数据库信息。

最后说点搜索技巧一类的,Github是一个大的宝库,知道搜索语法还需要了解如何去搜。尤其是搜索关键字该如何去寻找。可以根据特征去搜索,比如:对于oracle的,可以搜索jdbc 1502,因为mysql默认端口是1502。对于其他的可以搜索1433,3389一类的端口。如图所示。除此之外还可以这样搜索:关键字 username passwd、ftp等等。

最后附带我在网上搜集了几个敏感信息收集工具,这里都列出来方便自己也方便他人。这些工具在文件末尾备注。这里对GitPrey重点说明一下,其是使用python开发的用于收集企业敏感信息的脚本工具。我下载以后尝试输入包含各种关键字的命令运行,但是返回的结果都为空。后来经过查看代码发现在进行信息提取的时候,有个正则匹配地方,匹配的标签出问题了。因此这个如果要使用是需要进行简单改造的,其他工具都可以拿来使用。当然,如果感兴趣的可以利用前边介绍的知识自己构建一个专属的敏感信息收集工具。

GitPrey(https://github.com/repoog/GitPrey)、

Nuggest(https://github.com/az0ne/Github_Nuggests)

theHarvester(https://github.com/laramies/theHarvester)

GISL(https://github.com/FeeiCN/GSIL)

原文地址:https://www.cnblogs.com/nul1/p/10193231.html

时间: 2024-10-09 19:44:44

如何利用GitHub搜索敏感信息的相关文章

4款Github泄漏敏感信息搜索工具简单比较

gitrob Ruby开发,支持通过postgresql数据库https://github.com/michenriksen/gitrob weakfilescan Python开发,多线程,猪猪侠开发中文注释,个性化定制,需要beautifulsoup4用于渗透人员在对网站进行网站渗透时查找敏感文件(配置文件.临时文件).敏感目录,会首先爬取目标站点的三层目录资源,生成目录FUZZ和文件FUZZhttps://github.com/ring04h/weakfilescan GitPrey Py

开源项目成熟度分析工具-利用github api获取代码库的信息

1.github api github api是http形式的api,功能还是比较丰富的,博主因为项目的原因主要用到的是提取project信息这项功能,返回的数据是JSON格式. api页:https://developer.github.com/v3/ Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication method (H) -a, --append Ap

如何高效利用github提升自己

作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户,是开发者打开程序开源大门的一扇窗口,也是开发者快速提升自己的一个重要途径.本文将从两个方面介绍github的使用方式. 和逛微博.朋友圈.空间一样逛github 你在空闲时间逛微博.朋友圈.空间,人家没事的时候逛GitHub ,看看最近有哪些流行的项目,久而久之,这差距就越来越大.那么我们如何像逛微博.朋友圈.空间一样逛github呢?- 首先,和微博.朋友圈.空间一样,你要想在你的朋友圈看到别人的动态,首先你的加人家好友对

***f漏洞结合腾讯云获取敏感信息及***f防御

测试实践***f漏洞应用与防御 概要 此次测试为公司内部站点测试,测试出了众多常见的xss.文件上传.订单逻辑漏洞.不过这里只介绍一个f漏洞以作学习,这是一个大佬从代码中发现的,我过来学习一下,同时做个总结.之所以总结这一个,或许是因为从这个漏洞中学习的更多一些知识和技巧吧!同时加深一下对f的理解! 漏洞的详细介绍 漏洞的原理: F(Server-Side Request Forgery:服务器端请求伪造) 是一种由者构造形成由服务端发起请求的一个安全漏洞.一般情况下,F的目标是从外网无法访问的

如何高效利用GitHub

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

使用keychain保存用户名和密码等敏感信息 KeychainItemWrapper和SFHFKeychainUtils

iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储.相对于 NSUserDefaults.文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在 重装App后,keychain里的数据还能使用.从ios 3.0开始,跨程序分享keychain变得可行. 如何需要在应用里使用使用keyChain,我们需要导入Security.framework ,key

12306个人敏感信息泄露

/************************************** /* 作者:半斤八兩 /* 博客:http://cnblogs.com/bjblcracked /* 日期:2015-02-20 00:01 /************************************** 只是感兴趣,没有其他目的.失误之处敬请诸位大侠赐教! 当下社会发展迅速,从最初的排队购票,到电话购票,到现在的互联网购票.互联网让我们足不出户,就能购到火车票,让我们越来越便捷.但是人们往往会忽略了

利用GitHub搭建个人网站

转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/52203759 http://www.ganecheng.tech/blog/52203759.html (浏览效果更好) 最近在找实习,需要写一份含有丰富内容的简历,但是简历最多只能写两页纸.再多的话就会让面试官烦了,找不到重点.如果还想向面试官展示更多的个人能力,经验,经历,在简历上放上自己的个人网站链接无疑是一种比较好的方式.面试官想了解更多的话,打开链接就知道你的知识的深度

解决git提交敏感信息(回退git版本库到某一个commit)

解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提交版本的经历, 如何删除? 好像只有删除版本库来解决, 其实我们可以通过回退版本库删除相应的commit来将提交的敏感信息去掉. 备份本地代码 首先我们将本地代码的更改备份一下, 以防丢失更改 回退本地代码的commit 备份完数据, 我们就可以先回退本地的版本库 git reset --hard