├── .gitignore
├── passdict
├── dict
│ ├── and.dict
│ ├── pre.dict
│ ├── ext.dict
│ └── password.dict
├── README.md
└── pass.py
├── nmap_oG.py
├── dirScan
├── README.md
└── dirScan.py
├── f5_CookieDecode.py
├── favicon_mmh3.py
├── mssqlC2H.py
├── domain2ip.py
├── ip138.py
├── fofa.py
├── ips2ipc.py
├── dnslog.py
├── chunked.py
├── shodan.py
├── tftp.py
├── objectSid2SID.py
├── weblogic_hash.py
├── npmSearch.py
├── getKeyword.py
├── README.md
├── t3scan.py
├── portScan.py
├── scanTitle.py
├── ip2domains.py
├── brute.py
├── redisWriteFile.py
├── aliyunECS.py
├── dnsbrute.py
├── bigData.py
├── iis_shortname_Scan.py
├── sub.py
├── simple_http.py2
├── socks5.py2
└── cms.rb
/.gitignore:
--------------------------------------------------------------------------------
1 | config.py
2 |
--------------------------------------------------------------------------------
/passdict/dict/and.dict:
--------------------------------------------------------------------------------
1 | @
2 |
3 | _
4 | -
5 | .
6 | !
7 | %
8 | #
--------------------------------------------------------------------------------
/passdict/dict/pre.dict:
--------------------------------------------------------------------------------
1 | 1
2 |
3 | Aa
4 | a
5 | woai
6 | woshi
7 | ai
8 | aa
9 | Q
10 | q
11 | ws
12 | wo
13 | z
14 | yy
--------------------------------------------------------------------------------
/passdict/README.md:
--------------------------------------------------------------------------------
1 | --keyword 指定字符串
2 | --pass 将dict/password.dict中的字典加入返回
3 | --file path 将字典写入path
4 | --print 直接输出
5 | Eg:pass.py --keyword admin --print
6 | Eg:pass.py --keyword admin --file ./test.dict
7 |
--------------------------------------------------------------------------------
/nmap_oG.py:
--------------------------------------------------------------------------------
1 | import re
2 | import sys
3 | nmap_log = open(sys.argv[1]).readlines()
4 | ip_re = r"([0-9]{1,3}\.){3}[0-9]{1,3}"
5 | port_re = r"([0-9]{2,5})\/open"
6 | for log in nmap_log:
7 | ip= re.compile(ip_re).search(log)
8 | ports=re.compile(port_re).findall(log)
9 | if ip and ports:
10 | for p in ports:
11 | print("%s:%s"%(ip.group(),p))
12 |
--------------------------------------------------------------------------------
/dirScan/README.md:
--------------------------------------------------------------------------------
1 | 17-12-05
2 | 更新目录和文件是判断方法
3 | 增加备份文件扫描(根据目录生成)
4 |
5 | 计划:
6 | 增加代码泄露扫描
7 | 增加waf检测
8 |
9 | 说明:
10 | 下载了源码之家php asp .net 共2000套源码,分析出目录字典url_keyword.dict和文件字典file_keyword.dict
11 | dirScan.py功能:
12 | 检测404跳转与网络不可达
13 | 支持http代理
14 | 支持自定义HEADERS
15 | 支持多线程
16 | 支持扫描目录深度设定
17 | 可自定义是否扫描文件或目录
18 | 可自定义文件后缀
19 | 可自定义字典文件
20 |
21 |
--------------------------------------------------------------------------------
/f5_CookieDecode.py:
--------------------------------------------------------------------------------
1 | import re
2 | import sys
3 |
4 | if __name__ == "__main__":
5 | cookie = sys.argv[1]
6 | __tmp = cookie.split(".")
7 | Iip = __tmp[0]
8 | Iport = __tmp[1]
9 | Hip = hex(int(Iip))[2:]
10 | Hport = hex(int(Iport))[2:]
11 | Cport = "".join([str(i) for i in re.findall(r"\w{2}",Hport)][::-1])
12 | ip = ".".join([str(int(i,16)) for i in re.findall(r"\w{2}",Hip)])
13 | port = str(int(Cport,16))
14 | print("%s:%s" % (ip,port))
15 |
16 |
--------------------------------------------------------------------------------
/favicon_mmh3.py:
--------------------------------------------------------------------------------
1 | import requests
2 | import mmh3
3 | import sys
4 | import base64
5 | url = sys.argv[1]
6 | if not url.endswith("favicon.ico"):
7 | if url.endswith("/"):
8 | url = url + "favicon.ico"
9 | else:
10 | url = url + "/favicon.ico"
11 | req = requests.get(url=url,timeout=10,verify=False)
12 | print("http.favicon.hash:%s"%(mmh3.hash(base64.encodebytes(req.content).decode())))
13 | print("icon_hash=\"%s\""%(mmh3.hash(base64.encodebytes(req.content).decode())))
14 |
--------------------------------------------------------------------------------
/mssqlC2H.py:
--------------------------------------------------------------------------------
1 | import sys
2 | def low2high(d):
3 | # 高低位转换
4 | d = ord(d)
5 | return hex(d & 0xff).lstrip('0x') + hex(d >> 8).lstrip('0x')
6 |
7 | def toHex(s):
8 | sHex = "0x"
9 | for i in s:
10 | if ord(i) < 255:
11 | sHex = sHex + hex(ord(i)).lstrip('0x') + '00'
12 | else:
13 | sHex = sHex + low2high(i)
14 | return sHex
15 |
16 |
17 | if __name__ == '__main__':
18 | data = sys.argv[1]
19 | print(toHex(data))
20 |
21 |
--------------------------------------------------------------------------------
/passdict/dict/ext.dict:
--------------------------------------------------------------------------------
1 | 1
2 |
3 | 520
4 | 123
5 | 666
6 | 888
7 | wsx
8 | 345
9 | 1234
10 | 12345
11 | 123456
12 | 2021
13 | 2020
14 | 2019
15 | 2018
16 | 2017
17 | 2016
18 | 2015
19 | 2014
20 | 2013
21 | 2012
22 | 2011
23 | 2010
24 | 2009
25 | 2008
26 | 2007
27 | 2006
28 | 2005
29 | 2004
30 | 2003
31 | 2002
32 | 2001
33 | 2000
34 | 1999
35 | 1998
36 | 1997
37 | 1996
38 | 1995
39 | 1994
40 | 1993
41 | 1992
42 | 1991
43 | 1989
44 | 1988
45 | 1987
46 | 1986
47 | 1985
48 | 123..
49 | !@#$%^&*
50 | !@#$%^
51 | !@#$%
52 | !@#$
53 | !@#
54 | 1qaz
55 | 2wsx
56 | 3edc
57 | qwe
58 | asd
59 | zxc
60 | qazwsx
61 | qwert
62 | asdfg
63 | zxcvb
64 |
--------------------------------------------------------------------------------
/domain2ip.py:
--------------------------------------------------------------------------------
1 | import socket
2 | import sys
3 | import time
4 | def domain2ip(domains):
5 | for domain in domains:
6 | domain = domain.strip()
7 | try:
8 | ip = socket.gethostbyname(domain)
9 | except:
10 | ip = '127.0.0.1'
11 | print(ip,domain)
12 |
13 |
14 |
15 | if __name__ == '__main__':
16 | if sys.argv[1] == '--stdin':
17 | domains = sys.stdin.read().split("\n")
18 | domain2ip(domains)
19 |
20 |
21 | else:
22 | domain_file = sys.argv[1]
23 | domains = open(domain_file,'r').readlines()
24 | domain2ip(domains)
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ip138.py:
--------------------------------------------------------------------------------
1 | import requests
2 | import re
3 | import sys
4 |
5 | def ip138(url):
6 | re_ip = re.search(r"([0-9]{1,3}\.){3}[0-9]{1,3}",url)
7 | if re_ip:
8 | target = re_ip.group()
9 | api = "http://site.ip138.com/%s/" % target
10 | else:
11 | target = url
12 | api = "http://site.ip138.com/%s/domain.htm" % target
13 | try:
14 | req = requests.get(api,timeout=10)
15 | html = req.text
16 | except Exceptions as e:
17 | html = ''
18 | print(e)
19 | if re_ip:
20 | re_domains = re.findall(r"(.*?)