Skip to content

Commit e960c08

Browse files
author
Internetwache
committed
Initial commit
0 parents  commit e960c08

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

Diff for: clickjacking.py

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#!/usr/bin/python2.7
2+
3+
# Python - ClickjackingTester
4+
# Author: Sebastian Neef - Internetwache.org
5+
# Twitter: @internetwache
6+
# Comment: Happy Hacking!
7+
8+
import sys, urllib2
9+
clickjacking = False
10+
11+
class ClickjackingTest(object):
12+
13+
def __init__(self):
14+
self.__init()
15+
16+
def __init(self):
17+
self.__url = ""
18+
self.__csrfPoc = ""
19+
20+
def __create_poc(self):
21+
html = '''
22+
<html>
23+
<body>
24+
<iframe src="'''+self.__url+'''"></iframe>
25+
</body>
26+
</html>
27+
'''
28+
self.__csrfPoc = html
29+
30+
def __is_clickjackable(self):
31+
url = self.__url
32+
try:
33+
if url[:4] != "http":
34+
url = "http://" + url
35+
sys.argv[1] = url
36+
37+
req = urllib2.urlopen(url)
38+
headers = req.info()
39+
40+
if not "X-Frame-Options" in headers:
41+
return True
42+
except:
43+
pass
44+
return False
45+
46+
def getURL(self):
47+
return self.__url
48+
49+
def getPoC(self):
50+
return self.__csrfPoc
51+
52+
def test(self,url):
53+
self.__init()
54+
self.__url = url
55+
56+
if(not self.__is_clickjackable()):
57+
return False
58+
59+
self.__create_poc()
60+
return True
61+
62+
def usage():
63+
print "[*] Usage: ", sys.argv[0]," [URL]"
64+
print "[-] URL: the url to test"
65+
66+
def main():
67+
print "[*] Started ClickjackingTester"
68+
69+
if len(sys.argv) <= 2:
70+
if(len(sys.argv)==1 or sys.argv[1]=="-h" or sys.argv[1]=="--help"):
71+
usage()
72+
sys.exit(0)
73+
else:
74+
url = sys.argv[1]
75+
else:
76+
usage()
77+
sys.exit(0)
78+
79+
clkTester = ClickjackingTest()
80+
81+
print "[*] Testing..."
82+
if clkTester.test(url):
83+
print "[*] X-Frame-Options-Header is missing"
84+
print "[*] Clickjacking is possibe"
85+
print clkTester.getPoC()
86+
else:
87+
print "[*] You can't clickjack this!"
88+
print "[+] Done"
89+
90+
main()

0 commit comments

Comments
 (0)