zoukankan      html  css  js  c++  java
  • ThinkPHP-5.0.23新的RCE漏洞测试和POC

    TP5新RCE漏洞



    昨天又是周五,讨厌周五曝漏洞,还得又得加班,算了,还是先验证一波。新的TP5RCE,据说发现者因为上次的RCE,于是又审计了代码,结果发现的。TP5也成了万人轮啊。

    测试



    环境搭建


    • windows下phpstudy,然后下载tp5.0.23到相应的www目录下
    • linux,安装启动apache和php,下载tp5.0.23到相应www目录下
    • mac(本机) 启动apache, 下载tp5.0.23到/library/Webserver/Documents下

    环境测试


    漏洞验证

    Payload在此不公开,圈内的人大家都在微信群里看到很多了


    备注一个测试遇到的问题:在windows下phpstudy使用assert函数成功,但是在本机mac下不行,怀疑与php版本有关,win下是php5的,mac下是php7的。

    漏洞poc


    # -*- coding:utf-8 -*-
    """
    ThinkPHP-5.0.23 RCE POC
    Author: b0b@c
    """
    
    
    # import libs,modules,files
    import sys
    import requests
    
    
    # global vars & settings
    headers = {
        "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:45.0) Gecko/20100101 Firefox/45.0",
    }
    
    
    # payload
    ...
    
    
    #  main function
    if __name__ == "__main__":
        url = "%s/public/index.php?s=captcha"
        url = url%str(sys.argv[1])
        response1 = requests.post(url,headers=headers,data=data1)
        response2 = requests.post(url,headers=headers,data=data2)
        response3 = requests.post(url,headers=headers,data=data3)
        if (response1.content.find("Configuration File (php.ini) Path") >= 0) or (response2.content.find("index.php") >= 0) or (response3.content.find("index.php") >= 0):
            print "YES,It's Dangerous!@!"
        else:
            print "No,It's Safety!@!"
    
  • 相关阅读:
    hdu1010 Tempter of the Bone(深搜+剪枝问题)
    08-Objective-C特有语法:@property、@synthesize
    Servlet的Response.setContentLength无效
    Java Future
    android一些若干回调测试
    那些有趣的Webview细节
    androidlog日志之 Klog (StackTraceElement)
    曾几何时遇到的bug(viewpager+fragment)
    Android acache读后感
    11-8 定时器this
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/10261523.html
Copyright © 2011-2022 走看看