还有一个tp思路日志泄露http://127.0.0.1/Application/Runtime/Logs/Admin/20_10_28.log。屡试不爽
第一次投稿,表哥们亲拍
1、 ThinkPHP
ThinkPHP是一个开源免费的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。同时遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售
ThinkPHP (TP)
算是国内主流的一个PHP框架,首先上手快,资料多,学习成本很低,而且也是我第一个接触的MVC框架。
TP主要分为以下几个版本: TP3
、 TP5
、 TP6
大可能出现漏洞的范围,或者说常见的漏洞(肯定不全,一般的思路):
- TP3
- SQLi
- TP5
- RCE
- TP6
- 任意文件操作
由于 TP
是个国内较为主流的框架,在SRC或者众测中经常遇到基于 TP
的业务系统,那么接下来,我会以案例讲解我渗透 TP
的思路。
1.1 确定版本
对于确定版本信息,一般可以在xxx/index.php/index/ 任意字符
一般就会出现无法找到控制器的报错信息,就可以确定版本(如果没自定义错误页面的话)。
2、案例1- .SVN
-> SQLi
-> GetShell
2.1 .SVN
在挖掘某SRC时,直接一个登陆界面,简单查看url为: xxxx/index.php/Home/Login
,初步判定 TP
框架
随手加上 .SVN
,403 ,稳了。 SVN
泄露,利用:https://github.com/admintony/svnExploit/ 把源码download下来:
某些关键字可能与SRC有关,因此隐去。
├── Application 应用目录(一般前后台两个应用)
│ ├── Admin
│ │ ├── Action 控制器 (重要)
│ │ ├── Common
│ │ ├── Conf
│ │ ├── Model
│ │ ├── View
│ │ └── index.html
│ ├── Common (公共配置文件)│ ├── Home
│ │ ├── Action 控制器(重要)
│ │ ├── Common
│ │ ├── Conf
│ │ ├── Model
│ │ ├── View
│ │ └── index.html
│ └── Lib (库)
├── Public 公开资源,例如js,css,或者上传的image
│ ├── css