Security
如何測試我的伺服器是否容易受到 ShellShock 漏洞的影響?
如何確保我的 Bash 安裝在更新後不再容易受到ShellShock錯誤的影響?
檢查 CVE-2014-6271 漏洞
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
它不應該回顯易受攻擊這個詞。
檢查 CVE-2014-7169 漏洞
(警告:如果您的漏洞失敗,它將創建或覆蓋一個名為的文件
/tmp/echo
,您可以在之後刪除該文件,並且需要在再次測試之前刪除)cd /tmp; env X='() { (a)=>\' bash -c "echo date"; cat echo
它應該說日期這個詞,然後用類似的消息抱怨
cat: echo: No such file or directory
。相反,如果它告訴您目前的日期時間是什麼,那麼您的系統很容易受到攻擊。檢查 CVE-2014-7186
bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "CVE-2014-7186 vulnerable, redir_stack"
它不應該回顯文本
CVE-2014-7186 vulnerable, redir_stack
。檢查 CVE-2014-7187
(for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || echo "CVE-2014-7187 vulnerable, word_lineno"
它不應該回顯文本
CVE-2014-7187 vulnerable, word_lineno
。檢查 CVE-2014-6277。我不能 100% 確定這個,因為它似乎依賴於一個我不再可以訪問的部分修補的系統。
env HTTP_COOKIE="() { x() { _; }; x() { _; } <<`perl -e '{print "A"x1000}'`; }" bash -c "echo testing CVE-2014-6277"
這個的通過結果是它只回顯文本
testing CVE-2014-6277
。如果它執行 perl 或者它抱怨沒有安裝 perl,那肯定是失敗的。我不確定任何其他故障特徵,因為我不再有任何未打更新檔的系統。檢查 CVE-2014-6278。同樣,我不能 100% 確定這個測試是否因為我不再有任何未打更新檔的系統。
env HTTP_COOKIE='() { _; } >_[$($())] { echo hi mom; id; }' bash -c "echo testing CVE-2014-6278"
此測試的通過是它應該只回顯文本
testing CVE-2014-6278
。如果你的迴聲hi mom
在任何地方都肯定是失敗的。