DVWA-command injection

1、command injection
漏洞介紹:
**漏洞產生的原因:**程序中的某些功能需要執行系統命令,並通過網頁傳遞參數到後臺執行。然而最根本的原因是沒有對輸入框中的內容做代碼過濾,正常情況下輸入框只能接收指定類型的數據。
漏洞影響:命令注入漏洞可以使攻擊在受攻擊的服務器上執行任何命令。
需要用到的知識
&&:前一個指令執行成功,後面的指令才繼續執行,就像進行與操作一樣
||:前一個命令執行失敗,後面的才繼續執行,類似於或操作
&:直接連接多個命令
|:管道符,將前一個命令的輸出作爲下一個命令的輸入
;:直接連接多個命令
解決亂碼問題(後期補充)解決此問題的方法:在DVWA-master\dvwa\includes目錄下找到dvwaPage.inc.php文件中所有的”charset=utf-8”,修改”charset=gb2312”,即可。
在這裏插入圖片描述
解決此問題的方法:在DVWA-master\dvwa\includes目錄下找到dvwaPage.inc.php文件中所有的”charset=utf-8”,修改”charset=gb2312”,即可。在這裏插入圖片描述
(一)Low
在這裏插入圖片描述
函數說明:shell_exec將所有輸出流作爲字符串返回。exec默認情況下返回輸出的最後一行,但可以將所有輸出提供爲指定爲第二個參數的數組。
shell_exec- 通過shell執行命令並將完整輸出作爲字符串返回
exec - 執行外部程序。
不同之處在於,shell_exec您將輸出作爲返回值。
說明:從此處可以看出代碼並沒有對submit提交的數據進行任何的處理
輸入:在這裏插入圖片描述
對應於:在這裏插入圖片描述
(二)medium
在這裏插入圖片描述
說明PHP過濾了&&和;
由於&&和;被過濾所以我們考慮用||,但是使用這個的前提是前一個條件錯誤
在這裏插入圖片描述
(三)high
在這裏插入圖片描述
這裏添加的黑名單變多單是可以看出|中多了一個空格所以|能夠正常使用,因此當輸入”127.0.0.1|whomai”,一樣可以攻擊,”|”是管道符,意思是將前者處理後的結果作爲參數傳給後者。在這裏插入圖片描述
(四)impossible
再來看一下impossible的源碼,看看別人是如何防範的:在這裏插入圖片描述先將ip地址用點分爲一個數組,然後判斷每一位是否是數字,如果是數字,然後再把他們拼起來。針對特定命令有特定的防範措施,這樣才能最大限度的降低漏洞產生的可能性
語法說明:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章