3、DVWA:FILE UPLOAD

3、FILE UPLOAD
(1)LOW在這裏插入圖片描述1、這段代碼的核心就是驗證是否有接收文件**($_POST[‘Upload’])然後組合文件根路徑成爲target_path就是目標路徑。
$target_path = DVWA_WEB_PAGE_TO_ROOT.“hackable/uploads/”;
(上面的作用:DVWA_WEB_PAGE_TO_ROOT=D:\phpstudy\WWW\DVWA
$target_path=D:\phpstudy\WWW\DVWA/hackable/uploads/)
targetpath=targetpath.basename(target_path = target_path .basename(_FILES[‘uploaded’][‘name’]);(即在)
因此最終你上傳的文件的最終路徑爲:路徑後面添加文件名,形成完整路徑
KaTeX parse error: Undefined control sequence: \phpstudy at position 15: target_path=D:\̲p̲h̲p̲s̲t̲u̲d̲y̲\WWW\DVWA/hacka…_FILES[ ‘uploaded’ ][ ‘name’ ] //文件原始名稱
3、$_FILES[ ‘uploaded’ ][ ‘tmp_name’ ], //文件臨時路徑
4、
在這裏插入圖片描述
結果上傳個文件成功
在這裏插入圖片描述
2、medium

我們看到中等級就相對嚴密了很多,它對文件的類型和大小做了明確的限制。
在這裏插入圖片描述
( uploaded_type == “image/jpeg” || uploaded_type == “image/png” ) &&
( $uploaded_size < 100000 )
限定了格式爲image/jpeg或是png 大小小於100000字節的文件才能上傳,而這個問題我們抓包就可以解決。


作者:Hackpatrick
來源:CSDN
原文:https://blog.csdn.net/qq_37757008/article/details/81408567
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!
更改:
因爲大部分的木馬文件都比較小。故更改下文件類型即可。通過burpsuite抓包,默認type類型是application/octer-stream 。我們將其類型改爲 image/jpeg ,然後go上傳,可以看到,已經上傳成功!
在這裏插入圖片描述
結果:
在這裏插入圖片描述

(3)HIGH在這裏插入圖片描述
(1) strrpos(string , find ,start) 查找find字符在string字符中的最後一次出現的位置,start參數可選,表示指定從哪裏開始
(2) substr(string,start,length) 返回string字符中從start開始的字符串,length參數可選,表示返回字符的長度
(3) strtolower(string) 返回給定字符串的小寫
(4) getimagesize(string) :函數將測定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 圖像文件的大小並返回圖像的尺寸以及文件類型和一個可以用於普通 HTML 文件中 IMG 標記中的 height/width 文本字符串。如果不能訪問 filename 指定的圖像或者其不是有效的圖像,getimagesize() 將返回 FALSE 併產生一條 E_WARNING級的錯誤。所以 getimagesize函數的作用是判斷上傳的文件是不是有效的圖片
(5)move_uploaded_file(file,newlocal) 函數表示把給定的文件移動到新的位置
所以 $uploaded_ext 表示的是上傳文件的後綴名 ,這裏限制上傳的文件的後綴名必須以 jpg 、jpeg 或 png 結尾,同時大小<100000,同時上傳的文件必須是有效的圖片格式(不只是以圖片的格式結尾,而且文件內容是圖片格式的)。
---------------------

原文:https://blog.csdn.net/qq_36119192/article/details/82904642

(($uploaded_ext = substr( $uploaded_name, strrpos( $uploaded_name, ‘.’) + 1); //其實他是防範iis 6.0文件解析漏洞的,有時我們爲了繞過限制會提交這樣形式的文件:Xx.asp;.xx.jpg xx.jpg
而這句話的作用就是說它會驗證文件的最後一個點之後的格式上面的例子來說就是不管你前面寫了多少,我只驗證最後的 ’.jpg’

因此:我們要把文件名改爲123.jpg
內容如下:

<?php @eval($_POST['xie']); ?>

因爲要檢查其內容所以要在內容前加上PHP專有

發佈了70 篇原創文章 · 獲贊 5 · 訪問量 7062
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章