upload-labs16(二次渲染)

題目
在這裏插入圖片描述
以gif格式爲例上傳
首先,查看gif部分源碼
在這裏插入圖片描述
此處紅線標記處,存在邏輯漏洞,
原本該代碼是判斷文件是否符合上傳的,
但是在move_uploaded_file()作if條件,
該函數執行返回true時,不管文件是否符合都可以上傳了。
不過本題真正想考的是對文件二次渲染繞過,
所以我們就忽視這個邏輯漏洞,繼續做題。

我們製作一張圖片馬進行上傳
在這裏插入圖片描述
上傳文件後,發現網頁本地目錄中存在二次渲染後的圖片
在這裏插入圖片描述
我們用HxD軟件打開該二次渲染後的圖片會發現我們插入的代碼<?php phpinfo(); ?>已經消失了
在這裏插入圖片描述

顯然,這樣的圖片馬上傳方式失敗了。
不過二次渲染會保留一些文件內容不會改變,所以在製作圖片馬之前,我們先觀察二次渲染前後圖片不會改變的地方,將其代碼寫入其中即可繞過二次渲染
在這裏插入圖片描述
經對比,藍色部分是二次渲染不會改變的部分。
於是,將代碼寫入
在這裏插入圖片描述
然後保存,重新進行上傳。
在本地網頁根目錄中可以看到22279.gif

在這裏插入圖片描述
再用HxD軟件打開
在這裏插入圖片描述
代碼依然存在,沒有被二次渲染掉。
文件繞過成功!

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