PHP本地文件包含漏洞GetShell(突破极限)
让我们突破重重苛刻环境GetShell,文中有以phpmyadmin包含漏洞做演示。
PS:本文仅用于技术讨论与分析,严禁用于任何非法用途,违者后果自负。
漏洞背景
当您在发现PHP本地文件包含漏洞的时候,却尴尬于没有上传点,或者受到base_dir的限制,可以尝试用如下操作进行突破。
利用条件
1.存在PHP文件包含漏洞
2.存在PH ...
CTF-WEB:PHP 弱类型
目录PHP 弱类型MD5 碰撞漏洞例题:bugku-矛盾例题:攻防世界-simple_php例题:bugku-十六进制与数字比较例题:bugku-数组返回 NULL 绕过例题:bugku-urldecode 二次编码绕过例题:bugku-md5()函数例题:bugku- md5 加密相等绕过
PHP 弱类型
PHP 比较 2 个值是否相等可以用 “ == ” 或 “ === ”,“ == ” 会在比较时自动 ...
PHP的垃圾回收机制-PHP高级面试题+详解
面试10家公司,收获9个offer,2020年PHP 面试问题
ps:本篇内容包括精选面试题与知识篇。
PHP面试题关于PHP的垃圾回收机制,PHP的垃圾回收机制引用计数 (reference counting) GC 机制,PHP可以自动进行内存管理,清除不需要的对象,PHP面试题分享PHP关于垃圾回收机制的面试题:
我的PHP学习交流社区 点击此处 ...
PHP无参RCE
介绍
无参数RCE的形式如下,即只允许函数“套娃”,不允许传入其他参数。
if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) {
eval($_GET['code']);
}
preg_replace('/[a-z]+\((?R)?\)/', NULL, $code)
例题「[GXYCTF2019]禁止套娃」
<?php
include("flag.php");
echo "flag在哪里呢?<br>";
$ ...
PHP操作Redis
目录基本指令获取所有的key(keys)判断键对应值的类型(type)删除缓存项(del)设置有效期(expire,expireAt)获取有效期(ttl)检测缓存项是否存在(exists)查看当前数据库key的数量(dbSize)清空当前数据库(flushDB)清空所有数据库(flushAll)字符串(string)类型设置(set)设置并指定过期时间(setex)获取(get)增加(incr, incrBy)减少( ...
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操作Excel – PHPExcel 基本用法详解
1.header
header("Content-Type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=sample.xls");
header("Pragma:no-cache");
header("Expires:0");
2.PHPExcel
http://www.codeplex.com/PHPExcel
http://www.phpexcel.net
开发包Tests目录有详细使用实例 支持中文,注意文件编码 文件保存 ...
CentOS-7 编译安装php-7.4
1、环境准备
虚拟机:centos 7 ip:192.168.137.128
php-7.4.8.tar.gz
2、开始安装
添加php用户,用于运行php-fpm进程
useradd php -s /sbin/nologin
解压php源码包
tar -zxf php-7.4.8.tar.gz
安装依赖包
yum install libxml2-devel sqlite-devel libcurl-dev ...
html页面读取php get接口数据
此博客链接:https://www.cnblogs.com/ping2yingshi/p/13340369.html
通过Get方法获取php文件
通过Get方法给php参数,读取php文件
举例
在html中给金字塔层数,读取php文件中的金字塔层数
要求
给不同的参数,使金字塔输出不同的层数
html代码
通过标签跳转到php文件地址处,给Get中的num数字赋值,读取php代码。
<!DOCTYP ...
PHP反序列化字符逃逸
要学习反序列化字符串逃逸之前,我们需要知道php反序列化的几大特性。
1.PHP 在反序列化时,底层代码是以 ; 作为字段的分隔,以 } 作为结尾(字符串除外),并且是根据长度判断内容的 .
2.当长度不对应的时候会出现报错
3.可以反序列化类中不存在的元素
反序列化字符串逃逸
1.过滤后字符变多
2.过滤后字符变少
过滤 ...
[极客大挑战 2019]PHP
[极客大挑战 2019]PHP
知识点:
1.网站的备份文件:www.zip
2.Php 反序列化漏洞:当反序列化字符串时,如果表示属性个数的值大于真实属性个数,就会跳过_wakeup函数的执行
备份泄露,应该可以用工具扫目录扫出来,但是不知道为什么用御剑和dirbuster都扫不出来。直接在url后面输入www.zip,可以获取到网站的备份,打开以后 ...
PHP 反序列化漏洞入门学习笔记
参考文章:
PHP反序列化漏洞入门
easy_serialize_php wp
实战经验丨PHP反序列化漏洞总结
PHP Session 序列化及反序列化处理器设置使用不当带来的安全隐患
利用 phar 拓展 php 反序列化漏洞攻击面
序列化和反序列化的概念
序列化就是将 对象、string、数组array、变量 转换成具有一定格式的字符串。
具体可以看 CTF PHP反序 ...
PHP复习题(选择题)
PHP复习题(选择题)
1. 如何使用 PHP 输出 “hello world”?
A. "Hello World";
B. echo "Hello World";
C. Document.Write("Hello World");
答案:B
2. 下面代码执行结果是?
<?php
FUNCTION TEST()
{
ECHO "HELLO WORLD!\n";
}
test();
?>
A. HELLO WORLD!
B. 没 ...
php-fpm的配置详解
查找PHP-FPM的配置文件: find / -name php-fpm.conf
发现在 /usr/local/php7/etc/php-fpm.conf
打开发现有一行: include=/usr/local/php7/etc/php-fpm.d/*.conf
SO~~另外还有:/usr/local/php7/etc/php-fpm.d/中的所有.conf文件,比如: www.conf
php-fpm配置详解
这是搜索的一份还算算比较详细的php ...
js+php+mysql实现的学生成绩管理系统
js+php的简单学生管理系统,自己建个students的数据库
实现的效果如下图所示:
注册
登录
系统主页
新增页面
修改页面
注册页面--register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
...
linux php重启
1.停止命令
你可以先查看自己的php进程有没有启动 ps -ef | grep php
[root@iZ6we4yxap93y2r0clg3g8Z ~]# ps -ef | grep php
root 1000793 1 0 5月19 ? 00:00:11 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
root 1000794 1000793 0 5月19 ? 00:00:01 php-fpm: pool www
root ...
PHP Closure(闭包)类详解
闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。 在php中,闭包函数一般就是匿名函数.
Closure
面向对象变成语言代码的复用主要采用继承来实现,而函数 ...
nginx+php环境搭建详解(Linux)
今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下,望广大读友以后不要采坑。
搭建nginx环境
linux系统以centos7 64位为例
准备目录
mkdir /usr/local/nginx
cd / ...
编译安装php+nginx详细步骤
编译安装php+nginx
服务器: 阿里云centos7
安装php
下载: wget https://www.php.net/distributions/php-7.3.19.tar.gz
我的下载目录: /disk2/soft_pack/
解压:tar -zxvf php-7.3.19.tar.gz
进入解压目录:cd ./php-7.3.19/
提前先把安装依赖,避免一会儿反复编译安装
yum -y install gcc
yum -y install libxml2-devel
yum -y ...
php实现登录注册界面
php实现登录注册界面
首先你要搭建一个自己的数据库
我用wamp64创了一个people的数据库
具体操作可以参考该搭建链接:
https://blog.csdn.net/qq_36934826/article/details/78170855
这里就讲下我实现的功能代码:
创建sql.func.php实现一些基本函数功能
<?php
/**
*弹框
*/
function _ale ...