ThinkPHP有哪些渗透方式

  介绍

这篇文章给大家分享的是有关ThinkPHP有哪些渗透方式的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

ThinkPHP是一个快速,兼容而且简单的轻量级国产PHP开发框架,可以支持Windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql, PgSQL, Sqlite多种数据库以及PDO扩展。

<强>运行日志

在ThinkPHP3的版本中,入口文件index . PHP是跟应用目录,框架目录在同一个目录下的,在调试开启的状态下,会在运行时生成日志文件,泄露一些管理员登录后台的账号密码等.tp3的日志文件命名规则为:根目录(或者应用目录)/运行/Logs/管理/20 _08_17.log(年份前2位_月份_日。日志)

 ThinkPHP有哪些渗透方式

在tp5的版本中,入口文件指数是在公共的目录下,它跟应用目录,框架目录不在同一个目录,但是有些管理员会将入口文件放置到跟应用目录,框架目录同目录,tp5的命名规则为:

。/运行/日志/202008/17.log(./运行/日志/年月/日。日志)

 ThinkPHP有哪些渗透方式

<强>写入函数

在ThinkPHP3中,后台有时会写入配置文件来getshell的,所以我倾向全局查找这个写入函数,然后在网上找个代码——yershop (TP3开发的那个版本)来进行审计,后台可以通过写入文件来拿壳。全局查找写入函数,发现控制器AddonsController.class。php中构建的存在。

 ThinkPHP有哪些渗透方式

发现存在两处写入文件,这里第一处需要满足以下条件:

 addon_dir美元可控,美元数据可控,美元addonModel可控

第二处需要满足:

$ data [& # 39; has_config& # 39;],==, 1美元addon_dir可控

跟踪发现数据是美元从全局后获取的,所有可控,即美元addon_dir可控。

 ThinkPHP有哪些渗透方式

构造负载如下,后台创建扩展。

 ThinkPHP有哪些渗透方式

点击确定,抓包,首先会判断标识名这个插件是否存在,不存在就执行构建访问。

 ThinkPHP有哪些渗透方式

由于要写入config . php这个文件需要满足$ data [& # 39; has_config& # 39;)==1,最后构造负载。

访问:index . php ? s=/Admin/插件/构建。null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

ThinkPHP有哪些渗透方式