我正在测试一个git服务器,我正在试图弄清楚如何修改包文件。我有我的git请求通过Burp代理运行,但是,我不确定如何篡改我看到被发送到git-receive-pack端点的包文件。是否有任何好的工具可以对包文件进行简单的修改,例如更改正在上传的文件的名称和路径?
我在包文件上找到了lots of documentation,在git CLI上找到了commands for manipulating them。但问题是,我想创建格式错误的包文件,git不允许这样做。我也找到了Dulwich,但文档看起来并不好,我找不到任何我想做的事情。
有关如何修改这些包文件的任何建议都非常有用。
答案 0 :(得分:3)
说到打包示例,您可以查看Git附带的包相关测试,看看是否可以从它们派生自己的(有缺陷的)包。
例如:
t/t5300-pack-object.sh
包含带伪造参数,无法访问的对象和SHA1冲突的包文件,t/t5500-fetch-pack.sh
包括提取缺少参考的包,t/t3210-pack-refs.sh
包含packed-refs.lock文件测试并引发冲突,t/t5400-send-pack.sh
包括发送应失败的包文件(例如denyNonFastForward
设置)