Github Hacking


本章节内容主要是介绍Github中的搜索语法,查询项目公开的源码。

文章内容主要摘自某红队系列丛书,将市面上现在流传的 redteam 系列书籍进行一个学习记录。

Github Hacking

您可以在所有公共GitHub存储库中搜索以下类型的信息,以及您有权访问的所有私有GitHub存储库:

关键字

  • Repositories
  • Topics
  • Issues and pull requests
  • Code
  • Commits
  • Users
  • Wikis

参考:

  • Searching for repositories
  • Searching topics
  • Searching code
  • Searching commits
  • Searching issues and pull requests
  • Searching users
  • Searching wikis
  • Searching in forks

您可以使用 搜索 页面或 高级搜索 页面搜索GitHub。

您可以使用 > , >= , < , 和 <= 搜索是大于,大于或等于,小于和小于或等于另一个值的值。

搜索仓库

Query Example
>_n_ cats stars:>1000 匹配关键字”cats”且star大于1000的仓库
>=_n_ cats topics:>=5 匹配关键字”cats”且标签数量大于等于5的仓库
<_n_ cats size:<10000 匹配关键字”cats”且文件小于10KB的仓库
<=_n_ cats stars:<=50 匹配关键字”cats”且star小于等于50的仓库
_n_..* cats stars:10..* 匹配关键字”cats”且star大于10的仓库
*.._n_ cats stars:*..10 匹配关键字”cats”且star小于等于10的仓库
n..n cats stars:10..50 匹配关键字”cats”且star大于10且小于50的仓库
_n_..* cats stars:10..* 匹配关键字”cats”且star大于等于10的仓库
*.._n_ cats stars:*..10 匹配关键字”cats”且star小于等于10的仓库
n..n cats stars:10..50 匹配关键字”cats”且star大于10且小于50的仓库

搜索代码

注意事项

  • 只能搜索小于384 KB的文件
  • 只能搜索小于500,000个文件的存储库
  • 登录的用户可以搜索所有公共存储库
  • 除 filename 搜索外,搜索源代码时必须至少包含一个搜索词。例如,搜索 language:javascript 无效,而是这样: amazing language:javascript。
  • 搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多结果。
  • 您不能将以下通配符用作搜索查询的一部分:. , : ; / \ ‘ “ = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]。搜索将忽略这些符号。

日期条件

cats pushed:<2012-07-05 搜索在2012年07月05日前push代码,且cats作为关键字

cats pushed:2016-04-30..2016-07-04 日期区间

cats created:>=2017-04-01 创建时间

逻辑运算

AND、OR、NOT

排除运算

cats pushed:<2012-07-05 -language:java 搜索在2012年07月05日前push代码,且cats作为关键字,排除 java 语言仓库。

包含搜索

cats in:file 搜索文件中包含cats的代码

cats in:path 搜索路径中包含cats的代码

cats in:path,file 搜索路劲、文件中包含cats的代码

console path:app/public language:javascript 搜索关键字console,且语言为javascript,在app/public下的代码

主题搜索

user:USERNAME 用户名搜索

org:ORGNAME 组织搜索

repo:USERNAME/REPOSITORY 指定仓库搜索

文件大小

size:>1000 搜索大小大于1KB的文件

文件名称

filename:config.php language:php 搜索文件名为config.php,且语言为php的代码。例如搜索Java项目配置文件:mail filename:.properties

扩展名

extension:EXTENSION 指定扩展名搜索

例如:extension:properties jdbc

自动化工具

https://github.com/UnkL4b/GitMiner

python3 gitminer-v2.0.py -c cookie.txt  -q 'extension:properties jdbc' -r 'password(.*)' -m passwords

需要将cookie信息存入文件中


文章作者: f1veseven
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 f1veseven !
评论
  目录