我找到了一个 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 关注
- 165 浏览
添加回答
举报
0/150
提交
取消