forked from ThatEidolon/Python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path8-fireCatcher.py
More file actions
43 lines (33 loc) · 1.1 KB
/
Copy path8-fireCatcher.py
File metadata and controls
43 lines (33 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import optparse
from scapy.all import *
cookieTable = {}
def fireCatcher(pkt):
raw = pkt.sprintf('%Raw.load%')
r = re.findall('wordpress_[0-9a-fA-F]{32}', raw)
if r and 'Set' not in raw:
if r[0] not in cookieTable.keys():
cookieTable[r[0]] = pkt.getlayer(IP).src
print '[+] Detected and indexed cookie.'
elif cookieTable[r[0]] != pkt.getlayer(IP).src:
print '[*] Detected Conflict for ' + r[0]
print 'Victim = ' + cookieTable[r[0]]
print 'Attacker = ' + pkt.getlayer(IP).src
def main():
parser = optparse.OptionParser("usage %prog -i <interface>")
parser.add_option('-i', dest='interface', type='string',\
help='specify interface to listen on')
(options, args) = parser.parse_args()
if options.interface == None:
print parser.usage
exit(0)
else:
conf.iface = options.interface
try:
sniff(filter='tcp port 80', prn=fireCatcher)
except KeyboardInterrupt:
exit(0)
if __name__ == '__main__':
main()