开发基础-TP框架-入口&调试&路由&写法等

参考手册-TP5开发手册-为了掌握了解框架

首页文件看APP_PATH定义-为了后期分析核心代码



全局搜索:THINK_VERSION,为了后期分析此版本是否存在漏洞。



参考手册-本地代码案例对比,为了后期分析定位代码块或测试漏洞。

配置文件开关(app_debug,app_trace,debug),为了后期出现问题分析问题。





本地代码案例URL访问,测试注入,为了后期挖掘漏洞第一时间判断问题。

点击查看代码
对框架开发的源码去分析漏洞
1.看写法,存在没有官方保护过滤
2.看版本漏洞,存在有官方保护过滤,但是有绕过漏洞
3.高手直接挖0day,直接审计框架的防护,写绕过 常规架构
没有看到过滤函数 没有过滤
url路径是文件路径对应 MVC架构
没有看到过滤函数 没有过滤
url路径是文件路径路由对应 框架架构
没有看到过滤函数 不代表没有过滤
1.非官方写法 没有过滤
2.半吊子写法 可能没过滤
3.完整官方写法 受到官方过滤(如果过滤考虑不周不全也会有漏洞)
url路径是文件路径路由对应 一个源码采用TP框架,但是写法没有按照官方写法,思路:常规架构挖掘
一个源码采用TP框架,但是写法按照官方写法,思路:看版本漏洞、挖框架漏洞 如果tp5爆漏洞,哪个会受到影响:
1.xiaodicms tp5开发的 写法没有按照官方写法(可能受到影响)
2.xiaosedicms tp5开发的 写法按照官方写法(会受到影响)
3.xiaoseccms tp5开发的 写法按照官方写法(会受到影响)

CNVD拿1day-TP框架-SQL注入&XSS-HSYCMS

SQL注入

CNVD官网搜索相关漏洞。



下载源码,将调试开关都开启。通过搜索THINK_VERSION,发现是tp框架。访问新闻页面,看下SQL执行语句。



触发了show.php页面,看下源代码,虽然是官方写法,但是从SQL执行语句中可以看到有注入点。





尝试注入,并监控SQL执行语句。





成功执行我们注入的SQL语句。

这里只需要将"$id=input('id');"改成"$id=input('id/d');"将传参的参数强转为整数就不会存在漏洞了。

XSS

先进行黑盒测试,XSS常见的地方有留言板之类的功能处。故在留言板处进行测试。



提交留言,看下触发的地址。



找到对应地址的文件。



但是显示功能不在这里,去后台找到留言触发的地方。



找到对应显示功能的代码。



没有存在任何过滤,故存在XSS漏洞。

某cms源码-TP框架-SQL注入-违规weipan源码

找到入口文件。



在application目录下。访问特定地址。



找到对应代码。



看下SQL执行语句。



根据SQL执行语句,找到对应的代码。



尝试注入,监听SQL语句。



发现需要通过引号闭合,但是tp框架中会自动对引号进行转义,所以这里只能对第二处进行SQL注入。另外还可以根据当前tp的版本号找版本漏洞。



参考:https://www.yii666.com/blog/357920.html

PHP项目&TP框架&SQL&XSS&架构&路由&调试&写法的更多相关文章

  1. tp框架版本的thinksnsnv4开启调试模式

    首先说下开启调试模式完整操作. 1.\config\config.inc.php配置文件中增加两个键值对 'APP_DEBUG' => true, 'SHOW_PAGE_TRACE' => ...

  2. TP框架项目部署linux大小写问题

    TP框架项目部署linux大小写问题

  3. Vue框架(三)——Vue项目搭建和项目目录介绍、组件、路由

    Vue项目环境搭建 1) 安装node,在官网下载好,然后在本地安装 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 2) 换源安装cnpm >: npm ins ...

  4. TP框架 基础1

    php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...

  5. TP框架---thinkphp基础知识

    php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困 ...

  6. Spring Framework(框架)整体架构 变迁

    Spring Framework(框架)整体架构 2018年04月24日 11:16:41 阅读数:1444 标签: Spring框架架构 更多 个人分类: Spring框架   版权声明:本文为博主 ...

  7. tp框架总体学习总结(一)

    一.TP框架的下载和安装 Tp框架下载网址:http://www.thinkphp.cn/ 在wamp的www目录下创建一个目录tpshop目录 1.  将下载好的包压缩后将文件包里的所有文件复制到创 ...

  8. 基于TP框架的ThinkCMF,控制器display方法源码分析

    昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController exten ...

  9. TP框架基础

    什么是TP框架: 一堆代码的集合,里边有变量.函数.类.常量,设计模式MVC.AR数据库.单例等等.全称是Tinkphp框架; 为什么使用框架: 使用框架将全部精力集中在业务层次,节省50-60%的工 ...

  10. tp框架中的一些疑点知识-5

    关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. ...

随机推荐

  1. Istio安装和部署

    Istio的版本对k8s的版本是有要求的,不兼容的版本会引发一些隐蔽的错误,安装前先参考下图 版本 目前支持 发行日期 停止维护 支持的 Kubernetes 版本 未测试,可能支持的 Kuberne ...

  2. C#使用命令行打开diskpart修改盘符

    参考链接: https://www.cnblogs.com/k98091518/p/6019296.html https://learn.microsoft.com/zh-cn/windows-ser ...

  3. vim 从嫌弃到依赖(12)——打开及保存文件

    在前几篇文章中,我们从vim各种模式的使用着手介绍了vim如何进行文本本身的编辑.也通过缓冲区列表的介绍了解到了vim是如何进行打开文件的管理.这篇我们将会着眼于文件的打开和保存的基本操作.通过这篇的 ...

  4. Python 基础知识点归纳

    Python 是一种跨平台的计算机程序设计语言,是一种面向对象的动态类型语言,笔记内容包括编译安装python,python列表,字典,元组,文件操作等命令的基本使用技巧. 编译安装 Python P ...

  5. ESET防病毒软件 v16.2.11.0 - 安全

    上次编写了笔者自己的防护软件的博文:我的电脑防护安全软件 ,今天把ESET防病毒软件的套装的下载地址发出来,让广大的朋友能够免费使用到这个软件. 链接:https://pan.baidu.com/s/ ...

  6. 山泽Typec扩展坞M.2移动固态硬盘盒拓展 - 我的硬件配置

  7. unordered_map模拟实现|STL源码剖析系列|开散列

    博主很久没有更新过STL源码剖析这个系列的文章了,主要是因为大部分STL常用的容器,博主都已经发过文章了,今天博主带着大家把哈希表也模拟实现一下. 前言 那么这里博主先安利一下一些干货满满的专栏啦! ...

  8. 【链表】【python】力扣24. 两两交换链表中的节点【超详细的注释和解释】

    目录 说在前面的话 前言 一.题目(力扣24. 两两交换链表中的节点) 二.题目分析 实现完整代码(Python实现) 总结 说在前面的话 博主也好长一段时间没有更新力扣的刷题系列了,今天给大家带来一 ...

  9. NEMU PA 3-1 实验报告

    一.实验目的 在前面的PA1中,我们实现了CPU和FPU,在PA2中我们实现了对指令的解码和对ELF的装载,以及进一步完善了CLI调试器.那么在整个PA3中,我们将要着力于内存的相关处理,如Cache ...

  10. 【Unity3D】使用GL绘制线段

    1 前言 ​ 线段渲染器LineRenderer.拖尾TrailRenderer.绘制物体表面三角形网格从不同角度介绍了绘制线段的方法,本文再介绍一种新的绘制线段的方法:使用 GL 绘制线段. ​ G ...