From 60af9e899df3fcc19350c49008db87310a791790 Mon Sep 17 00:00:00 2001 From: tardc Date: Tue, 14 Apr 2020 11:48:32 +0800 Subject: [PATCH] Add ThinkPHP2.1_RCE --- ThinkPHP/ThinkPHP2.1_RCE/README.md | 19 +++++++++++++++++++ ThinkPHP/ThinkPHP2.1_RCE/thinkphp_2.1.gif | Bin 0 -> 3153555 bytes 2 files changed, 19 insertions(+) create mode 100644 ThinkPHP/ThinkPHP2.1_RCE/README.md create mode 100644 ThinkPHP/ThinkPHP2.1_RCE/thinkphp_2.1.gif diff --git a/ThinkPHP/ThinkPHP2.1_RCE/README.md b/ThinkPHP/ThinkPHP2.1_RCE/README.md new file mode 100644 index 0000000..e1097f9 --- /dev/null +++ b/ThinkPHP/ThinkPHP2.1_RCE/README.md @@ -0,0 +1,19 @@ +# ThinkPHP 2.1 远程代码执行 + +ThinkPHP 诞生于 2006 年,是一个国产开源的 PHP 开发框架,其借鉴了 Struts 框架的 Action 对象,同时也使用面向对象的开发结构和 MVC 模式。ThinkPHP 可在 Windows 和 Linux 等操作系统运行,支持 MySql、Sqlite 和 PostgreSQL 等多种数据库以及 PDO 扩展,是一款跨平台,跨版本以及简单易用的 PHP 框架。 + +ThinkPHP 2.1 版本中,使用 `preg_replace` 的 `/e` 模式匹配路由: + +```php +$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths)); +``` + +这是个非常危险的参数,如果用了这个参数,`preg_replace` 的第二个参数就会被当做 PHP 代码执行。 + +影响版本:ThinkPHP 2.1 + +FOFA 查询规则:app="ThinkPHP" + +# Demo + +![](thinkphp_2.1.gif) \ No newline at end of file diff --git a/ThinkPHP/ThinkPHP2.1_RCE/thinkphp_2.1.gif b/ThinkPHP/ThinkPHP2.1_RCE/thinkphp_2.1.gif new file mode 100644 index 0000000000000000000000000000000000000000..89e2f806b85d6b9613d98c892a0264ed01f44c07 GIT binary patch literal 3153555 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�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