标签:审计 过滤 程序 MVC shangfancms php cms 路由
前言
大部分的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>形式的才会进行过滤,如果注入点本身就在一个属性中,那就根本不会进入过滤范围。
所以找个注入点在属性中的即可
标签:审计,过滤,程序,MVC,shangfancms,php,cms,路由 来源: https://www.cnblogs.com/Aurora-M/p/15666602.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。