【脚本程序】GitHack利用脚本

GitHack

GitHack is a .git folder disclosure exploit.

It rebuild source code from .git folder while keep directory structure unchanged.

GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。

渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等安全漏洞。

脚本的工作原理

  • 解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )
  • 去.git/objects/ 文件夹下下载对应的文件
  • zlib解压文件,按原始的目录结构写入源代码

它的优点

  • 速度快,默认20个工作线程
  • 尽量还原所有的源代码,缺失部分文件不影响脚本工作
  • 脚本不需要执行额外的git命令,All you need is python
  • 脚本无需浏览目录

可能的改进

  • 存在文件被gc打包到git\objects\pack的情况,稍后可测试下看能否直接获取并解压这个文件,还原源代码

用法示例

 GitHack.py http://www.openssl.org/.git/ 

下载地址

链接: http://pan.baidu.com/s/1kTnMVVh 密码: 3mbp

感谢lijiejie的脚本~

时间: 2024-08-25 07:37:31

【脚本程序】GitHack利用脚本的相关文章

利用脚本启动java程序

今天在工作中,需要写一个shell脚本,启动一个socket程序,从而模拟短信网关.查了一些资料,终于搞定了,现在记录一下,方便大家查阅. 为了说明使用方法,我们就用最简单的程序来实现,比如我们要运行下面这个类的main方法 package chb.cmd.test;import java.io.File;import java.io.IOException;import org.apache.log4j.Logger;public class TestClass {        static

SpiderMonkey-让你的C++程序支持JavaScript脚本

译序 有些网友对为什么D2JSP能执行JavaScript脚本程序感到奇怪,因此我翻译了这篇文章,原文在这里.这篇教程手把手教你怎样利用SpiderMonkey创建一个能执行JavaScript脚本的C++程序,并让JavaScript脚本操纵你的C++程序的内部数据.操作.从这篇教程能够看到在SpiderMonkey引擎的帮助下,让C++程序支持JavaScript脚本是一件非常easy的事,更棒的是SpiderMonkey也能够在Macintosh和Unix平台使用.SpiderMonkey

OpenSSL重大漏洞-Heartbleed之漏洞利用脚本POC讲解

OpenSSL Security Advisory [07 Apr 2014] ======================================== TLS heartbeat read overrun (CVE-2014-0160) ========================================== A missing bounds check in the handling of the TLS heartbeat extension can be used t

如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入

大多数脚本利用发生在用户可以将可执行代码(或脚本)插入您的应用程序时. 默认情况下,ASP.NET 提供请求验证.只要窗体发送包含任何 HTML,该验证都会引发错误. 您可以使用下列方法防止脚本利用: 对窗体变量.查询字符串变量和 Cookie 值执行参数验证. 该验证应包括两种类型的验证:可以将变量转换为所需类型(如转换为整数.日期时间等)的验证,以及所需范围或格式的验证. 例如,应该使用 Int32.TryParse 方法来检查应为整数的窗体发送变量,以验证该变量是否确实为整数. 而且,还应

MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度

利用比湿和温度计算相对湿度的函数是qair2rh(qair, temp, press=1013.25),三个参数分别是比湿.温度和气压,气压有一个缺省值1013.25,因此计算地面相对湿度的时候也可以不给气压参数.下面的例子打开CFS模式的地面结果,并从比湿和温度数组计算出相对湿度数组并绘图. 脚本程序: #Open and read data fn = 'U:/data/climate/CFS/20150712/flxf2015081500.01.2015071200.grb2' f = ad

C程序与Lua脚本相互调用

Lua脚本是一种可用于C程序开发/测试的工具,本篇介绍一下C程序与Lua脚本如何进行相互调用,更加详细的操作参见<Programing in Lua>.本文分为3个部分:1.Windows环境下Lua的下载以及安装注意事项:2.Visual C++6.0中Lua的配置:3.C程序与Lua脚本相互调用实例. 1.Windows环境下Lua的下载以及安装注意事项 a.下载Lua for Windows,笔者用的版本是V5.1.4-35: b.上微软官网,下载Visual C++运行库——vcred

问题:子信息不能够传递多个参数,利用脚本可以做到

问题:子信息不能够传递多个参数,利用脚本可以做到.1.加前端脚本function GridRowOnDblClick(strFile,pkValue,rowIndex){var ksrq = document.all.val_KSRQ.value;//2个控件的值var jsrq = document.all.val_JSRQ.value;//2个控件的值strFile=strFile+"&ksrq="+ksrq+"&jsrq="+jsrq;if (

SQL中利用脚本恢复数据库

SQL中利用脚本恢复数据库   编写人:CC阿爸 2014-6-15 在日常SQL数据库的操作中,如何恢复数据库 use master drop database SCS1 RESTORE DATABASE SCS1 from disk='C:\Documents and Settings\kevinzhang\桌面\eee.bak' USE master RESTORE DATABASE SCS1 from disk='C:\Documents and Settings\kevinzhang\

程序异常监视脚本

这是应朋友要求帮助写的一个简单的程序异常监视脚本,主要通过分析日志文件中的异常信息关键词,检测到关键词则可以认为程序运行异常,重启线程. 脚本依赖linux下的crontab提供的定时器定时执行日志分析脚本. 为了帮助更轻松看懂脚本,这里简单讲解下几个高频的语句. 1.日志时间戳 TIMESTAMP TIMESTAMP=`date +%Y%m%d\ %H:%M:%S` 这里调用shell的基本方法date,按照指定的格式输出时间信息 2.输出信息到日志文件 echo -n "${TIMESTAM