upload-labs

01

隨便上傳個文件

發現對于上傳類型有限制

查看頁面代碼發現是js的過濾直接關閉js

上傳成功

右鍵圖片在新建標簽頁打開文件

這里直接抓包改名字也行

02

抓包修改后綴名

03

發現后端做了檢測抓包修改失敗

大小寫繞過失敗,php特性php1等會被當成php執行

這里圖片的名稱已經不是我們傳遞進去的名稱了在響應里面看到

這里是因為phpstudy的http配置文件中沒有允許.php3格式所以顯示不了

04

這里和上面的差別在于沒有對我們傳入的文件名做改變

php3也被過濾了使用.htaccess

htaccess文件是Apache服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過htaccess文件,可以幫我們實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。

我們在htaccess文件中可以添加

AddHandler php5-script .jpg             使用php5-script將特定的拓展文件映射為php文件AddType application/x-httpd-php .jpg    將特定的拓展文件映射為php文件Sethandler application/x-httpd-php 將當前目錄下所有文件都映射為php文件

上傳.htaccess

05

這里沒有對我們傳入的文件進行大小寫轉換

訪問

06.

這里沒有對文件后面的空格進行處理,可以在文件后面加上空格,由于windows特性,文件名后空格會被直接刪除

07

這里沒有對文件后面的.做處理

08

這里沒有對后綴名有沒有::$DATA進行判斷,利用windows系統NTFS特征可以繞過上傳

在window的時候如果文件名+"::$DATA"會把::$DATA之后的數據當成文件流處理,不會檢測后綴名,且保持::$DATA之前的文件名,其實和空格繞過點繞過類似

09

這里對于.和空格的檢測只進行一次我們使用. .先進行.的處理再到 的處理就可以逃逸最先的.

10

這里的對于后綴名的處理和之前不一樣,這里采用將匹配到的后綴名替換為空使用雙寫繞過

11

這里使用%00截斷

利用條件

php版本小于 5.3.4
php.ini 中magic_quotes_gpc設置為off原理上傳 www.xxx.com/xxx.php%00a.jpg --> www.xxx.com/xxx.php
后面是截斷后的成果%00后面不加數據也沒關系

12.

第12和11不同在于接收方式不同,12是通過post的方式接收的

這里要對%00進行urldecode編碼

13.

制作圖片碼

14.

和上一題的差別在于通過getimagesize函數對目標的十六進制的前幾個字符串進行讀取。png的文所以這關和第十三關一樣,我們只需要用打開圖片馬,在前面加上GIF89A,保存為14.png,然后和上題一樣

15.

用了exif_imagetype() 讀取一個圖像的第一個字節并檢查其簽名和13,14關一樣。


?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214076.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214076.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214076.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

私域流量:探索營銷新紀元的高效之路

在當前的數字營銷領域,私域流量已經嶄露頭角,成為企業和品牌爭相追逐的新路徑。私域流量指的是企業或品牌通過自有渠道,如網站、APP、微信公眾號等,直接觸達的用戶流量。這種流量具有更高的自主性和可控性,對于提升營銷…

MS1242,替代ADS1242,24bit 高精度、低功耗模數轉換器

產品簡述 MS1242/MS1243 是一款高精度、寬動態范圍、 ?-Σ 模數轉 換芯片,其工作電壓為 2.7V 至 5.25V ,可以達到 24bit 無失碼轉 換,有效精度可達 21bit 。 MS1242/MS1243 可以廣泛使用在工 業控制、稱重、液體 / 氣體化學分析、血液分…

spark 寫入 hudi時數據類型報錯

報錯信息如下: Caused by: org.apache.spark.sql.execution.QueryExecutionException: Parquet column cannot be converted in file hdfs://master:9000/user/hive/warehouse/ods_ds_hudi.db/order_info/19971201/77687054-08d3-4045-9529-1ca38e7de10b-0_0-65-57…

selenium相關地址匯總

webdriver下載 Chrome瀏覽器驅動下載地址:https://chromedriver.storage.googleapis.com/index.html Edge瀏覽器驅動下載地址:https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver) 或 https://msedgewebdriverstorage.z22.web.cor…

手眼標定 - 最終精度和誤差優化心得

手眼標定 - 標定誤差優化項 一、TCP標定誤差優化1、注意標定針擺放范圍2、TCP標定時的點次態與工作姿態盡可能保持相近 二、深度相機對齊矩陣誤差1、手動計算對齊矩陣 三、手眼標定拍照姿態1、TCP標定姿態優先2、水平放置棋盤格優先 為減少最終手眼標定的誤差,可做或…

Get職場新知識:做分析,用大數據分析工具

為什么企業每天累積那么多的數據,也做數據分析,但最后決策還是靠經驗?很大程度上是因為這些數據都被以不同的指標和存儲方式放在各自的系統中,這就導致了數據的分析口徑和標準不一致,無法在同一個分析軟件上做綜合分析…

Rsync+Sersync

