• 三、git信息泄露


    一、git信息泄露

    解释:Git信息泄露是指通过公开或错误地配置版本控制系统Git,导致敏感数据(例如API密钥、数据库密码、个人信息等)被泄露到公共代码仓库或其他未授权的访问者手中。通俗来说,在公网暴露类似http://127.0.0.1/.git/(将.git目录直接被人访问)将会导致源码被人下载查看到

    二、git敏感操作

    • 情况1:

      情景:.git目录可以直接访问,也就是.git可以直接通过wget进行下载

      1. 下载对方git:wget -r http://114.67.175.224:15402/.git/(先进入下载到文件的目录然后ls -al才能看到目录下面多了个.git目录)
      2. 查看提交历史记录:git reflog
      3. 查看某次提交的细节信息:git show d256328(d256328就是git reflog第一列的内容)
    • 情况2:
      情景:.git访问为403,无法直接通过wget下载

      1. 下载工具:git clone https://github.com/kost/dvcs-ripper.git
      2. 配置环境:
        sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
        sudo apt-get install libparallel-forkmanager-perl libredis-perl libalgorithm-combinatorics-perl
        sudo apt-get install cvs subversion git bzr mercurial
        
        • 1
        • 2
        • 3
      3. cd进入dvcs-ripper进行下载:perl rip-git.pl -v -u http://www.example.com/.git/

      注意:使用该工具.git信息自动下载到当前目录,没有新建文件夹,建议每次使用该工具前,重新git clone一样

    三、直接下载源代码

    解释:利用github上面提供的代码,执行后即可下载上源文件

    1. 下载:git clone https://github.com/lijiejie/GitHack.git
    2. 找到GitHack.py使用下载命令:python GitHack.py http://127.0.0.1/.git/

    四、git基本操作

    1.初始

    1. 初始化:git init
    2. 添加到暂存区:git add . #'.'表示所有
    3. 提交到历史区:git commit -m 'first' #-m:message
    4. 添加与删除远程仓库地址git remote add 自定义名字 地址 git remote rm 自定义名字
    5. 提交到远端仓库:git push -u 自定义添加过的远程仓库名 分支名字 #跟上面添加内容有关

    2.维护

    2.1 暂存区维护

    1. 查询添加到暂存区的内容:git status
    2. 删除添加到暂存区的文件:git rm --cached 文件名

    2.2 工作区维护

    1. 查询工作区提交记录:git log --oneline #可来查看唯一版本号;
    2. 查询历史提交记录(包括回滚的都可以恢复):git reflog
    3. 撤回到版本号:git reset
      3.1 --hard git reset --hard 版本号 #使得暂存区和工作区都恢复到目标版本
      3.2 --mixed git reset --mixed 版本号 #使得暂存区恢复到目标版本
      3.3 --soft git reset --soft 版本号 #只删除commit历史,不改变暂存区和工作区
    4. 切换版本号:git check HEAD^ #此为上一个版本,可自行复制版本号,此可切换到临时分支
      4.1 保存到分支:git branch 新分支 临时分支名 #这样是因为临时分支不会被记住,不能保存

    3.分支操作

    1. 创建:git branch 名字(创建但没有切换过去)
    2. 切换分支:git checkout 分支名字
    3. 合并分支:git merge 分支名字
    4. 删除分支:git branch -d 分支名字

    4.下载操作

    代码:git clone 地址

    5.设置与删除代理

    1. 全局:git config --global http.proxy http://127.0.0.1:10809
    2. 指定:git config --global http.https://gitee.com.proxy http://127.0.0.1:1081#指定对码云这个网站(全局)
    3. 删除:git config --global --unset 内容(用git config -l查看,找到代理等号前面的内容)

    6.辅助信息

    1. 查看分支:git branch
    2. 查看提交到历史区的详细:git log
    3. 查看目录与暂存区的区别:git status
    4. 显示已写入缓存与已修改但尚未写入缓存的改动的区别:git diff
    5. 列出添加的远端仓库名字:git remote -v

    五、vim信息泄露

    解释:当使用vim编辑器编写一个index.php文件时,会有一个.index.php.swp文件,如果文件正常退出,则该文件被删除,如果异常退出,该文件则会保存下来,该文件可以用来恢复异常退出的index.php。同时多次意外退出时将会创建新的文件

    • 第一次意外退出产生的缓存文件名为.index.php.swp
    • 第二次意外退出后,文件名为.index.php.swo
    • 第三次产生的缓存文件则为.index.php.swn(注意:index前有 . )

    恢复成原文件:vim -r .index.php.swp

  • 相关阅读:
    基于PB的企业人力资源信息系统设计与实现
    全场景 MPP 数据库ERM StarRocks 源代码数据湖分析
    封装了几个CAPL发送诊断相关函数,具有较高的可复用性
    【网站项目】书籍销售系统小程序
    MongoDB 索引和常用命令
    Python学习笔记之进程池pool
    MySQL MHA高可用集群部署
    Web3失败下互联网的未来转型之路
    idea远程debug调试
    JavaWeb初学
  • 原文地址:https://blog.csdn.net/weixin_46765649/article/details/133999273