目錄

PortSwigger-檔案上傳漏洞 lab 4

Lab: Web shell upload via extension blacklist bypass

Lab 目標

跟上一個lab相同,利用上傳漏洞將目標主機上/home/carlos/secret檔案內容輸出,再將輸出的內容subsmit。

說明

相較於上一題,此Lab主要在於限制使用者上傳php檔,讓攻擊者練習利用php其他副檔名.php5來上傳。同時因為.php5並非系統預設可執行的檔案,因此也需利用.htaccess檔的調整來達到攻擊的目標。

  • 此lab可使用與上一個lab相同的webshell。

  • 可以先上傳一個正常的檔案,看一下檔案會被存放的位置。利用burpsuite可看到位置在/files/avatars/資料夾下。

https://amingosec.blog/wp-content/uploads/2022/03/uploadlocation-1024x560.png

  • 可以試著上傳.php結尾的shell,會發現無法上傳,得到如下圖的回應。

https://amingosec.blog/wp-content/uploads/2022/03/can_not_upload_php_file.png

  • 將副檔名改成.php5後即可成功上傳。結果如下圖。

https://amingosec.blog/wp-content/uploads/2022/03/success_upload_php5_file.png

  • 直接存取/files/avatars/shell.php5後沒有將/home/carlos/secret的內容回傳,所以判斷是無法執行副檔名為.php5的檔案造成的。
  • 再上傳.htaccess檔案,讓該路徑可以執行.php5檔案。檔案內容如下。
AddType application/x-httpd-php .php5
  • 上傳後再次存取/files/avatars/shell.php5即可取得此Lab的Flag。

延伸閱讀