服務器相關參數 源服務器 192.168.17.101 目標服務器(同步到的服務器) 192.168.17.103 ##目標服務器配置 ###1、配置rsync服務 1、安裝rsync yum -y install rsync 2、配置rsync vim /etc/rsyncd.conf 配置文件內容 uid root gid root use c…

Module build failed : Error : Vue packages version mismatch:

Vue packages version mismatch: - vue2.7.15 (E:\Workspace_ce\erp\erp-web\node_modules\vue\dist\vue.runtime.common.js) - vue-template-compiler2.6.11 (E:\Workspace_ce\erp\erp-web\node_modules\vue-template-compiler\package.json) 【問題解決了,我很不…

bootstrap:選項卡功能DEMO

<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>選項卡</title> <link rel"stylesheet" type"text/css" href"/cdn.bootcss.com/bootstrap/3.3.2/css/bootstrap.min.css" />…

記一次測試環境git翻車經歷

本來想拉一個功能分支進行新的功能開發&#xff0c;合并代碼發現沒有沖突居然有文件被修改了&#xff0c;貿然選擇最近的一次回滾提交&#xff0c;沒想到不假思索的push -f 導致一部分dev主干的代碼不見了。 事故記錄 開發分支origin/dev&#xff0c;功能分支file 合并之后發…

Java 實現 文檔 添加 水印 工具類

一、pom 文件引用 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>…

MeterSphere實戰(一)

MeterSphere是一位朋友講到的測試平臺&#xff0c;說這東西是開源的&#xff0c;因為我是做測試的&#xff0c;很樂意了解一些新鮮事物。在我看來&#xff0c;測試就是要專注一些領域&#xff0c;然后要啥都會一點點&#xff0c;接著融會貫通起來&#xff0c;這樣就可以萬變不離…

C語言--不使用庫函數,把一個數字轉為字符串【詳細解釋】

一.題目描述 輸入一個數字&#xff0c;把他轉為字符串 比如&#xff1a;輸入數字&#xff1a;12345 輸出&#xff1a;12345&#xff08;這里的12345是字符串12345&#xff09; 二.思路分析 比如給定一個數字12345&#xff0c;先把它轉為字符54321&#xff08;“54321”&#…

線程互斥與同步

用戶級線程 內核的LWP Linux線程 OS概念中經常說的 用戶級線程 和 內核級線程 也就是線程實現真的是在OS內部實現&#xff0c;還是應用層或用戶層實現 很明顯Linux是屬于用戶級線程 用戶級執行流&#xff08;用戶級線程&#xff09; &#xff1a;內核lwp 1 : 1 也有1&…

驍龍8 Gen 3 vs A17 Pro

驍龍8 Gen 3 vs A17 Pro——誰會更勝一籌&#xff1f; Geekbench、AnTuTu 和 3DMark 等基準測試在智能手機領域發揮著至關重要的作用。它們為制造商和手機愛好者提供了設備性能的客觀衡量標準。這些測試有助于評估難以測量的無形方面。然而&#xff0c;值得注意的是&#xff0c…

騷操作:NanoDrop測蛋白濃度

?大家好&#xff0c;最近實驗室的BCA儀器壞了&#xff0c;偶然發現nanodrop也可以測蛋白濃度&#xff0c;省不少時間&#xff01;本方法原理是&#xff1a;紫外吸收 友情提示&#xff1a;由于表格的存在&#xff0c;用電腦看本推文&#xff0c;效果更好 紫外吸收法 較為靈…

31條PCB設計布線技巧:

大家在做PCB設計時&#xff0c;都會發現布線這個環節必不可少&#xff0c;而且布線的合理性&#xff0c;也決定了PCB的美觀度和其生產成本的高低&#xff0c;同時還能體現出電路性能和散熱性能的好壞&#xff0c;以及是否可以讓器件的性能達到最優等。 本篇內容&#xff0c;將…

分布式鎖實現方案 - Lock4j 使用

一、Lock4j 分布式鎖工具 你是不是在使用分布式鎖的時候&#xff0c;還在自己用 AOP 封裝框架&#xff1f;那么 Lock4j 你可以考慮一下。 Lock4j 是一個分布式鎖組件&#xff0c;其提供了多種不同的支持以滿足不同性能和環境的需求。 立志打造一個簡單但富有內涵的分布式鎖組…

Redis分布式緩存超詳細總結!

文章目錄 前言一、Redis持久化解決數據丟失問題1.RDB&#xff08;Redis Database Backup file&#xff09;持久化&#xff08;1&#xff09;執行RDB&#xff08;2&#xff09;RDB方式bgsave的基本流程&#xff08;3&#xff09;RDB會在什么時候執行&#xff1f;save 60 1000代表…

VBA信息獲取與處理:在EXCEL中隨機函數的利用

《VBA信息獲取與處理》教程(版權10178984)是我推出第六套教程&#xff0c;目前已經是第一版修訂了。這套教程定位于最高級&#xff0c;是學完初級&#xff0c;中級后的教程。這部教程給大家講解的內容有&#xff1a;跨應用程序信息獲得、隨機信息的利用、電子郵件的發送、VBA互…