欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
任意(不安全)文件下載和上傳

文章目錄

  • 一、任意文件下載
  • 1)漏洞介紹
  • 2)利用方式
  • ##舉例:
  • 3)漏洞修復
  • 二、 任意文件上傳
  • 1)概述
  • 2)測試流程
  • 3)實(shí)戰測試
  • 3.1 客戶(hù)端檢測繞過(guò)(javascript 檢測)
  • 3.2服務(wù)端驗證繞過(guò) (MIME 類(lèi)型檢測)
  • 4)代碼注入繞過(guò)--getimagesize()
  • 5)路徑/擴展名繞過(guò)
  • 5.1 白名單
  • 5.2 黑名單
  • 6)中間件解析漏洞繞過(guò)
  • 7)安全防范

一、任意文件下載

1)漏洞介紹

** 一些網(wǎng)站由于業(yè)務(wù)需求,往往需要提供文件查看或文件下載功能,但若對用戶(hù)查看或下載的文件不做限制,則惡意用戶(hù)就能夠查看或下載任意敏感文件,這就是文件查看與下載漏洞。**

2)利用方式

一般鏈接形式:download.php?path=down.php?file=data.php?file=download.php?filename=或者包含參數:&Src=&Inputfile=&Filepath=&Path=&Data=**//當我們?yōu)g覽網(wǎng)頁(yè)時(shí),經(jīng)常見(jiàn)到此類(lèi)鏈接形式和參數,可能就存在漏洞**

2.1當遇到一個(gè)任意文件下載時(shí),我們的一般利用思路:
1)下載常規的配置文件,例如: ssh,weblogic,ftp,mysql等相關(guān)配置

2)下載各種.log文件,從中尋找一些后臺地址,文件上傳點(diǎn)之類(lèi)的地方,如果運氣好的話(huà)會(huì )獲得一些前輩們的后門(mén)。

3)下載web業(yè)務(wù)文件進(jìn)行白盒審計,利用漏洞進(jìn)一步攻入服務(wù)器。
嘗試讀取/root/.bash_history看自己是否具有root權限。如果沒(méi)有的話(huà)。我們只能按部就班的利用…/來(lái)回跳轉讀取一些.ssh下的配置信息文件,讀取mysql下的.bash_history文件。來(lái)查看是否記錄了一些可以利用的相關(guān)信息。然后逐個(gè)下載我們需要審計的代碼文件,但是下載的時(shí)候變得很繁瑣,我們只能?chē)L試去猜解目錄,然后下載一些中間件的記錄日志進(jìn)行分析。

2.2如果我們遇到的是java+oracle環(huán)境:
可以先下載/WEB-INF/classes/applicationContext.xml 文件,這里面記載的是web服務(wù)器的相應配置,然后下載/WEB-INF/classes/xxx/xxx/ccc.class對文件進(jìn)行反編譯,然后搜索文件中的upload關(guān)鍵字看是否存在一些api接口,如果存在的話(huà)我們可以本地構造上傳頁(yè)面用api接口將我們的文件傳輸進(jìn)服務(wù)器

2.3如果具有root權限:
在linux中有這樣一個(gè)命令 locate 是用來(lái)查找文件或目錄的,它不搜索具體目錄,而是搜索一個(gè)數據庫/var/lib/mlocate/mlocate.db。這個(gè)數據庫中含有本地所有文件信息。Linux系統自動(dòng)創(chuàng )建這個(gè)數據庫,并且每天自動(dòng)更新一次。當我們不知道路徑是什么的情況下,這個(gè)可以說(shuō)是一個(gè)核武器了,我們利用任意文件下載漏洞mlocate.db文件下載下來(lái),利用locate命令將數據輸出成文件,這里面包含了全部的文件路徑信息。

locate 讀取方法: locate mlocate.db admin //可以將mlocate.db中包含admin文件名的內容全部輸出來(lái)

