国赛2024 simple_php(三种方法)
<?php
ini_set('open_basedir', '/var/www/html/');
error_reporting(0);
if(isset($_POST['cmd'])){
$cmd = escapeshellcmd($_POST['cmd']);
if (!preg_match('/ls|dir|nl|nc|cat|tail|more|flag|sh|cut|awk|strings|od|curl|ping|\*|sort|ch|zip|mod|sl|find|sed|cp|mv|ty|grep|fd|df|sudo|more|cc|tac|less|head| ...
PHP APCu缓存使用与避坑
APCu
极简概括: PHP 的开源内存缓存扩展,类比Redis,但是一般都用Redis,所以APCu用的很少。
官方文档:https://www.php.net/manual/zh/apcu.configuration.php
解决问题:类比Redis做缓存组件,提升性能,同步数据使用。
适用场景:轻量级的缓存,适合写少读多的场景。缺少原子性、缺少多条指令无间隙执行,不建议高并 ...
CTF web php waf绕过合集
[H&NCTF 2024]Please_RCE_Me
打开靶机,发现要求get请求传参?moran=flag
get请求访问ip:端口?moran=flag,得到页面源码
发现system、eval、assert、call、create、preg、sort、{|}、filter、exec、passthru、proc、open、echo、`、 、.、include、require、flag都被过滤掉了,大部分执行外部命令的函数全都无法使用。
对 ...
PHP基础知识——PHP伪协议
什么是php伪协议
在 PHP 中,"伪协议"是一种特殊的语法,用于访问不同的资源或执行特定的操作。这些伪协议以 php:// 开头,后面跟着特定的指示符或参数,以实现不同的功能。这些伪协议提供了一种方便的方式来处理各种输入输出操作,而不必依赖于实际的文件或网络资源。
简单的理解就是,在URL中使用特殊的协议前缀来指示PHP ...
PHP接入PayPal支付的2两种方式
1、SDK接入贝宝支付v1接口
注:底下有sdk的文档说明,如是代码问题可直接参考底部官方sdk文档
安装SDK
composer require paypal/rest-api-sdk-php:*
生成支付链接
class Paypal
{
protected $apiContext;
protected $amount;
protected $orderId;
public function __construct()
{
...
接入Stripe支付
快速开始 https://docs.stripe.com/payments/quickstart
使用第一个示例
1、示例中的PRICE_ID需要去Stripe控制台->产品目录创建产品
1、 添加产品
2、点击查看创建的产品详情
4、这个API ID就是demo中的PRICE_ID
注意:需要注意的是,测试模式和生产模式中的 $stripeSecr ...
2023年的PHP项目部署笔记。什么?还有人用PHP?
前言
这是我第一次用 PHP 的包管理工具 composer
一开始用 docker 进行部署,但一直出问题,最后还是选择直接在服务器上安装 php-fpm 搭配 nginx 的方案了。
PS:docker方式真的搞得心好累,现在回想起来还心有余悸😢
docker方案
先把我的 docker 方案放上来吧,毕竟也折腾了好久,处于基本可用的状态。
目录结构
目录结 ...
php<= 7 . 4 . 21 development server源码泄露漏洞复现
前言
前一段时间在看羊城杯wp里了解到了这个漏洞,觉得挺有意思尝试复现一下(
这里附上原漏洞地址
https://blog.projectdiscovery.io/php-http-server-source-disclosure/
版本
PHP<= 7 . 4 . 21
漏洞成因
通过php -S开起的内置WEB服务器存在源码泄露漏洞,可以将PHP文件作为静态文件直接输出源码
这里直接给出POC
GET /php ...
ctf中常见php漏洞
PHP特性漏洞
一.intval()函数---获取变量的整数值
函数说明
int intval (mixed $var [, int $base = 10 ] ) :通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。
如果base是0,则通过检测var的格式来决定使用的进制:
如果 ...
唱衰这么多年,PHP 仍然还是你大爷!
PHP 是个庞然大物。
尽管有人不断宣称 PHP “即将消亡”。
但无法改变的事实是:互联网依然大量依赖 PHP。本文将通过大量的数据和事实告诉你为何 PHP 仍然在统治着互联网,你大爷仍然还是你大爷。
统计数据
PHP 仍然是首选编程语言
根据 W3 Techs 对全球前 1000 万个网站使用的编程语言分析,我们可以看到:
PHP 占比 7 ...
docker 搭建php环境(踩坑经验!!)
本次安装的推荐配置:
CentOS 7 (迅雷种子 http://ftp.nara.wide.ad.jp/pub/Linux/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.torrent)
nginx 1.24.0
mysql 5.7.43
php 7.4.3-fpm
redis 7.2.0
2023年12月21日:后面发现,一定要加上 docker run的时候一定要加上 --ip 172.18.10.1用来固定ip ...
使用Docker+PHP搭建苹果Maccms的影视站详细教程
自己做博客站太难了,SEO太差自己都搜不到,原文地址求你点进去看: https://typecho.hanzhe.site/archives/4.html
说在前面
很早之前还没参加工作的时候,手头没钱,想要看一些电影什么的充不了会员,一般都会在网上搜VIP影视这类的盗版网站,参加工作后对这些网站仍然很好奇,没有收入来源这些站是怎么搭起来的?电影,电 ...
推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言
日历对我们来说,最熟悉的就是阳历和农历,在中国每年都有固定的节日、节气、中国特有传统节日,有些节日是固定的,但是节气这些都需要我们经过一定规则换算出来。
所以,今天给大家推荐一个开源库,它支持阳历、阴历、佛历和道历的日历转换,可以满足我们的所有需求。
项目简介
这是有多开发语言版本、支持阳历、阴历、佛 ...
CTF中常用PHP特性总结
CTF中常用PHP特性总结
1.preg_match(正则匹配函数)相关
应该说在接触ctf的web题目过程中,我们不得不于这位朋友打交道,无论是在一些套娃娱乐题,还是代码审计的0day漏洞中,我们都要于这位朋友'过过招'。就我个人而言,在一开始打ctf题的时候最先接触的就是这个函数,也是一开始最让我头疼的,所以就想着把当前题目中遇到 ...
php:用systemctl管理php-fpm服务(PHP 8.2.5)
一,生成启动文件:
复制源码中的init.d.php-fpm作为启动文件
[root@img sapi]# mkdir /usr/local/soft/php8.2.5/daemon
[root@img sapi]# cd /usr/local/source/php/php-8.2.5/
[root@img php-8.2.5]# cp sapi/fpm/init.d.php-fpm /usr/local/soft/php8.2.5/daemon/php-fpm
[root@img php-8.2.5]# chmod 740 /usr/local/so ...
PHP的序列化和反序列化入门
PHP序列化
什么是PHP序列化
serialize() //将一个对象转换成一个字符串
unserialize() //将字符串还原成一个对象
通过序列化与反序列化我们可以很方便的在PHP中进行对象的传递。本质上反序列化是没有危害的。但是如果用户对数据可控那就可以利用反序列化构造payload攻击
<?php
highlight_file(__FILE__);
class suns ...
ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观
前言
最近一段时间,我使用golang开发了一个新的ORM库。
为了让这个库更好用,我比较研究了各语言的主流ORM库,发现有一些语言的ORM库确实很好用,而有另外一些语言的库那不是一般的难用。
然后我总结了他们呢的一些共性和差异点,于是形成了本文的主要内容。
本文会先说明什么是SQL编写难题,以及探讨一下 code first 和 d ...
php常见绕过
==弱比较
<?php
if (isset($_POST['a']) and isset($_POST['b'])) {
if ($_POST['a'] != $_POST['b']) {
if (md5($_POST['a']) == md5($_POST['b']))
echo 'flag';
else
echo 'you are wrong';
}
else
echo "请输入不同的a,b值";
}
payload1-传数组
a[]=111&b[]=222
payload2-传入两个md5加密后是0e开头 ...
PHP-Session利用总结
PHP-Session 简介
基本概念
session一般称作会话控制,session对象存储特定用户会话所需的属性及配置信息。
我自己的理解来说:PHP session是一个特殊的变量,它存储着我们与服务器会话的全部信息,该信息在PHP中一般是以文件在服务器中存储,服务器会为每个访问者创建一个id一般为PHPSESSID,这个id在请求时存储在cookie中 ...
php注解使用示例
今天看到php注解的介绍文章很感兴趣,动手实际试了试挺好玩,写这篇文章记录下
php从8开始支持原生注解功能了,我们可以写个小的例子看看注解怎么玩。
先确定我们的任务目标
1、编写一个注解类route处理根据注解反射将使用注解的方法加入到路由列表
2、定义入口文件初始化项目自动完成路由列表的更新
3、根据URL请求 ...