如何利用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)

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

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

    gitrob Ruby开发,支持通过postgresql数据库https://github.com/michenriksen/gitrob weakfilescan Python开发,多线程,猪猪侠开 ...

  2. svn泄漏敏感信息利用方式

    之前仅知道svn权限配置不当,会导致敏感信息泄漏,但是一直不知道具体利用方式. 今天测试svn dig时抓包分析才知道: http://www.xxx.com/路径/.svn/text-base/文件 ...

  3. 利用数据库视图实现WEB查询敏感信息接口动态脱敏

    前言: 利用数据库视图,实现web接口查询敏感信息时动态脱敏. 具体目标:某接口为用户信息查询接口,返回敏感用户信息(id,姓名.手机号[敏感].身份证号[敏感]),如果web用户为管理员角色,则查询 ...

  4. 如何高效利用github提升自己

    作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户,是开发者打开程序开源大门的一扇窗口,也是开发者快速提升自己的一个重要途径.本文将从两个方面介绍github的使用方式. 和逛微博 ...

  5. 惊呆了!不改一行 Java 代码竟然就能轻松解决敏感信息加解密|原创

    前言 出于安全考虑,现需要将数据库的中敏感信息加密存储到数据库中,但是正常业务交互还是需要使用明文数据,所以查询返回我们还需要经过相应的解密才能返回给调用方. ps:日常开发中,我们要有一定的安全意识 ...

  6. 【Git】敏感信息保护

    保护Git仓库敏感信息 代码中无可避免有一些敏感信息,包含但不限于,数据库信息,密钥,账号信息等等.通常我们会把这些信息放在配置文件,这些信息若泄露会造成安全问题. 以前我们做法,是把配置文件通过.g ...

  7. Spring Boot 配置中的敏感信息如何保护?

    在之前的系列教程中,我们已经介绍了非常多关于Spring Boot配置文件中的各种细节用法,比如:参数间的引用.随机数的应用.命令行参数的使用.多环境的配置管理等等. 这些配置相关的知识都是Sprin ...

  8. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息

     1. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息2. 数据存储检测,content://com.starcor.launcherInfo/deviceInfo&q ...

  9. jboss eap 6.2+ 版本中 加密datasource密码等敏感信息

    默认情况下,在jboss eap 6.2+ 管理控制台创建datasource后,会在standalone.xml(独立模式)或host.xml(域模式)中以明文保存相关敏感信息. 这会给服务器留下安 ...

随机推荐

  1. 数据库根据id排序

    select * from 表名 order by id 根据 id 从小到大排序

  2. JSP项目前端优化

    问题:在谷歌浏览器中兼容问题,在点击超链接第一次会跳到头部,第二次点击才能打开的问题. 解决方案:是href的问题,删除href的属性,使用click事件,并添加a的超链接样式. #othera{ c ...

  3. mysql 字符串去掉指定字符

    如:在每一列meeting_persons的现有内容之上,去掉15112319字符串 ','')

  4. 安装jar包到maven仓库

    1)将所要安装的jar包放在自定义目录下. 2)(maven环境变量配置无误的情况下)windows环境下,打开命令提示符,输入如下命令: mvn install:install-file -Dfil ...

  5. python3.X中try/except

    包含try...except...在3.x版本中与2.x版本中的用法差异. 1.先说差异: 在2.x的python中用法实例: try: ...... except Exception,e: rais ...

  6. java实现点击图片文字验证码

    https://www.cnblogs.com/shihaiming/p/7657115.html

  7. 关于WinCC OA

    简介 WinCC OA 的全称是:SIMATIC WinCC Open Architecture,是奥地利ETM公司(ETM professional control GmbH)开发的SCADA软件系 ...

  8. window.open在ajax里 被浏览器拦截

    setLine(row){ let newTab= window.open('about:blank'); this.api.isPrivilege(localStorage.getItem(&quo ...

  9. anjular分页组件tm-pagination的使用

    原组件地址:https://github.com/miaoyaoyao/AngularJs-UI (1)直接从git上clone下来的demo无法正常显示,后来重新到在线的demo上拷贝了templa ...

  10. 我的第一个chrome浏览器扩展 5分钟学习搞定

    注意: 文件名必须是 manifest, ,注意扩展名是json, 新建一个文件夹,然后创建一个文本文件,作为这个扩展程序的配置文件,所以文件名是manifest.json, 感谢https://ww ...