文件包含——概念(一)
本章目的
普及文件包含漏洞的原理以及常規文件包含漏洞
基礎概念
文件包含
原理
文件包含漏洞產生的原因是在通過PHP函數引入文件時,由于傳入的文件名沒有經過合理的校驗,從而操作了預想之外的文件,就可能導致意外的文件泄露甚至惡意的代碼注入。幾乎所有的腳本語言都會提供文件包含的功能,但文件包含漏洞在PHPWebApplication中居多,而在JSP、ASP、ASP.NET程序中卻非常少,這是有些語言設計的醉端。在PHP中經常出現文件包含漏洞,但并不意味著其他語言不存在。
利用條件
(1)include等函數通過動態執行變量的方式引入需要包含的文件
(2)用戶能控制該動態變量
PHP文件包含
文件包含函數
include():找不到被包含文件時會產生警告(E_WARNING);
include_once():與include()類似,代碼已經被包含則不會再次包含
require():找不到被包含的文件時會產生致命錯誤(E COMPILE ERROR)
require_once():與require()類似,代碼已經被包含則不會再次包含
文件包含分類
文件包含漏洞可以分為LFI(Local File Inclusion,本地文件包含)和RFI(Remote File Inclusion,遠程文件包含)兩種。而區分二者最簡單的辦法就是通過查看php.ini中是否開啟了allow_url _include。如果開啟就有可能包含遠程文件。遠程文件包含需要php.iniallow_url_include=on,allow_url_fopen=On。在php.ini中,allow_url_fopen默認一直是On,
而allow_url_include從php5.2之后就默認為Off。
文件包含漏洞利用
讀取敏感文件(win)
http://127.0.0.1/include/03/index.php?page=C:\windows-version.txt
Vindows系統敏感信息:
C:\boot.ini
/查看系統版本
C:\windows\system32\inetsrv\MetaBase.xml
/IS配置文件
C:\windows\repair\sam
/windows初次安裝的密碼
C:\program Files\mysql\my.ini
/Mysql配置信息
C:\program Files\mysql\data\mysql\user.MYD
//Mysql root
C:\windows\php.ini
/php配置信息
Linux系統敏感信息:
/etc/passwd
/linux用戶信息
/usr/local/app/apache2/conf/httpd.conf
/apache2配置文件
/usr/local/app/php5/lib/php.ini
/php配置文件
/etc/httpd/conf/httpd.conf
/apache配置文件
/etc/my.cnf
/Mysql配置文件
包含日志文件
找到Apache路徑,利用包含漏洞包含日志文件獲取Webshell。
Apache兩個日志文件:access.log、error.log
很多時候,web服務器會將請求寫入到日志文件中,比如說apache。在用戶發起請求時,會
將請求寫入access.log,當發生錯誤時將錯誤寫入error.log。
日志默認路徑
Apache
/etc/httpd/logs/access_log/或var/log/httpd/access log
Apache+Windows日志默認路徑
XAMPP套件:xampp\apache\logs/access.log
phpStudy套件:phpStudy\Apache\logs/access.log
日志默認路徑
IIS
C:WINDOWS\system32\Logfiles
IS7默認日志文件位置
%SystemDrive%\inetpub\logs\LogFiles
Nginx
nginx日志文件在用戶安裝目錄的logs目錄下如安裝目錄為/usr/local/nginx,則日志目錄就是在/usr/local/nginx/Iogs里也可通過其配置文件nginx.conf,獲取到日志的存在路徑(/opt/nginx/logs/access.log)
session簡介:cookie存在客戶端,session存在服務端,cookie一般用來保存用戶的賬戶密碼,session一般用來跟蹤會話。
利用場景;
一般存在登陸點位置注冊用戶
使用PHP封裝偽協議
PHP有很多內置URL風格的封裝協議,這類協議與fopen()、copy()、file_exists()和filesize()的文件系統函數所提供的功能類似。
總結
以上是生活随笔為你收集整理的文件包含——概念(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Upload-labs闯关
- 下一篇: 图片加马(一句话木马)