(4)常見(jiàn)利用文件
/root/.ssh/authorized_keys //公鑰存放路徑
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts //記錄每個(gè)訪(fǎng)問(wèn)計算機用戶(hù)的公鑰
/etc/passwd //用戶(hù)名存放文件
/etc/shadow //密碼存放文件
/etc/my.cnf //mysql配置文件
/etc/httpd/conf/httpd.conf //apache配置文件
/root/.bash_history //用戶(hù)歷史命令記錄文件
/root/.mysql_history //mysql歷史命令記錄文件
/proc/mounts //記錄系統掛載設備
/porc/config.gz //內核配置文件
/var/lib/mlocate/mlocate.db //全文件路徑
/porc/self/cmdline //當前進(jìn)程的cmdline參數

##舉例:


復制文字圖片鏈接,粘貼到網(wǎng)址欄,可以看到在最后有下載路徑和文件名稱(chēng),這時(shí)可以在“=”后面,使用“…/…/”返回到指定上級路徑,進(jìn)行敏感文件的下載。


在這里,我們返回到了pikachu的根目錄,在根目錄下下載了index.php這個(gè)頁(yè)面的源碼文件。

3)漏洞修復

(1)過(guò)濾".",使用戶(hù)在url中不能回溯上級目錄
(2)正則嚴格判斷用戶(hù)輸入參數的格式
(3)php.ini配置open_basedir限定文件訪(fǎng)問(wèn)范圍

我們打開(kāi)pikachu的下載配置文件:

<?php$PIKA_ROOT_DIR =  "../../";include_once $PIKA_ROOT_DIR."inc/function.php";header("Content-type:text/html;charset=utf-8");// $file_name="cookie.jpg";$file_path="download/{$_GET['filename']}"; //這里?。?!//用以解決中文不能顯示出來(lái)的問(wèn)題 $file_path=iconv("utf-8","gb2312",$file_path);//首先要判斷給定的文件存在與否if(!file_exists($file_path)){    skip("你要下載的文件不存在,請重新下載", 'unsafe_down.php');    return ;}$fp=fopen($file_path,"rb");$file_size=filesize($file_path);//下載文件需要用到的頭ob_clean();//輸出前一定要clean一下,否則圖片打不開(kāi)Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length:".$file_size);Header("Content-Disposition: attachment; filename=".basename($file_path));$buffer=1024;$file_count=0;//向瀏覽器返回數據//循環(huán)讀取文件流,然后返回到瀏覽器feof確認是否到EOFwhile(!feof($fp) && $file_count<$file_size){    $file_con=fread($fp,$buffer);    $file_count+=$buffer;    echo $file_con;}fclose($fp);?>

仔細看,在GET這個(gè)參數沒(méi)有定義filename的匹配規則,同時(shí),filename可以設定為絕對路徑,這樣就只能在指定目錄文件中進(jìn)行下載。

二、 任意文件上傳

1)概述

** 大多數網(wǎng)站都有文件上傳的接口,但如果在后臺開(kāi)發(fā)時(shí)并沒(méi)有對上傳的文件進(jìn)行安全考慮或采用了有缺陷的措施,導致攻擊者可以通過(guò)一些手段繞過(guò)安全措施從而上傳一些惡意文件,從而通過(guò)該惡意文件的訪(fǎng)問(wèn)來(lái)控制整個(gè)后臺

2)測試流程

3)實(shí)戰測試

3.1 客戶(hù)端檢測繞過(guò)(javascript 檢測)

首先觀(guān)察到提示只允許上傳圖片文件,那么前端的查看代碼,當頁(yè)面發(fā)生改變時(shí),會(huì )調用這個(gè)checkFileExt函數來(lái)檢查上傳的是不是圖片,我們只需要在前端將checkFileExt函數刪除,就能上傳一個(gè)一個(gè)非圖片文件。

3.2服務(wù)端驗證繞過(guò) (MIME 類(lèi)型檢測)

MIME(Multipurpose Internet Mail Extensions)多用途互聯(lián)網(wǎng)郵件擴展類(lèi)型。是設定某種擴展名的文件用一種應用程序來(lái)打開(kāi)的方式類(lèi)型,當該擴展名文件被訪(fǎng)問(wèn)的時(shí)候,瀏覽器會(huì )自動(dòng)使用指定應用程序來(lái)打開(kāi)。多用于指定一些客戶(hù)端自定義的文件名,以及一些媒體文件打開(kāi)方式。

