本文整理汇总了Python中src.utils.settings.print_question_msg函数的典型用法代码示例。如果您正苦于以下问题:Python print_question_msg函数的具体用法?Python print_question_msg怎么用?Python print_question_msg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了print_question_msg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: define_py_working_dir
def define_py_working_dir():
if settings.TARGET_OS == "win" and menu.options.alter_shell:
while True:
if not menu.options.batch:
question_msg = "Do you want to use '" + settings.WIN_PYTHON_DIR
question_msg += "' as Python working directory on the target host? [Y/n] > "
sys.stdout.write(settings.print_question_msg(question_msg))
python_dir = sys.stdin.readline().replace("\n","").lower()
else:
python_dir = ""
if len(python_dir) == 0:
python_dir = "y"
if python_dir in settings.CHOICE_YES:
break
elif python_dir in settings.CHOICE_NO:
question_msg = "Please provide a custom working directory for Python (e.g. '"
question_msg += settings.WIN_PYTHON_DIR + "') > "
sys.stdout.write(settings.print_question_msg(question_msg))
settings.WIN_PYTHON_DIR = sys.stdin.readline().replace("\n","").lower()
break
else:
err_msg = "'" + python_dir + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
settings.USER_DEFINED_PYTHON_DIR = True
# eof
示例2: notification
def notification(url, technique, injection_type):
try:
if settings.LOAD_SESSION == True:
info_msg = "A previously stored session has been held against that host."
print settings.print_info_msg(info_msg)
while True:
if not menu.options.batch:
question_msg = "Do you want to resume to the "
question_msg += "(" + injection_type.split(" ")[0] + ") "
question_msg += technique.rsplit(' ', 2)[0]
question_msg += " injection point? [Y/n] > "
sys.stdout.write(settings.print_question_msg(question_msg))
settings.LOAD_SESSION = sys.stdin.readline().replace("\n","").lower()
else:
settings.LOAD_SESSION = ""
if len(settings.LOAD_SESSION) == 0:
settings.LOAD_SESSION = "y"
if settings.LOAD_SESSION in settings.CHOICE_YES:
return True
elif settings.LOAD_SESSION in settings.CHOICE_NO:
settings.LOAD_SESSION = False
if technique[:1] != "c":
while True:
question_msg = "Which technique do you want to re-evaluate? [(C)urrent/(a)ll/(n)one] > "
sys.stdout.write(settings.print_question_msg(question_msg))
proceed_option = sys.stdin.readline().replace("\n","").lower()
if len(proceed_option) == 0:
proceed_option = "c"
if proceed_option.lower() in settings.CHOICE_PROCEED :
if proceed_option.lower() == "a":
settings.RETEST = True
break
elif proceed_option.lower() == "c" :
settings.RETEST = False
break
elif proceed_option.lower() == "n":
raise SystemExit()
else:
pass
else:
err_msg = "'" + proceed_option + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
if settings.SESSION_APPLIED_TECHNIQUES:
menu.options.tech = ''.join(settings.AVAILABLE_TECHNIQUES)
return False
elif settings.LOAD_SESSION in settings.CHOICE_QUIT:
raise SystemExit()
else:
err_msg = "'" + settings.LOAD_SESSION + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
except sqlite3.OperationalError, err_msg:
print settings.print_critical_msg(err_msg)
示例3: notification
def notification(url, technique):
try:
if settings.LOAD_SESSION == True:
success_msg = "A previously stored session has been held against that host."
print settings.print_success_msg(success_msg)
while True:
question_msg = "Do you want to resume to the "
question_msg += technique.rsplit(' ', 2)[0]
question_msg += " injection point? [Y/n/q] > "
sys.stdout.write(settings.print_question_msg(question_msg))
settings.LOAD_SESSION = sys.stdin.readline().replace("\n","").lower()
if settings.LOAD_SESSION in settings.CHOICE_YES:
return True
elif settings.LOAD_SESSION in settings.CHOICE_NO:
settings.LOAD_SESSION = False
if technique[:1] != "c":
while True:
question_msg = "Which technique do you want to re-evaluate? [(C)urrent/(a)ll/(n)one] > "
sys.stdout.write(settings.print_question_msg(question_msg))
proceed_option = sys.stdin.readline().replace("\n","").lower()
if proceed_option.lower() in settings.CHOICE_PROCEED :
if proceed_option.lower() == "a":
settings.RETEST = True
break
elif proceed_option.lower() == "c":
settings.RETEST = False
break
elif proceed_option.lower() == "n":
raise SystemExit()
else:
pass
else:
if proceed_option.lower() == "":
proceed_option = "enter"
err_msg = "'" + proceed_option + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
return False
elif settings.LOAD_SESSION in settings.CHOICE_QUIT:
raise SystemExit()
else:
if settings.LOAD_SESSION == "":
settings.LOAD_SESSION = "enter"
err_msg = "'" + settings.LOAD_SESSION + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
except sqlite3.OperationalError, err_msg:
print settings.print_critical_msg(err_msg)
示例4: check_for_update
def check_for_update():
try:
response = urllib2.urlopen('https://raw.githubusercontent.com/stasinopoulos/commix/master/src/utils/settings.py')
version_check = response.readlines()
for line in version_check:
line = line.rstrip()
if "VERSION = " in line:
update_version = line.replace("VERSION = ", "").replace("\"", "")
break
if float(settings.VERSION.replace(".","")) < float(update_version.replace(".","")):
warn_msg = "Current version seems to be out-of-date."
print settings.print_warning_msg(warn_msg)
while True:
question_msg = "Do you want to update to the latest version now? [Y/n] > "
sys.stdout.write(settings.print_question_msg(question_msg))
do_update = sys.stdin.readline().replace("\n","").lower()
if do_update in settings.CHOICE_YES:
updater()
os._exit(0)
elif do_update in settings.CHOICE_NO:
break
else:
if do_update == "":
do_update = "enter"
err_msg = "'" + do_update + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
except:
print ""
pass
# eof
示例5: continue_tests
def continue_tests(err):
# If defined "--ignore-401" option, ignores HTTP Error 401 (Unauthorized)
# and continues tests without providing valid credentials.
if menu.options.ignore_401:
settings.WAF_ENABLED = True
return True
# Possible WAF/IPS/IDS
if (str(err.code) == "403" or "406") and \
not menu.options.skip_waf:
# Check if "--skip-waf" option is defined
# that skips heuristic detection of WAF/IPS/IDS protection.
settings.WAF_ENABLED = True
warn_msg = "It seems that target is protected by some kind of WAF/IPS/IDS."
print settings.print_warning_msg(warn_msg)
try:
while True:
question_msg = "Do you want to ignore the error (" + str(err.code)
question_msg += ") message and continue the tests? [Y/n/q] > "
continue_tests = raw_input(settings.print_question_msg(question_msg)).lower()
if continue_tests in settings.CHOICE_YES:
return True
elif continue_tests in settings.CHOICE_NO:
return False
elif continue_tests in settings.CHOICE_QUIT:
return False
else:
if continue_tests == "":
continue_tests = "enter"
err_msg = "'" + continue_tests + "' is not a valid answer."
print settings.print_error_msg(err_msg) + "\n"
pass
except KeyboardInterrupt:
print "\n" + Back.RED + settings.ABORTION_SIGN + "Ctrl-C was pressed!" + Style.RESET_ALL
raise SystemExit()
示例6: ps_check
def ps_check():
if settings.PS_ENABLED == None and menu.options.is_admin or menu.options.users or menu.options.passwords:
if settings.VERBOSITY_LEVEL >= 1:
print ""
warn_msg = "The payloads in some options that you "
warn_msg += "have chosen, are requiring the use of PowerShell. "
print settings.print_warning_msg(warn_msg)
while True:
question_msg = "Do you want to use the \"--ps-version\" option "
question_msg += "so ensure that PowerShell is enabled? [Y/n/q] > "
sys.stdout.write(settings.print_question_msg(question_msg))
ps_check = sys.stdin.readline().replace("\n","").lower()
if ps_check in settings.CHOICE_YES:
menu.options.ps_version = True
break
elif ps_check in settings.CHOICE_NO:
break
elif ps_check in settings.CHOICE_QUIT:
print ""
os._exit(0)
else:
if ps_check == "":
ps_check = "enter"
err_msg = "'" + ps_check + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
示例7: mobile_user_agents
def mobile_user_agents():
print """---[ """ + Style.BRIGHT + Fore.BLUE + """Available Mobile HTTP User-Agent headers""" + Style.RESET_ALL + """ ]---
Type '""" + Style.BRIGHT + """1""" + Style.RESET_ALL + """' for BlackBerry 9900 HTTP User-Agent header.
Type '""" + Style.BRIGHT + """2""" + Style.RESET_ALL + """' for Samsung Galaxy S HTTP User-Agent header.
Type '""" + Style.BRIGHT + """3""" + Style.RESET_ALL + """' for HP iPAQ 6365 HTTP User-Agent header.
Type '""" + Style.BRIGHT + """4""" + Style.RESET_ALL + """' for HTC Sensation HTTP User-Agent header.
Type '""" + Style.BRIGHT + """5""" + Style.RESET_ALL + """' for Apple iPhone 4s HTTP User-Agent header.
Type '""" + Style.BRIGHT + """6""" + Style.RESET_ALL + """' for Google Nexus 7 HTTP User-Agent header.
Type '""" + Style.BRIGHT + """7""" + Style.RESET_ALL + """' for Nokia N97 HTTP User-Agent header.
"""
while True:
question_msg = "Which mobile HTTP User-Agent header do you want to use? "
sys.stdout.write(settings.print_question_msg(question_msg))
mobile_user_agent = sys.stdin.readline().replace("\n","").lower()
try:
if int(mobile_user_agent) in range(0,len(settings.MOBILE_USER_AGENT_LIST)):
return settings.MOBILE_USER_AGENT_LIST[int(mobile_user_agent)]
elif mobile_user_agent.lower() == "q":
raise SystemExit()
else:
err_msg = "'" + mobile_user_agent + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
except ValueError:
err_msg = "'" + mobile_user_agent + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
示例8: process_json_data
def process_json_data():
while True:
success_msg = "JSON data found in POST data."
if not menu.options.batch:
question_msg = success_msg
question_msg += " Do you want to process it? [Y/n] > "
sys.stdout.write(settings.print_question_msg(question_msg))
json_process = sys.stdin.readline().replace("\n","").lower()
else:
if settings.VERBOSITY_LEVEL >= 1:
print settings.print_success_msg(success_msg)
json_process = ""
if len(json_process) == 0:
json_process = "y"
if json_process in settings.CHOICE_YES:
settings.IS_JSON = True
break
elif json_process in settings.CHOICE_NO:
break
elif json_process in settings.CHOICE_QUIT:
raise SystemExit()
else:
err_msg = "'" + json_process + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
示例9: exploitation
def exploitation(url, delay, filename, http_request_method, url_time_response):
if url_time_response >= settings.SLOW_TARGET_RESPONSE:
warn_msg = "It is highly recommended, due to serious response delays, "
warn_msg += "to skip the time-based (blind) technique and to continue "
warn_msg += "with the file-based (semiblind) technique."
print settings.print_warning_msg(warn_msg)
go_back = False
while True:
if go_back == True:
return False
question_msg = "How do you want to proceed? [(C)ontinue/(s)kip/(q)uit] > "
proceed_option = raw_input(settings.print_question_msg(question_msg)).lower()
if proceed_option.lower() in settings.CHOICE_PROCEED :
if proceed_option.lower() == "s":
from src.core.injections.semiblind.techniques.file_based import fb_handler
fb_handler.exploitation(url, delay, filename, http_request_method, url_time_response)
elif proceed_option.lower() == "c":
if tb_injection_handler(url, delay, filename, http_request_method, url_time_response) == False:
return False
elif proceed_option.lower() == "q":
raise SystemExit()
else:
if proceed_option == "":
proceed_option = "enter"
err_msg = "'" + proceed_option + "' is not a valid answer."
print settings.print_error_msg(err_msg) + "\n"
pass
else:
if tb_injection_handler(url, delay, filename, http_request_method, url_time_response) == False:
return False
示例10: custom_srv_root_dir
def custom_srv_root_dir():
if settings.TARGET_OS == "win" :
example_root_dir = "\\inetpub\\wwwroot"
else:
example_root_dir = "/var/www/"
question_msg = "Please provide the host's root directory (e.g. '"
question_msg += example_root_dir + "') > "
settings.SRV_ROOT_DIR = raw_input(settings.print_question_msg(question_msg))
settings.CUSTOM_SRV_ROOT_DIR = True
示例11: custom_srv_root_dir
def custom_srv_root_dir():
if settings.TARGET_OS == "win" :
example_root_dir = "\\inetpub\\wwwroot"
else:
example_root_dir = "/var/www/"
question_msg = "Please provide the host's root directory (e.g. '"
question_msg += example_root_dir + "') > "
sys.stdout.write(settings.print_question_msg(question_msg))
settings.SRV_ROOT_DIR = sys.stdin.readline().replace("\n","").lower()
settings.CUSTOM_SRV_ROOT_DIR = True
示例12: create_github_issue
def create_github_issue(err_msg, exc_msg):
key = hashlib.md5(exc_msg).hexdigest()[:8]
while True:
try:
if not menu.options.batch:
question_msg = "Do you want to automatically create a new (anonymized) issue "
question_msg += "with the unhandled exception information at "
question_msg += "the official Github repository? [y/N] "
sys.stdout.write(settings.print_question_msg(question_msg))
choise = sys.stdin.readline().replace("\n","").lower()
else:
choise = ""
if len(choise) == 0:
choise = "n"
if choise in settings.CHOICE_YES:
break
elif choise in settings.CHOICE_NO:
print ""
return
else:
err_msg = "'" + choise + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
except:
print "\n"
raise SystemExit()
err_msg = err_msg[err_msg.find("\n"):]
req = urllib2.Request(url="https://api.github.com/search/issues?q=" + \
urllib.quote("repo:commixproject/commix" + " " + "Unhandled exception (#" + str(key) + ")")
)
try:
content = urllib2.urlopen(req).read()
_ = json.loads(content)
duplicate = _["total_count"] > 0
closed = duplicate and _["items"][0]["state"] == "closed"
if duplicate:
warn_msg = "That issue seems to be already reported"
if closed:
warn_msg += " and resolved. Please update to the latest "
warn_msg += "(dev) version from official GitHub repository at '" + settings.GIT_URL + "'"
warn_msg += ".\n"
print settings.print_warning_msg(warn_msg)
return
except:
pass
data = {"title": "Unhandled exception (#" + str(key) + ")", "body": "```" + str(err_msg) + "\n```\n```\n" + str(exc_msg) + "```"}
req = urllib2.Request(url="https://api.github.com/repos/commixproject/commix/issues", data=json.dumps(data), headers={"Authorization": "token " + str(settings.GITHUB_REPORT_OAUTH_TOKEN.decode("base64"))})
try:
content = urllib2.urlopen(req).read()
except Exception, err:
content = None
示例13: check_unicorn_version
def check_unicorn_version(current_version):
try:
if len(current_version) != 0:
response = urllib2.urlopen('https://raw.githubusercontent.com/trustedsec/unicorn/master/unicorn.py', timeout=1)
latest_version = response.readlines()
for line in latest_version:
line = line.rstrip()
if "Magic Unicorn Attack Vector v" in line:
latest_version = line.replace("Magic Unicorn Attack Vector v", "").replace(" ", "").replace("-","").replace("\"","").replace(")","")
break
if len(current_version) == 0 or \
(int(current_version.replace(".","")[:2]) < int(latest_version.replace(".","")[:2])) or \
((int(current_version.replace(".","")[:2]) == int(latest_version.replace(".","")[:2])) and \
int(current_version.replace(".","")[2:]) < int(latest_version.replace(".","")[2:])):
if len(current_version) != 0:
warn_msg = "Current version of TrustedSec's Magic Unicorn (" + current_version + ") seems to be out-of-date."
print settings.print_warning_msg(warn_msg)
else:
warn_msg = "TrustedSec's Magic Unicorn seems to be not installed."
print settings.print_warning_msg(warn_msg)
while True:
if not menu.options.batch:
if len(current_version) == 0:
action = "install"
else:
action = "update to"
question_msg = "Do you want to " + action + " the latest version now? [Y/n] > "
sys.stdout.write(settings.print_question_msg(question_msg))
do_update = sys.stdin.readline().replace("\n","").lower()
else:
do_update = ""
if len(do_update) == 0:
do_update = "y"
if do_update in settings.CHOICE_YES:
unicorn_updater(current_version)
elif do_update in settings.CHOICE_NO:
break
else:
err_msg = "'" + do_update + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
except KeyboardInterrupt:
raise
except:
pass
# eof
示例14: do_check
def do_check(url, filename):
if perform_checks(url,filename) == False:
if menu.options.level == None:
menu.options.level = settings.DEFAULT_INJECTION_LEVEL
scan_level = menu.options.level
while scan_level < settings.HTTP_HEADER_INJECTION_LEVEL and settings.LOAD_SESSION == None:
question_msg = "Do you want to increase to '--level=" + str(scan_level + 1)
question_msg += "' in order to perform more tests? [Y/n/q] > "
sys.stdout.write(settings.print_question_msg(question_msg))
next_level = sys.stdin.readline().replace("\n","").lower()
if next_level in settings.CHOICE_YES:
menu.options.level = int(menu.options.level + scan_level)
if perform_checks(url,filename) == False and scan_level < settings.HTTP_HEADER_INJECTION_LEVEL :
scan_level = scan_level + 1
else:
break
elif next_level in settings.CHOICE_NO:
break
elif next_level in settings.CHOICE_QUIT:
sys.exit(0)
else:
if next_level == "":
next_level = "enter"
err_msg = "'" + next_level + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass
# All injection techniques seems to be failed!
if settings.CLASSIC_STATE == settings.EVAL_BASED_STATE == settings.TIME_BASED_STATE == settings.FILE_BASED_STATE == False :
print menu.options.level
if settings.INJECTION_CHECKER == False:
err_msg = "All tested parameters "
if menu.options.level > 2:
err_msg += "and headers "
err_msg += "appear to be not injectable."
if not menu.options.alter_shell :
err_msg += " Try to use the option '--alter-shell'"
else:
err_msg += " Try to remove the option '--alter-shell'"
if menu.options.level < settings.HTTP_HEADER_INJECTION_LEVEL :
err_msg += " and/or try to increase '--level' values to perform"
err_msg += " more tests (i.e 'User-Agent', 'Referer', 'Cookie' etc)"
err_msg += "."
print settings.print_critical_msg(err_msg)
sys.exit(0)
#eof
示例15: set_php_working_dir
def set_php_working_dir():
while True:
if not menu.options.batch:
question_msg = "Do you want to use '" + settings.WIN_PHP_DIR
question_msg += "' as PHP working directory on the target host? [Y/n] > "
sys.stdout.write(settings.print_question_msg(question_msg))
php_dir = sys.stdin.readline().replace("\n","").lower()
else:
php_dir = ""
if len(php_dir) == 0:
php_dir = "y"
if php_dir in settings.CHOICE_YES:
break
elif php_dir in settings.CHOICE_NO:
question_msg = "Please provide a custom working directory for PHP (e.g. '"
question_msg += settings.WIN_PHP_DIR + "') > "
sys.stdout.write(settings.print_question_msg(question_msg))
settings.WIN_PHP_DIR = sys.stdin.readline().replace("\n","").lower()
settings.USER_DEFINED_PHP_DIR = True
break
else:
err_msg = "'" + php_dir + "' is not a valid answer."
print settings.print_error_msg(err_msg)
pass