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

相关推荐
PineappleCoder2 小时前
性能数据别再瞎轮询了!PerformanceObserver 异步捕获 LCP/CLS,不卡主线程
前端·性能优化
PineappleCoder2 小时前
告别字体闪烁 / 首屏卡顿!preload 让关键资源 “高优先级” 提前到
前端·性能优化
m0_471199632 小时前
【vue】通俗详解package-lock文件的作用
前端·javascript·vue.js
GIS之路3 小时前
GDAL 读取KML数据
前端
今天不要写bug3 小时前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
用户47949283569153 小时前
记住这张时间线图,你再也不会乱用 useEffect / useLayoutEffect
前端·react.js
咬人喵喵4 小时前
14 类圣诞核心 SVG 交互方案拆解(附案例 + 资源)
开发语言·前端·javascript
问君能有几多愁~4 小时前
C++ 日志实现
java·前端·c++
咬人喵喵4 小时前
CSS 盒子模型:万物皆是盒子
前端·css