Web开发-PHP应用&TP框架&MVC模型&路由访问&模版渲染&安全写法&版本漏洞

我们先使用/index.php/index/index/test,就是图中的test()方法

/index.php/index/index/index,这个回显就是111

http://127.0.0.1:83/index.php/index/index/test2?x=123456

复制代码
public function test2()
{
    $x=$_GET['x'];
    return $x;
}

这里再做一个案例更详细一点,我们这里定义了一个login,我们如何得到后台登陆回显呢,按照TP官方方式尝试,然后我们更换了文件夹,上面的更改为namespace app\admin\controller;

http://127.0.0.1:83/index.php/admin/index/login

这里成功了,那就再次解释一遍,就是index.php/这个是固定的,然后/admin就是我们的admin模块,也就是这个文件夹,控制器就是index.php,操作就是login这个方法,这样我们就能用TP官方方法访问了

第二种访问方法就是

http://127.0.0.1:83/index.php?s=/admin/index/login

早期版本,TP3版本附近

有的时候还会出现index.php?s=admin&m=index&a=login

这是什么意思呢,就是三个参数分别指向模块、控制器、操作,也就是我的admin目录,index模块,login操作

这样我们就能逆推功能点,这样可以在白盒应用中体现出来

3、请求变量-数据接受

请求对象,提交方法,助手函数等

这里使用REQUEST

这里就接受到信息了,这里定义的方式太多,可以自行选择使用哪种方式获取信息

4、数据库操作-应用对象

引用DB类,基本查询,助手函数等

复制代码
public function loginin(Requset $request)
{

    $id = input('get.id');
    $data=Db::table('admin')->where('id',$id)->find();
    var_dump($data);
}

THINKPHP

这里就能上梭哈工具检测,并且能一键利用

5、前端页面渲染-MVC模型

引擎配置,渲染变量,模版输出等

TP框架-写法安全

1、自写代码逻辑

例子1:自己不合规的代码写法

自己审计代码,看一下他的缺陷

例子2:一半框架一半自写代码

例子3:框架标准内置代码写法

官方写法就看版本漏洞,通杀或者找逻辑,有sql注入需要有相应的代码功能

2、框架版本安全

https://github.com/Mochazz/ThinkPHP-Vuln

例子1:写法内置安全绕过-TP5-SQL注入

例子2:内置版本安全漏洞-TP5-代码执行

TP框架-代审案例:

WeMall-TP5框架开发

这里拿一套源码,先看一下thinkphp版本号,然后找历史漏洞

这里打开发现什么都没有,伪静态,搭建时配置一下文件

搭建时候配置一下即可

上一下梭哈工具测试一下漏洞

拿下s

相关推荐
十里-6 分钟前
在 Vue2 中为 Element-UI 的 el-dialog 添加拖拽功能
前端·vue.js·ui
shada11 分钟前
从Google Chrome商店下载CRX文件
前端·chrome
左耳咚26 分钟前
项目开发中从补码到精度丢失的陷阱
前端·javascript·面试
星光一影37 分钟前
供应链进销存源码uniapp全开源ERP多仓库管理系统pc+app手机端
mysql·elementui·uni-app·开源·php·phpstorm·1024程序员节
黑云压城After38 分钟前
vue2实现图片自定义裁剪功能(uniapp)
java·前端·javascript
芙蓉王真的好142 分钟前
NestJS API 提示信息规范:让日志与前端提示保持一致的方法
前端·状态模式
dwedwswd1 小时前
技术速递|从 0 到 1:用 Playwright MCP 搭配 GitHub Copilot 搭建 Web 应用调试环境
前端·github·copilot
2501_938774291 小时前
Leaflet 弹出窗实现:Spring Boot 传递省级旅游口号信息的前端展示逻辑
前端·spring boot·旅游
meichaoWen1 小时前
【CSS】CSS 面试知多少
前端·css
我血条子呢1 小时前
【预览PDF】前端预览pdf
前端·pdf·状态模式