文件上傳漏洞靶機upload-labs(1到10)


前言

項目地址:https://github.com/c0ny1/upload-labs

pass-01(前端驗證)

繞過方法:https://www.cnblogs.com/bk76120/p/12398729.html

pass-02(MIME類型過濾)

繞過方法:https://www.cnblogs.com/bk76120/p/13766912.html

pass-03(黑名單驗證)

繞過方法:https://www.cnblogs.com/bk76120/p/13766916.html

pass-04(黑名單驗證)

繞過方法1

先上傳一個.htaccess文件在上傳一個jpg文件即可。
.htaccess文件內容:AddType application/x-httpd-php .jpg 把jpg解析為PHP

利用前提
找到:LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的注釋符號#

找到Allowoverride None改為Allowoverride All
成功

經過測試PHP帶nts的都不成功,有時間好好看一下。

繞過方法2:利用PHP和Windows的特性

以下符號在正則匹配時的相等性
雙引號" = 點好.
大於號> = 問號?
小於號< = 星號*
第一次上傳文件到系統后Windows冒號特性會把冒號后的內容清空,但是不會把內容寫進文件。


第二次上傳:test.< 把內容寫進test.php

pass-05(黑名單驗證)

已經不能上傳.htaccess了

繞過方法
pass-04第二種繞過方法

pass-06(黑名單驗證)

沒有判斷大小寫

修改擴展名.php為.Php即可
成功

pass-07(黑名單驗證)

沒有去首尾空

在*.php后面加上空格即可

成功

pass-08(黑名單驗證)

沒有過濾文件末尾的.

用burpsuite抓包改文件名為:**.php.

pass-09(黑名單驗證)

什么是:$DATA以后再補充

未過濾:::$DATA

.php::$DATA為后綴的文件在windows中會被自動去掉不符規則的字符,用burpsuite上傳

pass-10(黑名單驗證)


我們看看deldot函數是怎么寫的。
刪除文件末尾的.直到文件末尾不等於.

假如我們修改文件名為:**.Php. .會經過的步驟

  1. 刪除文件末尾的.,會變成:**.Php. #注意后面已經是[空格]了
  2. 轉換為小寫:**.php. #后面還有空格
  3. 去首尾空:**.php.
  4. 上傳成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM