您的位置:首页 > 科技 > IT业 > 17- PHP 开发-个人博客项目TP 框架路由访问安全写法历史漏 洞

17- PHP 开发-个人博客项目TP 框架路由访问安全写法历史漏 洞

2024/10/7 2:27:28 来源:https://blog.csdn.net/san3144393495/article/details/139030145  浏览:    关键词:17- PHP 开发-个人博客项目TP 框架路由访问安全写法历史漏 洞

常见的php框架:laravel和thinkphp和yii

这里以thinkphp为例

thinkphp目录访问设置

这里只找到了这个3.多的源代码,没找点5.的,凑合一下

链接:GitHub - top-think/thinkphp: ThinkPHP3.2 ——基于PHP5的简单快速的面向对象的PHP框架

打开thinkphp的配置文件

我们访问主页显示笑脸就是引用的这个文件,修改它主页也会变成别的,所以主页是由这个文件所控制的

而这个框架是有一个引用关系的,直接访问主页是笑脸界面,那通过url是怎么样的引用关系

http://127.0.0.1/thinkphp-master/thinkphp-master/index.php/Home/index/index

而thinkphp的设计理念

就是入口文件/模块/控制器/参数

index.php/Home/index/index

index.php入口文件  Home模块  index控制器  index参数

我现在在主页文件多添加个参数,访问我添加的参数,主页也会发生变化

就变成了小迪

也可以多添加一个控制器及添加控制器的参数,造成页面不同

也可以正常的传参和显示

实战意义

看到这样的地址就可以看出来,c代表的模块,a代表的控制器,id代表的参数

这种看一下就很可能是框架开发的网站

举一反三,修改自己的tk

在创建一个模块xiaodi,第一个字母要大写

http://127.0.0.1/thinkphp-master/thinkphp-master/index.php/Xiaodi/index/xiaodi?x=1

访问这个目录,控制器还是index

成功输出来,这个是把模块改了,控制器并没有改

3.几的tk控制器有命名规则

改了一下才可以访问

tkphp的sql注入过滤

如果只是直接写一个变量接受提交方式进行传参,执行sql语句,没有过滤什么的那么一定有sql注入问题

这种就是$id=$_GET['x']  

基础写法,会造成sql问题

and 1=2就会被接受执行

按照tk手册的官方写法

这样在后面在输入and 1=2就不会被带入执行,很安全,没有sql问题,按照tk的官方写法,tk就调用自身框架别的php对传参进行过滤,严格过滤

经过了那么多文件的过滤

tk使用手册的查询sql写法

使用官方写法就很安全,

也是很安全

然后这种最好就看看有没有网上公开的漏洞

果然日志泄露

jian

kang

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com