1.pyqt4写的界面 find_ui.py
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#-*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
try :
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try :
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_Form( object ):
def setupUi( self , Form):
Form.setObjectName(_fromUtf8( "Form" ))
Form.resize( 516 , 467 )
self .label = QtGui.QLabel(Form)
self .label.setGeometry(QtCore.QRect( 20 , 10 , 54 , 16 ))
self .label.setObjectName(_fromUtf8( "label" ))
self .edit_address = QtGui.QLineEdit(Form)
self .edit_address.setGeometry(QtCore.QRect( 80 , 10 , 351 , 20 ))
self .edit_address.setObjectName(_fromUtf8( "edit_address" ))
self .button_search = QtGui.QPushButton(Form)
self .button_search.setGeometry(QtCore.QRect( 440 , 10 , 61 , 23 ))
self .button_search.setObjectName(_fromUtf8( "button_search" ))
self .text_all = QtGui.QTextEdit(Form)
self .text_all.setGeometry(QtCore.QRect( 20 , 40 , 411 , 261 ))
self .text_all.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self .text_all.setObjectName(_fromUtf8( "text_all" ))
self .label_2 = QtGui.QLabel(Form)
self .label_2.setGeometry(QtCore.QRect( 20 , 320 , 54 , 12 ))
self .label_2.setObjectName(_fromUtf8( "label_2" ))
self .text_exist = QtGui.QTextEdit(Form)
self .text_exist.setGeometry(QtCore.QRect( 20 , 340 , 411 , 64 ))
self .text_exist.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self .text_exist.setObjectName(_fromUtf8( "text_exist" ))
self .label_3 = QtGui.QLabel(Form)
self .label_3.setGeometry(QtCore.QRect( 380 , 310 , 91 , 20 ))
self .label_3.setText(_fromUtf8(""))
self .label_3.setObjectName(_fromUtf8( "label_3" ))
self .edit_add = QtGui.QLineEdit(Form)
self .edit_add.setGeometry(QtCore.QRect( 20 , 420 , 411 , 20 ))
self .edit_add.setObjectName(_fromUtf8( "edit_add" ))
self .button_add = QtGui.QPushButton(Form)
self .button_add.setGeometry(QtCore.QRect( 440 , 420 , 71 , 23 ))
self .button_add.setObjectName(_fromUtf8( "button_add" ))
self .label_4 = QtGui.QLabel(Form)
self .label_4.setGeometry(QtCore.QRect( 20 , 440 , 251 , 16 ))
self .label_4.setObjectName(_fromUtf8( "label_4" ))
self .retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi( self , Form):
Form.setWindowTitle(_translate( "Form" , "目录探测工具" , None ))
self .label.setText(_translate( "Form" , "网站地址:" , None ))
self .button_search.setText(_translate( "Form" , "探测" , None ))
self .label_2.setText(_translate( "Form" , "结果:" , None ))
self .button_add.setText(_translate( "Form" , "添加地址" , None ))
self .label_4.setText(_translate( "Form" , "例如:/admin/manager.asp 请以斜杠开始" , None ))
|
2. 启动文件 start.py
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
#!/usr/local/bin/python
#coding=utf-8
import sys
import os
import time
import httplib
import re
from PyQt4 import QtCore, QtGui
from threading import Thread
from find_ui import Ui_Form
class MyForm(QtGui.QMainWindow):
def __init__( self , parent = None ):
QtGui.QWidget.__init__( self , parent)
self .ui = Ui_Form()
self .ui.setupUi( self )
QtCore.QObject.connect( self .ui.button_search,QtCore.SIGNAL( "clicked()" ), self .startthread)
QtCore.QObject.connect( self .ui.button_add,QtCore.SIGNAL( "clicked()" ), self .addAddress)
def startSearch( self ):
self .ui.label_3.setText("")
self .getAddress()
address = str ( self .ui.edit_address.text())
self .accessAddesss(address)
def startthread( self ):
t1 = Thread(target = self .startSearch,)
t1.start()
def getAddress( self ):
try :
global addresslist
addresslist = []
filePath = os.getcwd() + "\\address.txt"
# if not os.path.isfile(filePath):
# print 'aaa'
# return 0
fileAddress = file (filePath, "r" )
for address_line in fileAddress.readlines():
if address_line not in addresslist:
addresslist.append(address_line)
pass
pass
pass
fileAddress.close()
except :
#self.ui.text_all.setText('aaa')
self .ui.text_all.setText(u '打开文件错误' )
pass
finally :
#fileAddress.close()
pass
# print addresslist[0]
def accessAddesss( self ,host):
try :
print host
print len (addresslist)
for oneAddress in addresslist:
print len (addresslist)
oneAddress = oneAddress.replace( "\n" ,"")
print oneAddress
connection = httplib.HTTPConnection(host, 80 ,timeout = 10 )
connection.request( "GET" ,oneAddress)
response = connection.getresponse()
result = response.reason
resultNum = response.status
if "OK" in result or "Forbidden" in result:
getaddress = "http://" + host + oneAddress + "------" + str (resultNum) + ":" + result
self .ui.text_exist.append(getaddress)
else :
self .ui.text_all.append( "http://" + host + oneAddress + "------" + str (resultNum) + ":" + result)
connection.close()
except Exception as e:
print e.message
self .ui.label_3.setText(u "探测完成" )
self .ui.label_3.colorCount()
def addAddress( self ):
try :
filePath = os.getcwd() + "\\address.txt" fileAddress = file (filePath, "a" )
newAddress = "\n" + str ( self .ui.edit_add.text())
print newAddress
fileAddress.write(newAddress)
fileAddress.close()
except Exception as e:
print e.message
if __name__ = = "__main__" :
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())
|
3.address.txt 扫描地址名单文件,可以通过编辑改文件制定自己的规则,你懂的~~
复制代码 代码如下:
/admin.php
/admin/
/administrator/
/moderator/
/webadmin/
/adminarea/
/bb-admin/
/adminLogin/
/test/login.jsp
/source/login.php