web
最编程
2024-07-31 17:37:12
...
<?php highlight_file(__FILE__); error_reporting(0); if(isset($_GET['v1']) && isset($_GET['v2'])){ $v1 = $_GET['v1']; $v2 = $_GET['v2']; if(preg_match('/[a-zA-Z]+/', $v1) && preg_match('/[a-zA-Z]+/', $v2)){ eval("echo new $v1($v2());"); } }
#但是这道题没给类所以要使用内置类
#死记硬背 有个mysqli内置类 用于mysql连接的 需要传递很多参数用于连接数据库 如果这时传递一个函数作为参数 也会执行 比如phpinfo这个页面还在加载也就是还在连接数据库中 显然他肯定连接不上
既然能执行phpinfo 那肯定就能执行system('ls')
知识点system('ls')()()多几个括号不报错
知识点题外话 php可能有很多内置类 在phpinfo中是可以看到的
exception类也如此 这东西就是死记硬背简单理解就行 记住这个类实例化时传入函数可以被执行 前提是实例化的对象被echo输出
小知识 echo phpinfo() 会输出php信息 不使用echo也可以输出php信息
echo system('ipconfig'); 也是一个道理 不使用echo也是可以将结果输出到页面来
但是字符串必须要echo才能输出到页面来因为出发了tostring 有return的返回值 使用echo输出
这道题弄了将近两个点 很多很多基础知识都是很基础的
推荐阅读
-
openSSL 生成 WEB SSL 证书
-
Web Hid Api 浏览器读取 IC 卡号 Js 源代码,无需插件支持
-
Flask 轻松入门:从零开始构建自己的 Web 应用程序 - 扩展讨论
-
java web 监听器的三个组件
-
Chainbase:链式原生 Web3 人工智能基础设施
-
发现 Java Web 开发的魅力:从入门到精通的旅程
-
[一站式教学 YOLOV8标注数据集一键训练_70+全套改进创新成果发布_Web前端展示]
-
Hadoop]更改 core-site.xml 和 hdfs-site.xml 配置即可访问 Web UI
-
第 3 期 Notes | Web 安全基础知识:Web 1.0 - 3.0 发展史
-
农机检测系统源码共享--【一站式教学 YOLOV8标注数据集一键训练_70+全套改进创新点发布_Web前端展示