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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

WeChall_PHP-Local File Inclusion(LFI)

發布時間:2023/12/31 php 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WeChall_PHP-Local File Inclusion(LFI) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP - Local File Inclusion(LFI)

題目:


中文翻譯如下:

核心代碼:
$filename = 'pages/'.(isset($_GET["file"])?$_GET["file"]:"welcome").'.html'; include $filename;
代碼詳解:
  • 當要 判斷一個變量是否已經聲明的時候 可以使用 isset 函數
  • 判斷表達式是否成立?表達式1:表達式2(三目運算符)
    如果條件成立,執行表達式1,否則執行表達式2
  • include:運行指定文件

從以上代碼中看出,我們每次輸入的文件名都會在最后加上.html,我們需要刪除.html,在php<5.3.4版本之前,是存在00截斷漏洞的,因此我們可以嘗試使用00截斷

%00截斷介紹:
%00截斷,例如1.php%00.txt,白名單在測試時會直接將這個帶入,判斷后綴名(因為此時1.php%00.txt是一個字符串整體),但執行該代碼時,會自動截斷%00后面的內容,只要記住會刪除包括%00及后面的所有內容
解題過程:
  • 首先題目提到,需要執行solution.php,那么我們直接訪問試試看呢

    (中文釋義:您不能直接執行此腳本。請在up/index.php中使用LFI vuln包含它。)

  • 這是最簡單的本地文件包含,這里不能直接在lfi目錄下執行solution.php,需要使用到../,看到下方有文件包含,因此,我們先在題目中選擇一個進去看看

    如下圖:

  • 我們在url中再來試試下面的測試

http://www.wechall.net/challenge/training/php/lfi/up/index.php?file=solution.php


(中文釋義:
PHP警告(2):include(pages / solution.php.html):無法打開流:/ home / wechall / www / wc5 / www / challenge / training / php / lfi / up / index中沒有這樣的文件或目錄 .php(54):eval()‘代碼 行 1
PHP警告(2):include():無法在/ home / wechall / www / wc5 / www / challenge中打開’pages / solution.php.html’以包含(include_path =’。:/ usr / share / php’) /training/php/lfi/up/index.php(54):eval()'d代碼 行 1)

  • 看到這個顯示up中沒有中沒有solution.php.html,猜想可能是html的問題,于是我們使用00截斷
http://www.wechall.net/challenge/training/php/lfi/up/index.php?file=solution.php%00

結果如下圖:

  • 這回是刪除了,但是還是沒有顯示,于是我們返回上面幾層目錄看看

    根據這個我們才看出,solution.php是在lfi目錄下,因此,我們使用…/來訪問(注:這里直接使用http://www.wechall.net/challenge/training/php/lfi/solution.php是不行的,他強制要求你使用本次文件包含)
  • 最后在http://www.wechall.net/challenge/training/php/lfi/up/index.php?file=solution.php%00中重新構造url,構造時需要注意,solution.php在lfi目錄下,但他代碼在執行中會增加一個pages目錄,本來我們使用下面這個構造就可以
http://www.wechall.net/challenge/training/php/lfi/up/index.php?file=../solution.php%00

但執行后卻是下圖所示這時(注:它這時的目錄為http://www.wechall.net/challenge/training/php/lfi/up/index.php?file=pages/../solution.php%00):

多了一個pages目錄,我們需要到達lfi目錄就需要使用兩個../,第一個../跳出pages,第二個../跳出up到達lfi。最后,構造的url為

www.wechall.net/challenge/training/php/lfi/up/index.php?file=../../solution.php%00

執行結果為:

成功完成LFI

總結

以上是生活随笔為你收集整理的WeChall_PHP-Local File Inclusion(LFI)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。