CTF-WEB:PHP 反序列化
目录序列化与反序列化magic 方法serialize 和 unserialize 函数访问控制修饰符绕过 __wakeup()例题:bugku-flag.php例题:JMU PHP 反序列化例题:bugku-welcome to bugkuctf例题:攻防世界-unserialize3例题:攻防世界-Web_php_unserialize参考资料
序列化与反序列化
magic 方法
PHP 的面向对象中包含一些魔术方法,这些方 ...
Docker php安装扩展步骤详解
前言
此篇,主要是演示docker-php-source , docker-php-ext-install ,docker-php-enable-docker-configure 这四个命令到底是用来干嘛的,它们在PHP容器中都做了哪些事情。
很多人很不理解在Dockerfile中安装PHP扩展的时候总是出现这几个命令,本篇就就是为你揭开这些命令的神秘面纱而准备的,所有案例都是本人自己运行过的 ...
PHP读取word docx文档内容及处理图片
PHP读取word文档里的文字及图片,并保存
一、composer安装phpWord
composer require phpoffice/phpword
传送门:https://packagist.org/packages/phpoffice/phpword
二、phpWord 读取 docx 文档(注意是docx格式,doc格式不行)
如果你的文件是doc格式,直接另存为一个docx就行了;如果你的doc文档较多 ...
PHP基础知识——PHP伪协议
什么是php伪协议
在 PHP 中,"伪协议"是一种特殊的语法,用于访问不同的资源或执行特定的操作。这些伪协议以 php:// 开头,后面跟着特定的指示符或参数,以实现不同的功能。这些伪协议提供了一种方便的方式来处理各种输入输出操作,而不必依赖于实际的文件或网络资源。
简单的理解就是,在URL中使用特殊的协议前缀来指示PHP ...
介绍一个基于 .NET 的船新 PHP SDK + Runtime: PeachPie
前言
这几天想基于 .NET Core 搞一个自己的博客网站,于是在网上搜刮各种博客引擎,找到了这些候选:Blogifier、Miniblog 以及 edi 写的 Moonglade。
Blogifier:这是前端是个 Angular SPA 应用,不利于 SEO,同时首屏加载速度慢,因此排除。
Miniblog:顾名思义 Mini,可以完美承载内容但是主题实在是过于简单,没有可自定 ...
Docker最全教程之使用PHP搭建个人博客站点(二十二)
目录
官方镜像
编写简单的Hello world!
1. 编写Hello world!
2. 编写Dockerfile
3. 构建并运行
4. 直接使用PHP Docker镜像运行PHP脚本
构建自己的WordPress镜像用于搭建个人博客站点
1. 准备MySQL数据库
2. 跑起来
修改PHP的文件上传大小限制
1. 修 ...
利用PHP_SESSION_UPLOAD_PROGRESS进行文件包含
我们可以利用session.upload_progress将木马写入session文件,然后包含这个session文件。不过前提是我们需要船家女一个session文件,并且知道session文件的存放位置。
session里有一个默认选项,session.use_strict_mode默认值为off。
此时用户是可以自己定义Session ID的。比如,我们在Cookie里设置PHPSESSID=flag,PHP ...
✔PHP文件包含漏洞全面总结
我的另一篇博客总结的不够全面,但依然有借鉴价值:https://www.cnblogs.com/Zeker62/p/15192610.html
目录文件包含的定义文件包含漏洞常见函数文件包含漏洞示例代码分析无限制本地文件包含漏洞定义以及代码实现常见的敏感信息路径Windows下常见敏感文件Linux下常见敏感文件漏洞利用无限制本地文件包含漏洞示例代码读取文件 ...
PHP Closure(闭包)类详解
Closure
面向对象变成语言代码的复用主要采用继承来实现,而函数的复用,就是通过闭包来实现。这就是闭包的设计初衷。
注:PHP里面闭包函数是为了复用函数而设计的语言特性,如果在闭包函数里面访问指定域的变量,使用use关键字来实现。
PHP具有面向函数的编程特性,但是也是面向对象编程语言,PHP 会 ...
PHP实现用户登录注册功能
初学php做了一些比较常见且有用的页面,放在上面记录一下咯
我是用了bootstrap框架里面的模态框做注册登陆页面,这样页面比较美观
页面效果:
注册成功条件/功能:
1)用户名不能冲突
2)两次密码必须相同
3)用户注册数据添加进数据库
4)注册/登录成功之后,用户自动登录
HTML代码:
<link rel="stylesheet" hre ...
七年之痒!一个 PHP 程序员职业生涯的自述
大家好,我是码农先森。
今年刚好是我毕业的第七个年头,在婚姻感情当中都有一种「七年之痒」的说法,这次我把这个词「七年之痒」用一次在我的职业生涯复盘上。七年前我从告别校园,踏入互联网编程行业,七年后我依旧在编码的岗位上孜孜不倦,除了上学读书这算是我坚持了最久的一件事了。如果你问我「是否依然还热爱着这个 ...
CTF中常用的php伪协议利用
file://
作用:
用于访问文件(绝对路径、相对路径、网络路径)
示例:
http://www.xx.com?file=file:///etc/passswd
php://
作用:
访问输入输出流
1. php://filter
作用:
读取源代码并进行base64编码输出
示例:
http://127.0.0.1/cmd.php?cmd=php://filter/read=convert.base64-encode/resource=[文件名](针 ...
gRPC详细入门教程,Golang/Python/PHP多语言讲解
目录一、gRPC是什么?RPC框架是什么?gRPC的特性gRPC使用流程二、Protocol Buffers是什么?三、需求:开发健身房服务四、最佳实践Golang1. 安装protoc2. 安装protoc-gen-go3. 安装grpc包4. 生成代码5. 定义服务端6. 定义客户端7. 运行代码Python1. 安装grpc包2. 安装protobuf3. 安装grpc的protobuf编译工具4. 生成代码5. 定 ...
PHP正则表达式,看这一篇就够啦!
前言
不知道你们有没有这个感觉,看正则表达式就像看天文数字一样,什么电话号码、邮箱的正则表达式,上网复制一下粘贴下来就搞定了。完全不知道这写的是什么玩意。后来我自己也想学一下,因为感觉用处还是挺大的。看了看视频,额...真**简单。这里的话如果想看视频学习的话我推荐一下慕课网这门鬼斧神工之正则表达式课程, ...
PHP验证身份证格式
互联网公司对身份证验证的需求越来越多,然而普通的小公司是无法对接公安部门的身份认证系统的。几乎都是在网上买一些大的互联网公司的一些认证服务。即使是便宜一些的认证价格也达到了10万次/万元。也就是一角钱一次了,还是挺贵哈。所以为了减少公司的开支,我们在拿到用户提交的身份证信息去认证前应该自己先检验一下身 ...
PHP 数组底层实现原理
数组在 PHP 中非常强大、灵活的一种数据类型,和 Java、C 等静态语言不同,我们在初始化 PHP 数组的时候不必指定大小和存储数据的类型,在赋值的时候可以通过数字索引,也可以通过字符串索引的方式:
基于 PHP 数组的强大特性,我们可以轻易实现更加复杂的数据结构,比如栈、队列 ...
php RSA加解密
相关介绍
RSA算法属于非对称加密算法,非对称加密算法需要两个秘钥:公开密钥(publickey)和私有秘钥(privatekey).公开密钥和私有秘钥是一对,
如果公开密钥对数据进行加密,只有用对应的私有秘钥才能解密;
如果私有秘钥对数据进行加密那么只有用对应的公开密钥才能解密.
因为加密解密使用的是两个不同的秘钥,所以这种算法叫做非 ...
PHP技术栈
本文旨在给要学习 PHP 的新手一个大概的认知轮廓,在心里有个学习的结构,有的放矢,避免走太多弯路。大神请忽略。
入门阶段
预备知识
1、掌握基本HTML、JS、CSS语法;熟悉 Bootstrap。
参考:
https://www.runoob.com/html/html-tutorial.html
https://www.liaoxuefeng.com/wiki/1022910821149312
https://www.runoob.com/ ...
PHP操作Elasticsearch7.6
目录安装操作Elasticsearch的PHP库PHP连接Elasticsearch创建索引和映射添加文档单一文档索引批量(bulk)索引获取文档更新文档部分更新script更新删除文档
首先打开Elasticsearch官网了解对应编程语言的API https://www.elastic.co/guide/en/elasticsearch/client/index.html
点击 PHP API即可查看当前7.X版本的文档内容了
...
PHP操作redis
原文地址:https://www.cnblogs.com/catcrazy/p/6415802.html
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis支持的数据类型有 Stirng(字符串), List(列表), Hash(字典), Set(集合), Sorted Set(有序集合);
redis版本是Redis 2.6.12 系统是 ...