2014-11-05 70 views
-2

「所有這些東西都適合我的大學(一個challeng),沒有什麼不好的事情發生在RL」!SSL-Strip的自定義Python腳本

我不是phyton的家庭,但是,我給它一個trie。 任務是通過phython腳本執行ssl剝離攻擊。 關閉腳本的輸出musst是Username和PW(標準輸出)現在 我的問題是:

當我下載的SSL條binarie我看到一個Python腳本,其中應包括相關的東西(sslstrip),但是,我不是索裏我應該從哪裏開始?

我注意到,兩個類ClientsRequest &剝離代理是必不可少的,所以它們是底部。

我的問題是我如何連接客戶端請求類,以便它從客戶端讀取數據?

林不知道,但是這可能是端口的配置:8080 (腳本必須監聽8080)

# Standard socket stuff: 
host = '' # do we need socket.gethostname() ? 
port = 8080 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.bind((host, port)) 
sock.listen(1) # don't queue up any requests 

# Loop forever, listening for requests: 
while True: 
    csock, caddr = sock.accept() 
    print "Connection from: " + `caddr` 
req = csock.recv(1024) # get the request, 1kB max 

我需要在正確的方向一點點火花。

問候 Rolento

+0

你之後的消息說這是一個挑戰,你嘗試使用某人的其他模塊?你應該從頭開始構建你的東西​​,並理解你如何實現降級連接,即MITM攻擊。 – Anzel 2014-11-05 22:52:14

回答

0
# Loop forever, listening for requests: 
while True: 
    csock, caddr = sock.accept() #< - this is a blocking call 
    print "Connection from: " + `caddr` 
#you never end up getting to this instruction 
req = csock.recv(1024) # get the request, 1kB max 

你有一些問題

sock.accept將阻止等待連接......一旦你連接打印他們的數據和環右後衛的等待連接...實際上你想用這種連接做點什麼

while True: 
    csock, caddr = sock.accept() #< - this is a blocking call 
    print "Connection from: " + `caddr` 
    req = csock.recv(1024) # get the request, 1kB max 

至少會收到從客戶端接受進來的連接

你可能需要做的是手工開了一個單獨的線程上的連接用,所以你可以繼續接受新的連接工作,在處理當前連接

+0

OK現在,我可以更進一步瞭解腳本,目前即時處於客戶端傳送剝離數據的位置。它存儲在一個變量(req2)。我現在的問題是我如何檢查這個關鍵字用戶的req2並通過?之後,我必須使用 - 標準輸出「打印」出來。 – rolento 2014-11-06 22:02:31