我找到了一個 php 代碼,它只能包含該主題的文件,但該文件包含數字。必須繞過此重新。我嘗試使用 file_put_contents 生成具有其他文件名的文件,但只有 index.html 中的代碼。PHP 可以運行。所以我認為只繞過這個重新,沒有競爭條件<?php include_once("fl2g.php"); $filename = $_GET['filename']; $filename = $_GET['content']; if(preg_match("/[^a-z\.]/", $filename) == 1) { echo "Hacker"; die(); } $files = scandir('./'); foreach($files as $file) { if(is_file($file)){ if ($file !== "index.php") { unlink($file); } } } file_put_contents($filename, $content ); ?>我希望繞過這個重新
2 回答

喵喵時光機
TA貢獻1846條經驗 獲得超7個贊
正則表達式指出:“^”匹配不在集合“az”中的任何字符。(小寫“a”到“z”,和一個句號“.”)
Preg_match() 的返回值如果為假則為 1,如果為真則為 0。
if (preg_match("\[^a-z\.]\", "abc.xyz") == 1) // would return true(?) because preg_match() returns false , but false = 1; so it returns true. i think :/
那么它似乎刪除了目錄中的所有文件?
編輯:要在文件名中添加一個數字,您可以添加這樣的內容
$filename = "001".$filename; //makes "001ZZZ"
我對 php/regex 有點生疏
- 2 回答
- 0 關注
- 205 瀏覽
添加回答
舉報
0/150
提交
取消