当前位置: 首页> 汽车> 时评 > 展览制作设计公司_全球只剩下朝鲜0确诊_厦门人才网个人登录_卖网站链接

展览制作设计公司_全球只剩下朝鲜0确诊_厦门人才网个人登录_卖网站链接

时间:2025/8/6 0:33:16来源:https://blog.csdn.net/2401_86190146/article/details/145511164 浏览次数: 0次
展览制作设计公司_全球只剩下朝鲜0确诊_厦门人才网个人登录_卖网站链接

开幕雷击:

听不懂思密达

 抓个包看看

发现传入一个函数

func=date&p=Y-m-d+h%3Ai%3As+a

p 通常作为参数的值传递给前面指定的函数,将其url解码后得到 Y-m-d h:i:s a,这是 date() 函数中用于指定日期和时间格式的字符串 

  • Y:表示四位数的年份,例如 2025
  • m:表示两位数的月份,范围从 01 到 12
  • d:表示两位数的日期,范围从 01 到 31
  • h:表示 12 小时制的小时数,范围从 01 到 12
  • i:表示分钟数,范围从 00 到 59
  • s:表示秒数,范围从 00 到 59
  • a:表示上午或下午,值为 am 或 pm

尝试着这么构造,发现不行 

输入

func=highlight_file&p=index.php 

 这样就能看见源代码了

另一种读取源代码方式:file_get_content()

 

<!DOCTYPE html>
<html>
<head><title>phpweb</title><style type="text/css">body {background: url("bg.jpg") no-repeat;background-size: 100%;}p {color: white;}</style>
</head><body>
<script language=javascript>setTimeout("document.form1.submit()",5000)
</script>
<p><?php$disable_fun = array("exec","shell_exec","system","passthru","proc_open","show_source","phpinfo","popen","dl","eval","proc_terminate","touch","escapeshellcmd","escapeshellarg","assert","substr_replace","call_user_func_array","call_user_func","array_filter", "array_walk",  "array_map","registregister_shutdown_function","register_tick_function","filter_var", "filter_var_array", "uasort", "uksort", "array_reduce","array_walk", "array_walk_recursive","pcntl_exec","fopen","fwrite","file_put_contents");function gettime($func, $p) {$result = call_user_func($func, $p);$a= gettype($result);if ($a == "string") {return $result;} else {return "";}}class Test {var $p = "Y-m-d h:i:s a";var $func = "date";function __destruct() {if ($this->func != "") {echo gettime($this->func, $this->p);}}}$func = $_REQUEST["func"];$p = $_REQUEST["p"];if ($func != null) {$func = strtolower($func);if (!in_array($func,$disable_fun)) {echo gettime($func, $p);}else {die("Hacker...");}}?>
</p>
<form  id=form1 name=form1 action="index.php" method=post><input type=hidden id=func name=func value='date'><input type=hidden id=p name=p value='Y-m-d h:i:s a'>
</body>
</html>

call_user_func() 函数允许你将函数名作为一个字符串传递给该函数,并可以向被调用的函数传递参数。

利用反序列化漏洞,既然可以执行任何函数,那么就可以执行unserialize()

然后就能遍历目录,但是没有flag 

查看根目录:

还是没有

用find搜索:

find / -name flag*

 发现有flag

使用cat命令

拿到flag 

 

 

关键字:展览制作设计公司_全球只剩下朝鲜0确诊_厦门人才网个人登录_卖网站链接

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: