netcat.py
nc url portを叩いて、出力を受け取り入力を返せる
code:netcat.py
import socket
class Netcat:
""" Python 'netcat like' module """
def __init__(self, ip, port):
self.buff = ""
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.connect((ip, port))
def read(self, length = 1024):
""" Read 1024 bytes off the socket """
return self.socket.recv(length)
def write(self, data):
self.socket.sendall(((str(data)+'\n')).encode('utf-8'))
def close(self):
self.socket.close()
/icons/hr.icon
code:sample.py
# below is a extract from a sample exploit that
# interfaces with a tcp socket
from netcat import Netcat
# start a new Netcat() instance
nc = Netcat('tekeisan-ekusutoriim.chall.beginners.seccon.jp', 8690)
# receive lines, print and solve fomula
for i in range(100):
lines = nc.read().decode('utf-8').split('\n')
for line in lines:
print(line)
statement = fomula.split(' ')
nc.write(int(statement0) + int(statement2)) print(int(statement0) + int(statement2)) nc.write(int(statement0) - int(statement2)) print(int(statement0) - int(statement2)) nc.write(int(statement0) * int(statement2)) print(int(statement0) * int(statement2)) nc.write(int(statement0) / int(statement2)) print(int(statement0) / int(statement2)) # output flag!
lines = nc.read().decode('utf-8').split('\n')
for line in lines:
print(line)
nc.close()