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注解使用示例
今天看到php注解的介绍文章很感兴趣,动手实际试了试挺好玩,写这篇文章记录下
php从8开始支持原生注解功能了,我们可以写个小的例子看看注解怎么玩。
先确定我们的任务目标
1、编写一个注解类route处理根据注解反射将使用注解的方法加入到路由列表
2、定义入口文件初始化项目自动完成路由列表的更新
3、根据URL请求 ...
学习笔记-绕过php禁用函数
bypass_disable_function
相关文章 & Source & Reference
CTF中的命令执行绕过
无需sendmail:巧用LD_PRELOAD突破disable_functions
php中函数禁用绕过的原理与利用
相关工具
Medicean/as_bypass_php_disable_functions
yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD
相关靶场
AntSwordProject/AntSword-Labs
...
php-fpm 配置详解
php-fpm工作流程
php-fpm全名是PHP FastCGI进程管理器
php-fpm启动后会先读php.ini,然后再读相应的conf配置文件,conf配置可以覆盖php.ini的配置。
启动php-fpm之后,会创建一个master进程,监听9000端口(可配置),master进程又会根据fpm.conf/www.conf去创建若干子进程,子进程用于处理实际的业务。
当有客户端(比如ng ...
php yield详解
一.介绍
二.简单例子
//包含yield的函数可以生成一个generator 对象,可以被foreach 遍历
function Generator()
{
for ($i = 0; $i < 3; $i++) {
echo "输出存在感1\n";
yield $i;
echo "输出存在感2\n";
}
}
echo "###返回对象1####\n";
var_dump(Generator());
e ...
CTF之PHP命令执行
二、PHP系统命令执行函数
1.system('ls');
2.echo `ls`;
3.passthru("whoami");
4.echo exec("whoami");
5.echo shell_exec("whoami");//同反引号
6.popen();//popen('echo "test" > m.txt','r');//该函数返回文件指针,也就是说该函数无回显,可以用于盲注或写马或写文件读文件或dnslog带外
7.proc_open();
8.pcntl ...
shopee api
文档地址:https://open.shopee.com/documents/v2/Introduction?module=87&type=2
境外接口:
页面地址授权:
<?php if($model->partner_id && $model->secret_key):
$url = '/api/v2/shop/auth_partner';
$redirect ="http://publish.xxxx.com/services/shopee/shopeenew/gettoken/id/{$model->id}";
$timestamp ...
PHP-Java-bridge 的使用 java类转PHP
1.准备工作
文件介绍:
1. php-java-bridge_7.2.1
2. jdk-8u221-windows-x64 java运行环境必备 ,这里是sdk8 64位
3. Jetbrains IntelliJ IDEA 2020.1 64位 最好的java编程工具,可用于后面的打包工作
下载链接:
链接:https://pan.baidu.com/s/1aWAFaNKpQYlKFX2p1vW9GA
提取码:onq2
点击 ...
docker 安装nginx+php环境
备注:提示file not find是因为要把php的index.php写入到php容器的/usr/share/nginx/www目录,而不是nginx里面。
补充:主要注意两点,nginx配置文件指向,fastcgi_pass端口指向确定没问题就能同时解析PHP+HTML,然后重新加载配置文件service nginx reload
使用docker快速搭建nginx+php环境在朋友的强烈推荐下,走上了docker之路 ...
PHP文件上传
文件上传
基本概念:从本地客户端上传文件到远程服务端。
上传流程简介:
1、服务器写好文件上传页面
2、客户端请求,服务端返回文件上传页面,并进行文件上传
3、服务器收到上传文件,首先将文件存储到tmp临时存储目录下,然后通过php脚本判断是否满足上传文件标准
4、满足标准,将临时目录文件移动到服务器指定目录;不 ...
PHP连接SQLServer
PHP连接SQLServer
连接前配置系统:
1.检查文件 php5.2.5/ntwdblib.dll 默认下面有一个,不能连接再替换.
下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://webzila.com/dll/1/ntwdblib.zip
2.配置php
a、打开php.in将extension=php_mssql.dll的注释符号去掉。
b、打开php.in将mssql.se ...
PHP系列 | PHP中的stdClass是什么?
简介
stdClass 是 PHP 中的空类,用于将其他类型转换为对象。它类似于 Java 或 Python 对象。 stdClass 不是对象的基类
转换为对象
如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,将会创建一个内置类 stdClass 的实例。如果该值为 null,则新的实例为空。 array&n ...
php-fpm 配置详解
php-fpm工作流程
php-fpm全名是PHP FastCGI进程管理器
php-fpm启动后会先读php.ini,然后再读相应的conf配置文件,conf配置可以覆盖php.ini的配置。
启动php-fpm之后,会创建一个master进程,监听9000端口(可配置),master进程又会根据fpm.conf/www.conf去创建若干子进程,子进程用于处理实际的业务。
当有客户端(比如ng ...
沃尔玛api接口
接口文档:https://developer.walmart.com/home/us-mp/
沃尔玛api 分为US站点和CA站点
US站点是获取token的方式
MX站点获取方式和US差不多 多一个参数 "WM_MARKET: mx",
CA站点是签名的方式
US刷新token
/**
* walmart获取token ( us站点 和 mx站点 )
* @url /services/walmart/walmartpromoti ...
openwrt nginx 配置PHP
简介:
如果经常看我的文章,应该知道我这里的一个主路由是X86软路由。
配置还行:
Intel(R) Celeron(R) CPU 3215U @ 1.70GHz
1.80 GiB 24G+500G
只做路由器太浪费了,所以就有了一些跑在路由器上的东西。
只是docker和ipv6貌似不和,或者说我没配置好。有心情再搞它。
最大的作用其实就是WEB服务,nginx为主,基本上 ...
php-fpm进程占用CPU过高| php-cgi进程过多
一般情况下,PHP-CGI只在用户访问的时候会占用CPU资源,如果服务器上的PHP-CGI进程占用了非常多的CPU,但是访问流量却非常少。这显然是一个不正常的现象
1.使用 top 找出CPU最高的进程pid
2 ll /proc/PID/fd //通过PID找到哪个文件操作的进程,进而知道问题所在
3 strace -p PID(进程数) 来跟踪进程
Linux分析进程占用内 ...