每個(gè)MIME類(lèi)型由兩部分組成,前面是數據的大類(lèi)別,例如聲音audio、圖象image等,后面定義具體的種類(lèi)。

常見(jiàn)的MIME類(lèi)型(通用型):
超文本標記語(yǔ)言文本 .html text/html
xml文檔 .xml text/xml
XHTML文檔 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文檔 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG圖像 .png image/png
GIF圖形 .gif image/gif
JPEG圖形 .jpeg,.jpg image/jpeg
au聲音文件 .au audio/basic
MIDI音樂(lè )文件 mid,.midi audio/midi,audio/x-midi
RealAudio音樂(lè )文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
任意的二進(jìn)制數據 application/octet-stream

通過(guò)使用 PHP 的全局數組 $_FILES,你可以從客戶(hù)計算機向遠程服務(wù)器上傳文件。
第一個(gè)參數是表單的 input name,第二個(gè)下標可以是 “name”, “type”, “size”, “tmp_name” 或 “error”。就像這樣:
$_FILES[“file”][“name”] - 被上傳文件的名稱(chēng)
$_FILES[“file”][“type”] - 被上傳文件的類(lèi)型
$_FILES[“file”][“size”] - 被上傳文件的大小,以字節計
$_FILES[“file”][“tmp_name”] - 存儲在服務(wù)器的文件的臨時(shí)副本的名稱(chēng)
$_FILES[“file”][“error”] - 由文件上傳導致的錯誤代碼

詳細可參考:http://www.w3school.com.cn/php/php_file_upload.asp

分析代碼邏輯:首先會(huì )獲取到前端的提交請求,然后定義了一個(gè)數組(定義圖片上傳指定類(lèi)型),然后通過(guò)upload_sick函數對上傳的文件進(jìn)行一定的檢查。

分析upload_sick函數(定義在uploadfunction.php文件里面)存在漏洞的的原因是因為 $ _FILES() 這個(gè)全局的方法是通過(guò)瀏覽器http頭去獲取的content-type,content-type是前端用戶(hù)可以控制的。容易被繞過(guò)。

上傳一張正常的符合標準的圖片,對其content-type進(jìn)行抓包操作??梢?jiàn)正常上傳符合要求的圖片中數據包中content-type為image/png對比符合條件,而php文件則不符合條件返回文件類(lèi)型錯誤。

4)代碼注入繞過(guò)–getimagesize()

getimagesize() 函數用于獲取圖像大小及相關(guān)信息,成功返回一個(gè)數組,失敗則返回 FALSE 并產(chǎn)生一條 E_WARNING 級的錯誤信息,如果用這個(gè)涵數來(lái)獲取類(lèi)型,從而判斷是否是圖片的話(huà),會(huì )存在問(wèn)題。

語(yǔ)法格式:
array getimagesize ( string KaTeX parse error: Expected 'EOF', got '&' at position 19: …ename [, array &?imageinfo ] )

getimagesize() 函數將測定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 圖像文件的大小并返回圖像的尺寸以及文件類(lèi)型及圖片高度與寬度。

文件包含漏洞之文件上傳漏洞利用
方法一:直接偽造頭部GIF89A
方法二:CMD方法,copy /b test.png+1.php muma.png
https://blog.csdn.net/Ro_kin/article/details/75578711
方法三:直接使用工具增加備注寫(xiě)入一句話(huà)木馬。

5)路徑/擴展名繞過(guò)

5.1 白名單

0x00截斷或test.asp%00.jpg
MIME繞過(guò)https://blog.csdn.net/weixin_43915842/article/details/90111207

5.2 黑名單

(1)文件名大小寫(xiě)繞過(guò)

(2)名單繞過(guò)
用黑名單里沒(méi)有的名單進(jìn)行攻擊,比如黑名單里沒(méi)有.php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf|.htaccess后綴文件之類(lèi)
.
(3)特殊文件名或文件夾繞過(guò)(windows)
還有比如發(fā)送的http 包里把文件名改成test.asp. 或test.asp_(下劃線(xiàn)為空格),這種命名方式在windows 系統里是不被允許的,所以需要在burp 之類(lèi)里進(jìn)行修改,然后繞過(guò)驗證后,會(huì )被windows 系統自動(dòng)去掉后面的點(diǎn)和空格,但要注意Unix/Linux 系統沒(méi)有這個(gè)特性。

