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

相关推荐
掘金安东尼1 天前
让 JavaScript 更容易「善后」的新能力
前端·javascript·面试
掘金安东尼1 天前
用 HTMX 为 React Data Grid 加速实时更新
前端·javascript·面试
灵感__idea1 天前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
yinuo1 天前
轻松接入大语言模型API -04
前端
袋鼠云数栈UED团队1 天前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher1 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati1 天前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao1 天前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
兆子龙1 天前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构
兆子龙1 天前
用 Auto.js 实现挂机脚本:从找图点击到循环自动化
前端·架构