前言

大部分的MVC框架,访问的控制器大部分是由外部参数来决定的,那么本篇文章所通读的MVC框架与之前的一系列MVC框架不太一样,它的路由是由程序本身的路由表来决定的。

源码下载 https://www.jb51.net/codes/673736.html

环境安装

访问http://127.0.0.1/install/setup.php

配置好/config.php

完成安装

MVC的了解

访问流程

之前总是说web应用程序,并没有特别理解为什么它叫应用程序?程序的逻辑不是从头运行到尾嘛,但这里这么多文件。后面才发现,其实web应用程序也是这样,只是经过了路由的作用,将程序走向指向了某个文件,然后继续执行,直到返回响应,代表程序结束。

直接到Index.php

配置了全局的路径参数,再对应用的主程序进行了包含。

查看被包含的文件

然后对程序进行慢慢分析

分析路由部分

Router驱动中,先指定路由所在的目录,然后通过遍历目录,对所有的分路由进行包含

此处需要自己去尝试分析

服务器接受到的是http协议中的所有信息,所以/path或param解析全靠后端进行处理,这也就解释了为什么tp框架那种别扭的写法index.php/asd/aasd, 这和普通的文件服务器路由处理是不一样的而已

看懂了路由,现在开始进行漏洞分析

cms重装漏洞

再次访问安装界面,直接正常执行。。。这个漏洞的危害不用多说,直接让你gg。它是由于cms安装好之后,没有把install相关的文件删除。或者说再次重装的时候,没有过滤,导致程序可以正常执行,从而完成重装操作。现在的cms避免管理人员忘记删除的后果,一般都加了部分的标志,程序再运行前,先要检查对应的标志,判断是否继续执行。

无限sql注入

定位到login处理逻辑

跟进login函数

看下post处理了啥

真的只过滤了xss,对sql没有任何的过滤,这不就随便注入

存储型XSS

可以看到,虽然进行了过滤,但前提是字符串是<123123>形式的才会进行过滤,如果注入点本身就在一个属性中,那就根本不会进入过滤范围。

所以找个注入点在属性中的即可

最新文章

  1. 个人理解的javascript作用域链与闭包
  2. 运动曲线提升CSS动画效果
  3. [推荐] WordPress主题使用Google Fonts字体访问不了的解决办法
  4. HDU1151Air Raid(二分图的最大匹配)
  5. 研究validation插件到现在的感受
  6. android架构介绍
  7. 嵌入式开发笔记 - U-Boot相关
  8. 《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式
  9. error LNK2001
  10. ASP.NET获取客户端信息,获取客户端IP等等
  11. Filter 解决web网页跳转乱码
  12. canvas粒子时钟
  13. shell编程企业级实战(2)
  14. 剖析HBase负载均衡和性能指标
  15. svn 删除svn项目命令
  16. 【软件工程1916|W(福州大学)_助教博客】团队第四次作业(第7次)成绩公示
  17. 191. Number of 1 Bits (Int; Bit)
  18. Python的全局和局部变量
  19. 【翻唱】【你的名字MAD】爱你等于爱自己
  20. css (具体代码看笔记本)

热门文章

  1. hdu 1027 Ignatius and the Princess II(正、逆康托)
  2. Red Hat Enterprise Linux (RHEL) 9 更新了什么,即 Rocky Linux 9 和 AlmaLinux 9 展望
  3. MySQL到底能否解决幻读问题
  4. 体验webhooks
  5. [第二章]c++学习笔记1(类和对象的基础2)
  6. [atARC128F]Game against Robot
  7. [atAGC043B]123 Triangle
  8. [luogu5162]WD与积木
  9. [loj3364]植物比较
  10. 浅讲.Net 6之ConfigurationManager