(4)0x00截斷
name = getname(http request) //假如這時(shí)候獲取到的文件名是test.asp .jpg(asp 后面為0x00)
type = gettype(name) //而在gettype()函數里處理方式是從后往前掃描擴展名,所以判斷為jpg
if (type == jpg)
SaveFileToPath(UploadPath.name, name) //但在這里卻是以0x00 作為文件名截斷
//最后以test.asp 存入路徑里

(5)把文件名改成test.asp. 或test.asp_(下劃線(xiàn)為空格),這種命名方式在windows 系統里是不被允許的,所以需要在burp 之類(lèi)里進(jìn)行修改,然后繞過(guò)驗證后,會(huì )被windows 系統自動(dòng)去掉后面的點(diǎn)和空格,但要注意Unix/Linux 系統沒(méi)有這個(gè)特性。

(6)雙后綴名繞過(guò)

(7):: D A T A 繞 過(guò) 是 W i n d o w s 下 N T F S 文 件 系 統 的 一 個(gè) 特 性 , 即 N T F S 文 件 系 統 的 存 儲 數 據 流 的 一 個(gè) 屬 性 D A T A 時(shí) , 就 是 請 求 a . a s p 本 身 的 數 據 , 如 果 a . a s p 還 包 含 了 其 他 的 數 據 流 , 比 如 a . a s p : l a k e 2. a s p , 請 求 a . a s p : l a k e 2. a s p : : DATA繞過(guò) 是Windows下NTFS文件系統的一個(gè)特性,即NTFS文件系統的存儲數據流的一個(gè)屬性 DATA 時(shí),就是請求 a.asp 本身的數據,如果a.asp 還包含了其他的數據流,比如 a.asp:lake2.asp,請求 a.asp:lake2.asp:: DATA繞過(guò)是Windows下NTFS文件系統的一個(gè)特性,即NTFS文件系統的存儲數據流的一個(gè)屬性DATA時(shí),就是請求a.asp本身的數據,如果a.asp還包含了其他的數據流,比如a.asp:lake2.asp,請求a.asp:lake2.asp::DATA,則是請求a.asp中的流數據lake2.asp的流數據內容。

6)中間件解析漏洞繞過(guò)

IIS解析漏洞
Apache解析漏洞
.htaccess

配置文件LoadModule rewrite_module modules/mod_rewrite.so前的注釋去掉,尋找關(guān)鍵詞:AllowOverride,并把后面的參數從None全部改成All

Nginx解析漏洞
.htaccess文件解析
本地文件包含解析

7)安全防范

針對文件上傳漏洞的特點(diǎn)和必須具備的三個(gè)條件,我們阻斷任何一個(gè)條件就可以達到組織文件上傳攻擊的目的:
1、最有效的,將文件上傳目錄直接設置為不可執行,對于Linux而言,撤銷(xiāo)其目錄的’x’權限;實(shí)際中很多大型網(wǎng)站的上傳應用都會(huì )放置在獨立的存儲上作為靜態(tài)文件處理,一是方便使用緩存加速降低能耗,二是杜絕了腳本執行的可能性;

2、文件類(lèi)型檢查:強烈推薦白名單方式,結合MIME Type、后綴檢查等方式(即只允許允許的文件類(lèi)型進(jìn)行上傳);此外對于圖片的處理可以使用壓縮函數或resize函數,處理圖片的同時(shí)破壞其包含的HTML代碼;

3、使用隨機數改寫(xiě)文件名和文件路徑,使得用戶(hù)不能輕易訪(fǎng)問(wèn)自己上傳的文件;

4、單獨設置文件服務(wù)器的域名;

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
上傳漏洞總結 | Joy
文件上傳總結
文件上傳解析漏洞
學(xué)習PHP中Fileinfo擴展的使用
WEB常見(jiàn)漏洞之文件上傳(基礎原理篇)
文件上傳漏洞 學(xué)習筆記
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久