File tree 1 file changed +90
-0
lines changed
1 file changed +90
-0
lines changed Original file line number Diff line number Diff line change
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 ()
You can’t perform that action at this time.
0 commit comments