2014-01-06 75 views
0

我編寫了一個html腳本,其中有一個文本字段,我從用戶使用post方法接收一段php源代碼並將其保存到文本文件,之後我想搜索該文本找到這些關鍵字:無法搜索文本文件在php

「GET」,「包括」「include_once」「規定」「require_once」(沒有「」)

我想要寫一個本地文件包含漏洞的簡單掃描儀( LFI),你可以給代碼和這個程序測試它。

這裏是我的HTML腳本:

+0

任何錯誤或日誌? – BenM

+0

它無法正確搜索!但它並沒有給它只是給像一些警告任何錯誤://
注意:未定義指數:數據C:\ XAMPP \ htdocs中\ RFI-z.php在線
它可能不容易受到攻擊!
警告:FCLOSE()預計參數1是資源,在串C中給出:\ XAMPP \ htdocs中\ RFI-z.php上線
user3165410

+0

請限定'不能搜索correct'。簡單地說它不起作用是不夠的! – BenM

回答

0

除了事實,你的正則表達式是錯誤的(你逃脫$,你可能只是很容易地使用/GET/作爲/^.*GET.*$/m從我能理解你的想法)和你關閉這個文件,然後繼續使用它,在開始時上帝知道該怎麼做,你的代碼似乎工作正常。我清理了一些垃圾並運行它,它運行良好。

<?php 
$contents = "GETincludeinclude_oncerequirerequire_once"; 

$pattern = "/^.*GET.*$/m"; 
if(preg_match_all($pattern, $contents, $matches)){ 
    echo "You used GET method !\n"; 
} 
else{ 
    echo "It might not to be vulnerable !\n"; 
} 

$pattern = "/^.*include.*$/m"; 
if(preg_match_all($pattern, $contents, $matches)){ 
    echo "You used include function !\n"; 
} 
else{ 
    echo "It might not to be vulnerable !\n"; 
} 

$pattern = "/^.*include_once.*$/m"; 
if(preg_match_all($pattern, $contents, $matches)){ 
    echo "You used include_once function !\n"; 
} 
else{ 
    echo "It might not to be vulnerable !\n"; 
} 

$pattern = "/^.*require.*$/m"; 
if(preg_match_all($pattern, $contents, $matches)){ 
    echo "You used require function !\n"; 
} 
else{ 
    echo "It might not to be vulnerable !\n"; 
} 

$pattern = "/^.*require_once.*$/m"; 
if(preg_match_all($pattern, $contents, $matches)){ 
    echo "You used require_once function !\n"; 
} 
else{ 
    echo "It might not to be vulnerable !\n"; 
} 
?> 

以上代碼輸出:

You used GET method ! 
You used include function ! 
You used include_once function ! 
You used require function ! 
You used require_once function ! 
+0

感謝您的關注,但它仍然無法正常工作。例如:給這個程序:hellowhatsupman!其結果是:「您使用了GET方法!您使用了include函數!您使用了include_once函數!您使用了require函數!您使用了require_once函數!」 – user3165410

+0

我不確定你已經做了什麼來獲得這個結果,但是輸入'hellowhatsupman!'我得到了'它可能不會被攻擊!'所有的測試。 – Session

+0

這裏是我的代碼:http://s1.picofile.com/file/7482063545/Untitled.png(因爲首先我想從表單接收數據!) – user3165410