今天也是帶來 Command Injection 的 DVWA 實戰
我們會先看到這個頁面


一樣先看 source code


這個 source code 看起來是會對我們輸入的ip做 ping的動作
如果作業系統是Windows(php_uname('s')檢查),則使用
ping指令,否則使用ping -c 4的指令(在Unix/Linux系統上通常使用的ping指令,它會發送4個ICMP封包)
先輸入 8.8.8.8 看看




那我們試試用 8.8.8.8 跟 ; 來看看能不能執行其他的系統命令


我們可以看到 ls 被執行了


我們就可以透過這種方式執行其他的系統命令
像




這次他把 && 跟 ; 都用空字元替換掉了


既然他過濾掉了 && 跟 ; 那我們換一個連接符
|| : 前面的指令執行不了的話換後面的指令




另一個方法


過濾掉 ; 連接符就變 && 了


看 source code


注意 '| ' => 這裡是只過濾有空格的 |, 所以如果我們把 8.8.8.8| ls 改成 8.8.8.8|ls
|將第一個指令的輸出作為第二個指令的輸入






這裡直接從輸入字串當中只接收數字,避免接收到其他的指令