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