0
我用掃描儀維加測試我的web應用程序,它發現可以通過輸入命令,像這樣被發現了一些Shell注入漏洞:如何使用web.config防止Windows IIS上的shell注入和盲目計時?
GET /http:/mywebsite.com/?s="%20%3B%20/bin/sleep%2031%20%3B
GET /http:/mywebsite.com/http:/http:/mywebsite.com/?s="%20%3B%20/bin/sleep%2031%20%3B
我運行Windows Server的IIS和PHP。我的web.config文件的一部分是在這裏:
<requestFiltering>
<denyUrlSequences>
<add sequence="module" />
<add sequence="engine" />
<add sequence="tpl(\.php" />
<add sequence="profile" />
<add sequence="Root" />
<add sequence="Tag" />
<add sequence="Template" />
<add sequence="Repository" />
<add sequence="code-style" />
<add sequence="GET /?p=/./" />
<add sequence="/?p=/./" />
<add sequence="/?" />
<add sequence="/?p=/./ HTTP/1.1" />
<add sequence="/bin/sleep" />
<add sequence="sleep" />
<add sequence="bin" />
<add sequence="{" />
<add sequence="}" />
<add sequence=";" />
<add sequence="|" />
<add sequence="~" />
</denyUrlSequences>
</requestFiltering>
我試圖做的是從正在使用的使用web.config文件阻止這些類型的查詢。我上面有什麼應該阻止惡意查詢,但它似乎沒有工作,即使更新web.config和重新掃描。任何人都可以給我如何繼續的建議嗎?非常感謝你!
這些看起來像誤報,可能是由服務器響應緩慢導致掃描器認爲其「睡眠」命令成功。如果你在Windows上,你將不會有'/ bin/sleep'。此外,列入黑名單很少有辦法 - 通常有其他方法來構建相同的命令。 – SilverlightFox