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
www.qytang.com/
http://www.qytang.com/cn/list/29/
http://www.qytang.com/cn/list/28/404.htm
http://www.qytang.com/cn/list/28/397.htm
http://www.qytang.com/cn/list/28/396.htm
http://www.qytang.com/cn/list/28/395.htm
http://www.qytang.com/cn/list/28/394.htm
http://www.qytang.com/cn/list/28/393.htm
http://www.qytang.com/cn/list/28/391.htm
http://www.qytang.com/cn/list/28/389.htm
http://www.qytang.com/cn/list/28/388.htm
http://www.qytang.com/cn/list/28/362.htm
http://www.qytang.com/cn/list/28/358.htm
http://www.qytang.com/cn/list/28/351.htm
http://www.qytang.com/cn/list/28/348.htm
http://www.qytang.com/cn/list/28/340.htm
http://www.qytang.com/cn/list/28/338.htm
http://www.qytang.com/cn/list/28/336.htm
http://www.qytang.com/cn/list/28/330.htm