首页 > TAG信息列表 > thinkphp3.2
thinkphp3.2 removeXss
下载 HTMLPurifier github地址:https://github.com/ezyang/htmlpurifier 并与public同层级 function removeXSS($data) { require_once './HtmlPurifier/HTMLPurifier.auto.php'; // require_once '../../../HTMLpurifier/HTMLPurifier.auto.php'; $ThinkPHP3.2.3代码审计
写在前面 刚好CTFSHOW做到ThinkPHP代码审计的部分了,以前也没尝试审计过这种完整的框架,只会照着成品Payload瞎打,这里就审计下ThinkPHP3.2.3的那些利用点,总结一下。 审计 show方法导致的代码执行 / Payload 未完待续 分析 show方法在ThinkPHP/Library/Think/Controlle代码审计-thinkphp3.2.3框架漏洞sql注入
这篇文章主要向大家介绍代码审计-thinkphp3.2.3框架漏洞sql注入,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。 开始复现审计一下tp3和tp5的框架漏洞,当个练习吧。php 涉及注入的方法为where() table() delete()等。sql 环境 tp3.2.3 :thinkphp 0x01php thinkphp3.2.3调试方法
调试执行的SQL语句 用getLastsql方法来输出上次执行的sql语句,有时候数据不符合预期时,用此方法可以方便的观察查询语句,判断逻辑是否有误。$User = M("User"); // 实例化User对象$User->find(1);echo $User->getLastSql();// 3.2版本中可以使用简化的方法echo $User->_sql(); 调试JSON 指的是字符串还是对象?
thinkphp3.2.3 框架返回的json是字符串 所以需要转为对象才能在js输出 JSON.parse() 下图是ajax回调函数的输出 下图是ajax调用方法导出--thinkphp3.2.3导出Excel
1.去PHPExcel官网下载,然后将解压后的classes里面的内容全部放到Thinkphp框架里的Library/Org/Util下面,并将PHPExcel.php修改为PHPExcel.class.php; 2.然后在你需要导出的地方添加如下代码: public function exportExcel() { import('Org.Util.PHPExcel'); import(thinkphp3.2 order注入
控制器代码: public function index(){ $username=I("username"); $order=I("order"); $data=M('users')->where(array('username'=>$username))->order($order)->select(); dump($dataphp基于Thinkphp3.2的毕设选题系统源码
下载地址:https://download.csdn.net/download/qq_31293575/19407912 项目介绍 php基于Thinkphp3.2的毕设选题系统源码 系统说明 本科生毕业设计 基于Thinkphp3.2的毕设选题系统 摘 要 目前,大部分高校已开始应用较为完善的管理系统,如教务管理系统、学生选课管理系统等信息化管PHP系列 | Thinkphp3.2 上传七牛 bad token 问题 [ layui.upload 图片/文件上传]
前端代码 <div class="logo_out" id="upload-logo"></div> JS代码 /** * 上传图片 */ layui.use('upload', function () { var upload = layui.upload; var uploadInst = upload.render({ elem: '#upload-logoThinkPHP3.2.3中M()和D()的区别详解
在实例化的过程中,经常使用D方法和M方法, 区别在于:M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会自动调用M方法。 通俗一点说:1.M实例化参数是数据库的表名,D实例化的是你自己在Model模型层文件夹下面建立的模型文件;thinkphp3.2 自定义函数
Application\Common\Common\function.php 书写函数 控制器中使用函数 自定义函数名称使用 fucntion.php,如果使用其他的例如:f1 需要在公共配置文件中单独加载一下。 定义在某个模块内:例如: Admin\Common\function.php 则只能在Admin模块下的控制器可用thinkphp3.2 文件引用(文件包含) - 创建公共的头部文件和公共的底部文件
对应手册:点击查看 在当前模版文件中包含其他的模版文件使用include标签 比如网站会创建一个公共使用的头部和公共使用的底部 模板引入如下: <include file="Public/header" /> // 引入头部header <include file="Public/footer" /> // 引入底部模版footerthinkphp3.2 控制器页面跳转和重定向
public function index(){ $this->success('Yes',U('Home/User/index'));//成功跳转 $this->error('error',U('Home/User/index'));//失败 //直接重定向跳转(3秒后跳转到指定路径) redirect(U('Home/Usethinkphp3.2 模板变量的使用
控制器下定义变量: <?php namespace Admin\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $name = 'zhangsan'; $age = 30; $this->assign('name',$name);//参数1thinkphp3.2 配置文件
核心配置文件(惯例配置文件) 公共的配置文件(既是前台也是后台的配置文件) 模块(home或admin)配置文件ThinkPHP3.2.3 钩子方法使用
在Library/Think/Model.class.php 这个基础model类中在添加add,修改save,和删除delete 时各自回调用两个回调函数. 使用这两个回调函数会给开发带来方便. 1 . add()方法回调函数 // 插入数据前的回调方法 protected function _before_insert(&$data,$options) {} // 插入成功ThinkPHP3.2.3使用cli命令行模式
thinkphp3.23使用cli模式,复制以下代码新建cli.php放在根目录 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); //普通模式,解决官方分组不支持cli的问题 $depr = '/'; $path = isset($_SERVER['argv'][1])?$_SERVER[ThinkPHP3.2.3框架where注入
环境搭建 直接在IndexController.class.php中创建一个demo public function index(){ $data = M('users')->find(I('GET.id')); var_dump($data); } 数据库配置: <?php return array( //'配置项'=>'配置值' 'DB_TYPE'PHP用PHPExcel导入Excel表格的数据到MySQL(thinkPHP3.2.3)
以前写了一篇关于PHP用PHPExcel导出MySQL数据到Excel表格 的文章。现在再写一篇PHP用PHPExcel导入Excel表格的数据到MySQL的文章,作为姊妹篇。 代码如下: 服务端: //上传方法 public function upload() { header("Content-Type:text/html;charset=utf-8"); $upload =ThinkPHP3.2导出Excel表格
PHP端代码 需要插件PHPExcel,放在ThinkPHP/Library/Vendor/目录下 调用导出方法 public function expUser(){//导出Excel $xlsName = "User用户数据表"; $xlsCell = array( array('id','id'),[漏洞复现]thinkphp3.2_find_select_delete
个人博客地址 http://www.darkerbox.com 欢迎大家学习交流 参考网址: https://xz.aliyun.com/t/2629#toc-3 环境: 链接:https://pan.baidu.com/s/1DyHy1Z-IPhPFzQC_mEIZeQ 提取码:8vxn 漏洞概述 如何搭建环境我就不细说了,可以参照参考网址里的步骤搭建。 还需要phpstorm配thinkphp3.2框架运行原理
thinkphp3.2是使用率非常普遍的国产php框架,以简单易于上手闻名,那么它框架结构是怎样的? tp3.2设计简单来说就是CBD,core(框架核心文件),bebavior(行为,tp3.2一大特点就是钩子众多),driver(各种驱动,根据项目需要),针对这三大方面从源码来看框架的运行的原理。 因为tp3.2的古老,所以入口文件没有Thinkphp3.2数据库字段自动转小写,字段大小写自动转换
最简单的办法就是在配置文件加上 'DB_PARAMS' => [\PDO::ATTR_CASE => \PDO::CASE_NATURAL], 但是如果项目已经上线了一段直接, 这样可能会影响其他人写的 然后我想在控制器里面动态改变DB_PARAMS这个配置,后来发现不行. 因为基类里面有数据库操作,model是单例的.不会重新new对代码审计-thinkphp3.2.3框架漏洞sql注入
开始复现审计一下tp3和tp5的框架漏洞,当个练习吧。 涉及注入的方法为where() table() delete()等。 环境 tp3.2.3 : 0x01 注入成因 测试代码: public function index2(){// $data = M('user')-> where('username = "admin"')->select();// dThinkPHP3.2微信JSSDK签名配置config信息
ThinkPHP3.2 controller代码 /* * * 微信jssdk踩坑记: * 必须在服务器部署才有用 * 1.配置js接口安全域名不要加http://等(大坑) * 2.用appid和appsecret发起请求换取access_token并将其全局缓存 * 3.用换取到的access_token发起请求换取ticket * 4.签名生成规则如下:参