PHP
文章平均质量分 84
PHP学习历程
OceanSec
知其黑,守其白
展开
-
TP5 框架 SQL 执行流程分析及 5.0.9 SQL 注入漏洞分析
文章目录SQL查询流程TP 5.0.9 SQL注入修复SQL查询流程TP5手册:https://www.kancloud.cn/manual/thinkphp5/118044在分析 tp5 漏洞之前,先来看一看 tp5 在查询时的流程,与 tp3 有什么异同,写一个控制器<?phpnamespace app\index\controller;class Index{ public function index() { $name = Input("na.原创 2022-01-18 22:06:49 · 3847 阅读 · 1 评论 -
再探SSRF服务器请求伪造(weblogic cve ssrf redis未授权)
攻击Redis漏洞环境复现环境使用vulhup weblogic ssrf地址:https://vulhub.org/#/environments/weblogic/ssrf/vulhub使用:https://vulhub.org/#/docs/run/WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Jav原创 2021-04-26 20:42:00 · 13992 阅读 · 3 评论 -
PHP_MVC框架开发,nosql学习,mysql优化,以及高并发web架构处理
文章目录定义入口文件完成自动加载路由类.htaccessexplodetrimarray_slice实现控制器加载控制器数据库初始化连接数据查询函数视图extract其他类配置类日志类composer插件smart插件安装smarty使用whoopsvar_dumpermedoonginx_evnginx的使用场景TengineNoSQL常见单位MemcachedRedismongoDB三者区别总结分析概括redis使用MySQL优化存储引擎索引缓存分区explain多并发原子性MySQL 锁文件锁redi原创 2021-04-06 15:00:44 · 13110 阅读 · 3 评论 -
YXcms(mvc架构php的cms)简单学习与审计
YXcms(MVC)YXcms 1.4.7熟悉MVC架构路由方式通过一个 r 的文件指针进行路由参数传递in($_GET[])...... public function test() { $param=in($_GET['a']); var_dump($param); }......$_GET 接收值,通过 in 进行过滤in 函数//数据过滤函数库/*功能:用来过滤字符串和字符串数组,防止被挂马和sql注入参数$dat原创 2021-04-05 22:01:41 · 15496 阅读 · 1 评论 -
PHP MVC框架开发(上)
文章目录定义入口文件完成自动加载路由类.htaccessexplodetrimarray_slice实现控制器加载控制器数据库初始化连接数据查询函数视图extract其他类配置类日志类定义入口文件定义常量引入库函数引入核心模块完成自动加载入口文件 index.php<?php// door file// define system constdefine('LSPHP', __DIR__ . "/");define('APP', __DIR__ . "/app");d原创 2021-04-03 21:56:39 · 13073 阅读 · 1 评论 -
Think PHP错误写法导致SQL注入漏洞代码分析
Think PHP错误写法导致SQL注入后端代码# application/home/controller/IndexController.class.php<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller{ public function index(){ $username=I("username"); /原创 2021-03-25 16:50:03 · 12940 阅读 · 0 评论 -
ThinkPHP框架信息泄露
Think PHP 3.2 信息泄露配置环境数据库连接配置# application/home/controller/IndexController.class<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller{ public function index(){ $data=M("admin")->select();原创 2021-03-22 18:59:30 · 13439 阅读 · 2 评论 -
phpsession反序列化选择器漏洞造成命令执行
PHP三种session序列化选择器 首先了解下php session的三种存储方式,php中的session中的内容并不是放在内存中的,而是以文件的方式来存储的,存储方式就是由配置项session.save_handler来进行确定的,默认是以文件的方式存储。 存储的文件是以sess_sessionid来进行命名的,文件的内容就是session值的序列话之后的内容。在php.ini中存在三项配置项:session.save_path=""–设置session的存储路径session.save_原创 2020-10-21 21:15:15 · 11084 阅读 · 0 评论 -
CTF中的PHP反序列化ALL IN ONE
CTF中的PHP反序列化1.反序列化的基础知识什么是序列化,反序列化,php反序列化,序列化字符串知识,漏洞产生原因,修复方法php反序列化漏洞,又叫php对象注入漏洞,是ctf中常见的漏洞。PHP基础知识PHP类与对象(https://www.php.net/manual/zh/language.oop5.php)PHP魔术方法(https://secure.php.net/manual/zh/language.oop5.magic.php)序列化定义php程序为了保存和转储对象,提供了序原创 2020-09-01 22:34:38 · 16962 阅读 · 6 评论 -
PHP代码审计demo之熊海cms
php漏洞的利用依赖PHP版本、Web中间件版本与类型、操作系统类型和版本以及这些软件的配置等多因素,一下环境为:wamp(win10+apache2.4.39+mysql5.7.26+php5.2.17)代码审计的四种方式:1.函数回溯2.追溯变量3.功能点4.通读全文这四种方法各有优缺,通读全文法会对整个cms体系有更深刻得了解,可以发现更隐秘的漏洞,以及逻辑漏洞。根据敏感函数来逆向追踪参数的传递过程,是目前使用得最多的一种方式,因为大多数漏洞是由于函数的使用不当造成的。下图为 熊海cm原创 2020-08-16 22:57:54 · 11457 阅读 · 1 评论 -
ctf php弱类型、松散比较、哈希缺陷、MD5绕过、变量覆盖
松散比较松散比较:==比较时先转数据类型再进行比较严格比较:=== 比较时先判断两种字符串类型是否相等,再进行比较例:"admin"==0 #ture"1admin"==1 #ture"admin1"==1 #false如果该字符串没有包含’.’ ‘e’ 'E’并且数值在整形范围值内,该字符串被当作int来取值,其他所有情况下被当作float来取值,该字符串的开始部分的值决定...原创 2020-04-27 22:23:59 · 9951 阅读 · 0 评论 -
PHP-laravel框架学习笔记
Laravel 是灵活的 php web 开发框架,tp5 和 laravel 有一定相似之处开发手册:https://laravelacademy.org/post/7629安装首先安装 composer,进入目录打开 cmd,执行命令即可composer create-project laravel/laravel=5.6.* laravel安装完毕后,进入 public 目录即可,也可以配置虚拟主机域名laravel目录结构laravel 同样属于 mvc 框架, Laravel原创 2021-03-22 14:14:44 · 14467 阅读 · 3 评论 -
PHP小马,大马实现分析编写
PHP工具开发PHP小马简单隐藏登陆密码实现写入文件<?php$pass = '14e1b600b1fd579f47433b88e8d85291'; #123456$get = $_GET['pass'];if (!empty($get)) { if (md5(md5($get))) { if (!empty($_POST)) { $path=$_POST['filepath']; $content=$_P原创 2021-03-15 20:09:21 · 16423 阅读 · 0 评论 -
ThinkPHP-2进阶
请求请求对象1.当控制器继承了控制器基类时,会自动被注入 Request 请求对象的功能2.不继承控制器基类4.通过构造方法进行注入5.使用facade方式应用于没有进行依赖注入时使用 Request 对象的场合use think\facade\Request;class Index extends Controller{ public function facade() { return Request::param('name'); }}6原创 2021-03-15 20:07:27 · 12935 阅读 · 0 评论 -
ThinkPHP-1基础
国产 PHP web 框架ThinkPHP5的运行环境要求PHP5.6以上,兼容PHP8.0开发基础手册安装使用composer安装composer create-project topthink/think=5.1.* tp5启动服务cd tpphp think run然后就可以在浏览器中访问http://localhost:8000更新框架composer update topthink/framework采用 Composer 和 git 方式下载github 地址原创 2021-03-15 20:04:36 · 13646 阅读 · 0 评论 -
PHP对象进阶
PDO数据库抽象层 PDO-PHP Data Object 扩展类库为 PHP 访问数据库定义了轻量级的一致性的接口,它提供了一个数据访问抽象层,针对不同数据库服务器使用特定的 PDO 驱动程序访问PDO:php5 以后的版本增加,是目前通用的 PHP 操作数据库的扩展PDO 是一种纯面向对象的操作,有三个类PDO 类:初始化和 SQL 执行PDOStatement 类:结果解析PDOException 类:异常处理PDO 扩展PDO 在 PHP5 以前,需要手动加载扩展打开方法:原创 2021-03-15 20:03:00 · 12722 阅读 · 0 评论 -
PHP对象基础
面向对象:OOP(objected oriented programming)编程面向过程是一种编程思想面向对象编程的本质是增加数据和功能的操作主体,即对象面向对象中的所有的数据和功能多是由主体(对象)来调用和操作面向对象基础面向过程和面向对象区别面向对象关键字类:class,定义面向对象主体的最外层结构,用来包裹主体的数据和功能(函数)对象:object,某类事务的具体代表,又称为实例实例化:new,类产生对象的过程类成员:member方法:method,本质是在类class结原创 2021-03-15 20:02:30 · 12897 阅读 · 0 评论