如何利用GitHub搜索敏感信息
背景:
最近总是能听到同事说在GitHub上搜到某个敏感信息,然后利用该信息成功的检测并发现某个漏洞,最后提交到对应的SRC(安全应急响应中心)换点money。顿时心里那个羡慕啊,然后就心说自己也要学会使用GitHub这个宝藏。
开始:
众所周知,作为安全人员,学会使用google hack是最基本的一项技能。那么什么是google hack呢?google hack其实就是一系列的命令语法,这些命令语法可以用来快速的搜索敏感网站,关键字等信息。比如使用:inurl:XXXX;intext:XXXX;等等。看到这里估计很多人会思考,那GitHub有没有相关的语法命令呢?其实在学习之前,我也不清楚是否存在,但是在研究以后,我发现原来GitHub也有属于自己的命令语法可以用来快速方便的搜索敏感信息。接下来就带大家一起学习一下相关的命令语法。
1.q+关键字
我们通常情况下在GitHub上搜索是这样的形式,例如在搜索处输入hundsun,可以成功的搜索出一些项目信息,如图1所示。观察一下可以看到这里的url是这样的:
2.in:file,path
上边是最常见的搜索方式,可是有时候我们希望在文件名和路径中搜索包含关键字信息,那么这时候该如何搜索呢?此时可以使用如下url链接:
观察一下可以看到,在关键字后边多了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)
如何利用GitHub搜索敏感信息的更多相关文章
- 4款Github泄漏敏感信息搜索工具简单比较
gitrob Ruby开发,支持通过postgresql数据库https://github.com/michenriksen/gitrob weakfilescan Python开发,多线程,猪猪侠开 ...
- svn泄漏敏感信息利用方式
之前仅知道svn权限配置不当,会导致敏感信息泄漏,但是一直不知道具体利用方式. 今天测试svn dig时抓包分析才知道: http://www.xxx.com/路径/.svn/text-base/文件 ...
- 利用数据库视图实现WEB查询敏感信息接口动态脱敏
前言: 利用数据库视图,实现web接口查询敏感信息时动态脱敏. 具体目标:某接口为用户信息查询接口,返回敏感用户信息(id,姓名.手机号[敏感].身份证号[敏感]),如果web用户为管理员角色,则查询 ...
- 如何高效利用github提升自己
作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户,是开发者打开程序开源大门的一扇窗口,也是开发者快速提升自己的一个重要途径.本文将从两个方面介绍github的使用方式. 和逛微博 ...
- 惊呆了!不改一行 Java 代码竟然就能轻松解决敏感信息加解密|原创
前言 出于安全考虑,现需要将数据库的中敏感信息加密存储到数据库中,但是正常业务交互还是需要使用明文数据,所以查询返回我们还需要经过相应的解密才能返回给调用方. ps:日常开发中,我们要有一定的安全意识 ...
- 【Git】敏感信息保护
保护Git仓库敏感信息 代码中无可避免有一些敏感信息,包含但不限于,数据库信息,密钥,账号信息等等.通常我们会把这些信息放在配置文件,这些信息若泄露会造成安全问题. 以前我们做法,是把配置文件通过.g ...
- Spring Boot 配置中的敏感信息如何保护?
在之前的系列教程中,我们已经介绍了非常多关于Spring Boot配置文件中的各种细节用法,比如:参数间的引用.随机数的应用.命令行参数的使用.多环境的配置管理等等. 这些配置相关的知识都是Sprin ...
- SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息
1. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息2. 数据存储检测,content://com.starcor.launcherInfo/deviceInfo&q ...
- jboss eap 6.2+ 版本中 加密datasource密码等敏感信息
默认情况下,在jboss eap 6.2+ 管理控制台创建datasource后,会在standalone.xml(独立模式)或host.xml(域模式)中以明文保存相关敏感信息. 这会给服务器留下安 ...
随机推荐
- css背景图片充满DIV
最近接手前端页面,让给调样式.哥纯粹一个代码程序猿,表示那些个样式应该让前端人员或者美工小妹妹来实现. 书归正传,碰到了问题,页面要在手机上展现,众所周知,手机在中国的牌子很多,很难做到统一. 页面上 ...
- js 利用canvas + flv.js实现视频流 截屏 、本地下载功能实现,兼容火狐,谷歌;canvas截屏跨域问题,无音频视频流加载不显示问题
项目:物联网监控项目----后台视频流管理(前端实现视频截屏功能) 本文就不同视频源分情况展示: 1 本地视频(项目同目录视频)截屏(canvas.getContext("2d).drawI ...
- 设置SecureCRT的背景色和文字颜色方案
一.对于临时设置,可以如下操作: 首先options -- session - appearance 此处可以设置临时的窗口背景,字体颜色,大小等等,为什么说是临时,是因为只要你关闭连接后,又会恢复. ...
- 网页常用Js代码
1.后退前进 <input type="button" value="后退" onClick="history.go(-1)"> ...
- php 数组写入文件
$fiele = '../data/conf/watermark.php';//指定要写入的文件 $param = $this->request->param(); $watermark ...
- Useful Git Commands for me
查看Git追踪的文件 git ls-files 移除远程仓库的文件夹 git rm -r --cached some-directory git commit -m "Remove th ...
- Spring,Spring MVC及Spring Boot区别
什么是Spring?它解决了什么问题? 我们说到Spring,一般指代的是Spring Framework,它是一个开源的应用程序框架,提供了一个简易的开发方式,通过这种开发方式,将避免那些可能致使代 ...
- 神器PHPStorm个人最常用快捷键
PHPStorm是目前PHP开发者最常用的IDE之一,善用快捷键可以极大地提升效率,网上有很多盘点,多而全,但很多要么不实用,要么操作不方便,下面盘点一下个人平时最常用的,亲测有效. CTRL+N 查 ...
- 执行Hive出现Error running child : java.lang.OutOfMemoryError: Java heap space错误
具体错误日志如下: 2018-05-11 15:16:49,429 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running chi ...
- C#实现 单点登录(SSO)
SSO的基本概念 SSO英文全称Single Sign On(单点登录).SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同 ...