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

发布时间:2024年01月18日

知识点:

1、基于 TP 框架入门安装搭建使用

2、基于 TP 框架内置安全写法评估

3、基于 TP 框架实例源码安全性评估


PHP框架:thinkPHP、yii

一、基本了解:安装&调试&入口&配置

Tp5做演示:

载入PHP目录(public下)

发现此页面不是网页上显示的页面,通过寻找,得知application文件的index/controller/index.php文件进行显示,对其今下午修改

得知真正决定页面内容的其实是其他文件

通过手册查询得知:public文件下的index为入口文件

以及application文件下的index是以url访问进行的

二、url访问

http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作(方法)/[参数名/参

在application文件的index.php文件进行修改,新增一个函数

让其url访问进行访问到xiaodi这个函数:

?? 总:Url访问与文件的对映关系——》URL <=> 文件

URL访问-改控制器

此时要访问Xiaodi.php就要更改url访问中的参数

第一种访问:

第二种访问:

第三种:根据不同的配置进行更改

加参数$_GET

加input——输入变量

例:对互联网中寻找符合url访问的网站

从中可以通过url地址内容进行判断对应的文件位置

得知,模块为xuekes,控制器为index,后面为参数

从而可以进一步得知此网页是以TP框架进行开发的

举一反三:在application文件下创建一个新的文件作为新的模块,再新文件下创建新的controller并创建新的控制器,并进行url访问

三、安全-SQL 注入-不安全写法对比官方写法

不安全写法:

进行SQL注入,并进行数据库监控

注入成功

a.Get官方写法:

对其进行sql注入

由sql监控看出,它自动的将后缀进行忽略了

所以使用官方的方法会进行自动的绕过

b.查询官方写书:书写SQL语句

模板:Db::table('think_user')->where('id',1)->value('name');

开启调试模式:可以看到SQL语句等

对配置文件进行修改

对其进行官方书写:

官方写书:简短,且安全

如果用户不遵守官方手册,则可以进行绕过处理;不然就是对TP框架进行漏洞处理

四、对TP框架找漏洞:

  1. 看写法
  2. 看历史漏洞

看历史漏洞:

查看TP版本

从版本中查找历史漏洞:

版本获取:

?黑盒:

??????? 1.判断是不是tp,返回数据包

?????? 2.通过报错

?????? 3.经验,看url地址

?白盒:

?????看源码配置文件

五、判断是否存在安全问题:

查看版本

看写法

看历史漏洞

测试漏洞,触发漏洞:

对比,得知漏洞已修复

文章来源:https://blog.csdn.net/weixin_73760178/article/details/135578341
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。