python黑客工具实战
+
“脚本小子和职业黑客的区别是编写自己的工具,少用别人开发的工具。” ——查理.米勒
《python黑帽子—黑客与渗透测试编程之道》,是一本很好的书,书的作者是Immunity公司的高级安全研究员,他在公司的主要工作就是寻找软件的漏洞、逆向工程、撰写攻击代码,以及使用Python编程。同时,他还是畅销书《Python灰帽子—黑客与逆向工程师的Python编程之道》的作者,那是一本介绍如何使用Python进行安全分析的书籍。以后,我可能会向大家介绍。
好了,今天往后,我会将这本书的源码发在公众号上,如果想进一步交流,可以联系我。
1.TCP客户端
在渗透测试的过程中,我们经常会遇到需要创建一个TCP客户端来连接服务,发送垃圾数据,进行模糊测试或者进行其他任务的情况。如果你工作在一个独立的大型企业网络环境中,那么你不会拥有丰富的网络工具或者编译器,你甚至可能会在一个不具备基本的复制和粘贴功能或者失去互联网连接的环境下工作。在这种环境下,你需要迅速创建一个TCP客户端。
源码:
import socket
target_port = 80
#建立一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#连接服务器
client.connect((target_host,target_port))
#发送一些数据
client.send("GET / HTTP/1.1\r\nHost:google.com\r\n\r\n")
#接收一些数据
response = client.recv(4096)
print response
很简单吧,就短短几行代码,用的是python自带的socket模块。
接下来,我们写一个TCP服务端
import socket
import threading
bind_ip = "0.0.0.0"
bind_port = 9999
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind((bind_ip,bind_port))
server.listern(5)
print "[*] Listening on %s:%d" % (bind_ip,bind_port)
def handle_client(client_socket):
request = client_socket.recv(1024)
print "[*] Received: %s"%request
client_socket.send("ACK!")
client_socket.close()
while True:
client,addr = server.accept()
print "[*] Accepted connection from %s:%d" % (addr[0],addr[1])
client_handler = threading.Thread(target=handle_client,args=(client,))
client_handler.start()
Happy
是不是出乎你的预料,有句话说的好嘛:“人生苦短,快学Python”,想想,要是用c语言写着两段代码,呵呵,那可就多了去了。
HELLO 2018
领取专属 10元无门槛券
私享最新 技术干货