githacker安装详细教程,linux添加环境变量详细教程(见标题三)

笔者是ctf小白,这两天也是遇到.git泄露的题目,需要工具来解决问题,在下载和使用的过程中也是遇到很多问题,写此篇记录经验,以供学习

在本篇标题三中有详细介绍了Linux系统添加环境变量的操作教程,以供学习

一,克隆仓库

①可以选择去github下载压缩包后解压到本地,但我下载的时候页面莫名丢失,也可以去gitcode下载(gitcode是csdn本站开发维护的)

项目目录预览 - GitHacker - GitCode

拿到zip压缩包后到本地解压一下(解压前选择好自己想要的路径)

这样就完成了仓库克隆

②也可以在本地使用【git clone】命令克隆仓库,

选择一个合适的位置(想要存放git克隆仓库的位置),打开cmd窗口,先测试一下【git 】命令是否有误,出现如下图回显证明无误, 如果有误的,参考此篇->Git安装,Git镜像,Git已安装但无法使用解决经验-CSDN博客

如果无误,使用如下命令克隆仓库

复制代码
​git clone https://github.com/WangYihang/GitHacker.git

二,下载githacker

等待克隆完成,出现下图文件夹,双击进入

进入文件夹后再次打开cmd窗口,输入如下命令

复制代码
python -m pip install -i https://pypi.org/simple/ GitHacker

任意目录下输入【githacker】命令测试是否配置成功,出现如下回显证明配置成功


三,kali_linux的配置(含linux环境变量设置详细教程)

如果不喜欢把工具放在本机,也可以放在kali虚拟机中

①上传文件

做法是先把克隆好的仓库直接拖动上传到虚拟机中,然后再进行标题二的操作,把githacker下好

②下载githacker

复制代码
python -m pip install -i https://pypi.org/simple/ GitHacker

(一定要在含有【requirements.txt】这个文件的目录下载):

③配置环境变量(以下步骤也适用于Linux系统添加其它环境变量)

不配环境变量的话使用会很麻烦,每次使用命令都要带上githacker的路径

没配环境变量前直接使用githacker命令会报错:【githacker: command not found】,

因此需要配置环境变量:

1)使用命令【cd /usr/sbin 】进入目录->使用命令【sudo su 】并输入密码后进入管理员身份->使用命令【ln -s /home/kali/.local/bin/githacker 】建立软连接

(注:这里的路径就是【githacker命令的路径】 ,其中的kali是用户名。这个命令是查看githacker安装路径下的bin目录找到的,如果你关心此事可以在评论区提出,笔者会及时回答;如果你不关心此事可以直接忽略,复制命令即可)

cd /usr/sbin

sudo su

ln -s /home/kali/.local/bin/githacker

2)使用【vim /etc/profile 】,按一下【i】键进入编辑模式,在文件末尾添加如下内容

PATH=/home/kali/.local/bin:$PATH
export PATH

(注:这里的PATH= 之后的路径就是githacker命令的父路径,其中的kali是用户名,请根据自己的用户名做出修改)

3) 使用命令【source /etc/profile 】->【exit 】使刚刚的环境变量生效,配置完成,直接使用【githacker】,出现正确回显,完成配置


四,测试

配置好后来道ctf题目进行实战,以CTFHub技能树的【Log 】这题为例子->CTFHub

打开靶场,页面无信息,查看源代码无信息,而且题目提示了是git泄露,所以直接用githacker收集git文件

这里用刚配好的kali进行操作,命令格式为:

githacker --url 靶场的URL.git --output-folder 要保存的文件名

随后会生成一个文件夹,名字就是由此命令的最后一个参数设置的,存放在我们执行此命令的路径

下一步需要进入到这个文件夹的一个子文件夹,可以用cd命令进行切换,也可以鼠标双击打开此文件夹->右键->在此打开终端

输入【git log】命令,看到这个"add flag"的版本

使用命令【git diff + 版本commit】查看信息改动,获得flag

(注:靶场是动态容器,flag一直在变,所以不一样是正常的!)

相关推荐
bush42 小时前
嵌入式linux学习记录七,中断
linux·嵌入式
RisunJan2 小时前
Linux命令-nologin(用于系统账户或需要禁止交互式登录的场景)
linux·运维
是阿建吖!2 小时前
【Linux】信号
android·linux·c语言·c++
城北徐宫2 小时前
Linux信号深度解剖:5种产生、3张表、4次切换
linux·c++·学习
倔强的石头1062 小时前
【Linux指南】Linux快捷键与系统实用技巧
linux·运维·服务器
番茄地瓜2 小时前
Linux 配置静态 IP 步骤
linux·运维·服务器
liulilittle2 小时前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
Irissgwe3 小时前
五、应用层协议HTTP
linux·网络·网络协议·http·状态码·url
.千余3 小时前
【Linux】 传输层协议UDP:从端口号到传输机制
linux·运维·udp
囚~徒~4 小时前
轻量化的虚拟机
linux·运维·服务器