返回信息流程序是一段漏洞挖掘的程序,但是具体到这一段代码功能非常简单,就是想简单的在客户端接收数据,然后如果长时间没有数据接收进来的话,就自动执行后续的代码。额,楼主水平是真的很菜了啦,如果有什么描述的不对的地方,还望轻拍。
#ftp_session.py
from sulley import *
from requests import tftp
import time
import socket
import select
#import sessions
#import __init__
sess = sessions.session(session_filename="tftp_data.log",proto="udp")
#Target IP xxx.xxx.xxx.xxx
host1 = "192.168.3.1"
host2 = "192.168.7.3"
print time.strftime('%I:%M.%S')
def fuzz_gen(addr):
target = sessions.target(addr,69)
sess.add_target(target)
sess.connect(s_get("tftp"))
sess.fuzz()
#---------------------------------------------------------------------------------------------------------------------------------------------
if __name__ == "__main__":
fuzz_gen(host1)
print time.strftime('%I:%M.%S')+"\t"+"generation_based finished"
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Opcode = '\x00\x01'#chr(0x01)
FileName = ['aa.txt' ,'starup-config','A'*600] #可以替换为其它的字符串,如‘A’*600、‘A’*1000
Mode = 'octet'
while True:
print time.strftime('%I:%M.%S')+"\t"+"variation_based cases:"
for filename in FileName:
data_packet = Opcode + filename + '\0'+ Mode +'\0'*1000
client.sendto(data_packet, (host1,69))
print data_packet;
data,ADDR = client.recvfrom(1024) #如果接收不到数据,则等待超过一定时间之后,就往下执行,不要一直等待 (就是这里了啦!)
print "data is :"+data+" end"
if data[1]=='\x03':
#print data
ack_packet = '\0' +chr(0x04)+data[2:4]
print ack_packet
client.sendto(ack_packet,(host1,69))
data = '\0'
print data
'''elif data=='\0':
fuzz_gen(host2)
print time.strftime('%I:%M.%S')+"\t"+"generate_based finished"
client.sendto(data_paket, ADDR1)'''
#print data,addr,port
client.close()
这是一条镜像帖。来源:北邮人论坛 / python / #4454同步于 2014/11/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
求大神帮忙,python零基础,码不出来啊
wangguoxiang
2014/11/27镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。