XSS漏洞靶場---(復現)

XSS漏洞靶場—(復現)

反射型 XSS 的特點是攻擊者誘導用戶點擊包含惡意腳本的 URL,服務器接收到請求后將惡意腳本反射回響應頁面,瀏覽器執行該腳本從而造成攻擊,惡意腳本不會在服務器端存儲。

Level 1(反射型XSS)

image-20250317193251342

image-20250317193110501

此漏洞主要源于代碼對用戶輸入未進行充分的過濾和轉義處理。在 PHP 代碼里,通過 $_GET["name"] 接收用戶從 URL 傳遞過來的 name 參數,接著直接將該參數輸出到 HTML 頁面中。若攻擊者在 name 參數里注入惡意的 JavaScript 代碼,當頁面加載時,這些惡意代碼就會被瀏覽器執行,進而達成 XSS 攻擊。

通過分析源碼,可在name參數上嘗試用簡單的JS代碼進行XSS攻擊,看到下面代碼執行成功

image-20250317192313770

攻擊示例:

http://127.0.0.1/xss-labs-master/level1.php?name=<script> alert("攻擊成功")</script>

修復建議:

為了防止 XSS 攻擊,需要對用戶輸入進行過濾和轉義處理。在 PHP 中,可以使用 htmlspecialchars 函數將特殊字符轉換為 HTML 實體,從而避免惡意代碼被執行

解釋

  • htmlspecialchars($str, ENT_QUOTES, 'UTF-8'):該函數把字符串中的特殊字符(如 <>"' 等)轉換為 HTML 實體(如 <>"' 等),如此一來,即使攻擊者注入了惡意的 JavaScript 代碼,這些代碼也會以文本形式顯示,而不會被瀏覽器執行。
<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     confirm("完成的不錯!");window.location.href="level2.php?keyword=test"; 
}
</script>
<title>歡迎來到level1</title>
</head>
<body>
<h1 align=center>歡迎來到level1</h1>
<?php 
ini_set("display_errors", 0);
$str = $_GET["name"];
// 對用戶輸入進行轉義處理
$escapedStr = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
echo "<h2 align=center>歡迎用戶".$escapedStr."</h2>";
?>
<center><img src=level1.png></center>
<?php 
// 對用于計算長度的字符串也可以考慮進行必要的驗證
$lengthStr = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
echo "<h3 align=center>payload的長度:".strlen($lengthStr)."</h3>";
?>
</body>
</html>

Level 2(反射型XSS)

image-20250317193401601

image-20250317193759284

雖然代碼在部分輸出時使用了 htmlspecialchars 函數對用戶輸入進行了處理,但在表單輸入框的 value 屬性賦值時,沒有對用戶輸入進行足夠的轉義處理。攻擊者可以通過構造特殊的輸入,繞過這種部分防護,使得惡意的 JavaScript 代碼在頁面中被執行,從而實現 XSS 攻擊。

在上述代碼里,$str 是從 $_GET["keyword"] 獲取的用戶輸入,在 <input> 標簽的 value 屬性中直接使用了 $str,而沒有進行合適的轉義。

在h2標簽之中的惡意代碼被htmlspecialchars編碼了。其中<、>都被編碼成了html字符實體,惡意代碼被編碼了,只能從屬性值中的惡意代碼處進行突破了,,只需要將屬性的引號和標簽先閉合就可以了。

攻擊示例:

http://127.0.0.1/xss-labs-master/level2.php?keyword="><script>alert('XSS 攻擊成功!')</script><"

image-20250317193900303

修復建議

為了防止這種 XSS 攻擊,需要對表單輸入框 value 屬性中的用戶輸入也進行轉義處理。可以繼續使用 htmlspecialchars 函數。

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     confirm("完成的不錯!");window.location.href="level3.php?writing=wait"; 
}
</script>
<title>歡迎來到level2</title>
</head>
<body>
<h1 align=center>歡迎來到level2</h1>
<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
// 對輸出到 h2 標簽中的內容進行轉義
$escapedStrH2 = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
// 對輸出到 input 標簽 value 屬性中的內容進行轉義
$escapedStrInput = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
echo "<h2 align=center>沒有找到和".$escapedStrH2."相關的結果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword  value="'.$escapedStrInput.'">
<input type=submit name=submit value="搜索"/>
</form>
</center>';
?>
<center><img src=level2.png></center>
<?php 
// 對用于計算長度的字符串也進行必要的驗證
$lengthStr = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
echo "<h3 align=center>payload的長度:".strlen($lengthStr)."</h3>";
?>
</body>
</html>

Level 3(反射型XSS)

image-20250317194935969

嘗試Level 2 的攻擊方法后未能成功

image-20250317195153096

image-20250317195340074

代碼中對 $str 進行了 htmlspecialchars 處理,在大部分情況下能防止常見的 XSS 攻擊。不過,當攻擊者利用 HTML 事件屬性時,仍可能構造出能執行惡意腳本的情況。在 HTML 標簽的屬性中,如果輸入包含事件處理函數(如 onclickonload 等),即使使用了 htmlspecialchars 轉義了引號,攻擊者依然可以通過構造合適的輸入繞過部分防護。

image-20250317195534631

echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>"."<center>
<form action=level3.php method=GET>
<input name=keyword  value='".htmlspecialchars($str)."'>	
<input type=submit name=submit value=搜索 />
</form>
</center>";

雖然對 value 屬性的值進行了轉義,但如果攻擊者輸入的是包含事件處理函數的內容,可能會引發 XSS 攻擊

攻擊示例:

http://127.0.0.1/xss-labs-master/level3.php?writing='onmouseover='alert("XSS")

'οnmοuseοver='alert(“XSS”)

onmouseover

當用戶將鼠標懸停在輸入框上時,onmouseover 事件觸發,惡意腳本 alert("XSS") 就會被執行

image-20250317201539168

修復建議:

為了更安全地處理用戶輸入,除了使用 htmlspecialchars 對普通字符進行轉義,還需要對可能的 HTML 事件屬性進行過濾和驗證,或者采用更嚴格的白名單機制來允許的字符和屬性。另外,在現代 Web 開發中,可以考慮使用 htmlentities 函數來進行更全面的轉義。

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     confirm("完成的不錯!");window.location.href="level4.php?keyword=try harder!"; 
}
</script>
<title>歡迎來到level3</title>
</head>
<body>
<h1 align=center>歡迎來到level3</h1>
<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
// 更全面的轉義處理
$escapedStr = htmlentities($str, ENT_QUOTES, 'UTF-8');
echo "<h2 align=center>沒有找到和".$escapedStr."相關的結果.</h2>"."<center>
<form action=level3.php method=GET>
<input name=keyword  value='".$escapedStr."'>	
<input type=submit name=submit value=搜索 />
</form>
</center>";
?>
<center><img src=level3.png></center>
<?php 
// 對用于計算長度的字符串也進行轉義
$lengthStr = htmlentities($str, ENT_QUOTES, 'UTF-8');
echo "<h3 align=center>payload的長度:".strlen($lengthStr)."</h3>";
?>
</body>
</html>

Level 4 (反射型XSS)

image-20250317202516270

image-20250317202234224

漏洞分析

  1. 過濾不徹底

代碼嘗試通過 str_replace 函數去除輸入中的 <> 字符,以防止用戶注入 HTML 標簽。然而,攻擊者可以利用 HTML 實體編碼繞過這種過濾。HTML 實體編碼允許將特殊字符用特定的編碼表示,例如 < 可以用 < 表示,> 可以用 > 表示。當頁面輸出時,瀏覽器會將這些實體編碼解析為對應的字符。

  1. 部分輸出轉義問題

雖然在 <h2> 標簽中使用了 htmlspecialchars 對輸出進行轉義,但在 <input> 標簽的 value 屬性中,使用的是經過 str_replace 處理后的 $str3,沒有再次進行全面的轉義,這就給攻擊者留下了可乘之機。

攻擊示例:

http://127.0.0.1/xss - labs - master/level4.php?keyword="onfocus=javascript:alert('xss') "

當用戶點擊該 URL 時,瀏覽器會向服務器發送請求,服務器端代碼通過 $_GET["keyword"] 獲取到 keyword 參數的值為 "onfocus=javascript:alert('xss') "

原代碼中處理邏輯:

$str = $_GET["keyword"];
$str2 = str_replace(">", "", $str);
$str3 = str_replace("<", "", $str2);

這里代碼只是簡單地去除了 <> 字符,而攻擊者輸入的內容中并沒有直接使用 <> 來包裹腳本,所以這種過濾方式對該惡意輸入無效,$str3 仍然是 "onfocus=javascript:alert('xss') "

修復建議:

為了防止此類 XSS 攻擊,需要對用戶輸入進行更嚴格的過濾和轉義處理。可以使用 htmlspecialcharshtmlentities 函數對輸出進行全面轉義,確保特殊字符被正確處理

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     confirm("完成的不錯!");window.location.href="level5.php?keyword=find a way out!"; 
}
</script>
<title>歡迎來到level4</title>
</head>
<body>
<h1 align=center>歡迎來到level4</h1>
<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
// 對輸入進行全面的 HTML 實體編碼轉義
$escapedStr = htmlentities($str, ENT_QUOTES, 'UTF-8');
echo "<h2 align=center>沒有找到和".$escapedStr."相關的結果.</h2>".'<center>
<form action=level4.php method=GET>
<input name=keyword  value="'.$escapedStr.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>
<center><img src=level4.png></center>
<?php 
// 對用于計算長度的字符串也進行轉義
$lengthStr = htmlentities($str, ENT_QUOTES, 'UTF-8');
echo "<h3 align=center>payload的長度:".strlen($lengthStr)."</h3>";
?>
</body>
</html>

Level 5(反射型XSS)

image-20250317210244626

image-20250317210338381

在這段代碼中,$str 變量接收用戶輸入的 keyword 參數,經過一系列處理后存儲在 $str3 中,而 $str3 被直接嵌入到 HTML 表單的 input 標簽的 value 屬性中,沒有進行足夠的 HTML 實體轉義,這就為 XSS 攻擊提供了可能。

攻擊原理:

攻擊者通過構造惡意的 keyword 參數,將包含 JavaScript 代碼的字符串注入到頁面中。當頁面加載時,瀏覽器會執行注入的 JavaScript 代碼,從而實現攻擊目的。例如,使用如下 URL:

http://127.0.0.1/xss-labs-master/level5.php?keyword="><a href=javascript:alert("攻擊成功")>"點這"</a>

在這個 URL 中,keyword 參數的值為 "><a href=javascript:alert("攻擊成功")>"點這"</a>。當頁面加載時,這個惡意代碼會被嵌入到 input 標簽的 value 屬性中,導致瀏覽器執行 alert("攻擊成功") 代碼,顯示一個提示框,表明攻擊成功。

image-20250317211641196

代碼中存在問題的部分:

echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center>
<form action=level5.php method=GET>
<input name=keyword  value="'.$str3.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';

在上述代碼中,$str3 直接被嵌入到 input 標簽的 value 屬性中,沒有進行足夠的 HTML 實體轉義,使得攻擊者可以通過構造惡意的 keyword 參數注入 JavaScript 代碼。

修復建議:

為了防止 XSS 攻擊,需要對用戶輸入的數據進行充分的 HTML 實體轉義。可以使用 htmlspecialchars 函數對 $str3 進行轉義,修改后的代碼如下:

echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center>
<form action=level5.php method=GET>
<input name=keyword  value="'.htmlspecialchars($str3, ENT_QUOTES, 'UTF-8').'">
<input type=submit name=submit value=搜索 />
</form>
</center>';

在這個修改后的代碼中,htmlspecialchars 函數將 $str3 中的特殊字符(如 <>" 等)轉換為 HTML 實體,從而避免了 JavaScript 代碼的注入。ENT_QUOTES 參數表示同時轉換單引號和雙引號,'UTF-8' 表示使用 UTF-8 編碼。

Level 6(反射型)

image-20250317212042882

image-20250317212103797

代碼嘗試對一些常見的用于 XSS 攻擊的關鍵詞進行替換,例如將 <script 替換為 <scr_ipt,將 on 替換為 o_n 等。但這種過濾方式存在嚴重缺陷:

  • 大小寫繞過:過濾操作是基于小寫關鍵詞進行的,攻擊者可以使用大小寫混合的方式繞過過濾。例如,在攻擊 payload "><a hRef=javascript:alert(1)>test</a> 中,使用 hRef 而不是 href,就繞過了對 href 的替換。
  • 不完整過濾:只對部分關鍵詞進行了替換,攻擊者可以利用其他未被過濾的 HTML 屬性和事件來注入惡意腳本。
echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center>
<form action=level6.php method=GET>
<input name=keyword  value="'.$str6.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';

這是漏洞的關鍵所在。雖然對 $str 進行了 htmlspecialchars 處理,但在將 $str6 嵌入到 input 標簽的 value 屬性時,沒有對其進行充分的 HTML 實體轉義。這意味著攻擊者構造的惡意代碼會被直接插入到 HTML 頁面中。

攻擊示例:

http://127.0.0.1/xss-labs-master/level6.php?keyword="><a hRef=javascript:alert(1)>test</a>

當用戶訪問包含惡意 keyword 參數的 URL 時,瀏覽器會解析并執行嵌入在頁面中的惡意腳本。例如,對于 "><a hRef=javascript:alert(1)>test</a> 這個 payload,當頁面加載后,input 標簽的 value 屬性會被提前閉合,后面插入的 <a> 標簽會正常顯示。當用戶點擊這個鏈接時,瀏覽器會執行 javascript:alert(1) 代碼,彈出一個警告框,表明攻擊成功。

image-20250317212810046

Level 7(反射型)

image-20250317213103716

image-20250317213134017

$str2 = str_replace("script", "", $str);
$str3 = str_replace("on", "", $str2);
$str4 = str_replace("src", "", $str3);
$str5 = str_replace("data", "", $str4);
$str6 = str_replace("href", "", $str5);

代碼嘗試對一些常見的用于 XSS 攻擊的關鍵詞進行過濾,將它們替換為空字符串。但這種過濾方式存在明顯缺陷:

  • 過濾不全面:只對部分關鍵詞進行了過濾,攻擊者可以使用其他未被過濾的 HTML 屬性和事件來注入惡意腳本。
  • 可繞過過濾:攻擊者可以通過一些技巧繞過這些過濾,例如使用大小寫混合、重復關鍵字等方式。比如構造 javascscriptript 繞過對 script 的過濾,當過濾操作移除 script 后,仍能形成有效的 javascript
echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center>
<form action=level7.php method=GET>
<input name=keyword  value="'.$str6.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';

這是漏洞的關鍵所在。在將處理后的 $str6 嵌入到 input 標簽的 value 屬性時,沒有對其進行充分的 HTML 實體轉義。這意味著攻擊者構造的惡意代碼會被直接插入到 HTML 頁面中,當瀏覽器解析該頁面時,就會執行惡意腳本。

攻擊示例:

http://127.0.0.1/xss-labs-master/level7.php?keyword="><a hrhrefef=javascscriptript:alert(1)>test</a>

image-20250317213920685

攻擊者構造的 keyword 參數為 "><a hrhrefef=javascscriptript:alert(1)>test</a>。通過重復關鍵字符(如 hrhrefefjavascscriptript),使得過濾函數在移除 hrefscript 后,依然能保留有效的可執行代碼。經過過濾后,hrhrefef 變成 hrefjavascscriptript 變成 javascript,最終在頁面中形成有效的 <a href="javascript:alert(1)">test</a> 代碼,當用戶點擊鏈接時,就會觸發 alert(1) 彈出警告框。

修復建議:
為了防止 XSS 攻擊,需要對最終輸出到頁面的內容進行充分的 HTML 實體轉義。可以使用 htmlspecialchars 函數對 $str6 進行處理,修改后的代碼如下:

$str = strtolower($_GET["keyword"]);
$str2 = str_replace("script", "", $str);
$str3 = str_replace("on", "", $str2);
$str4 = str_replace("src", "", $str3);
$str5 = str_replace("data", "", $str4);
$str6 = str_replace("href", "", $str5);
$escaped_str6 = htmlspecialchars($str6, ENT_QUOTES, 'UTF-8');
echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center>
<form action=level7.php method=GET>
<input name=keyword  value="'.$escaped_str6.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';

通過 htmlspecialchars 函數將特殊字符(如 <>"' 等)轉換為 HTML 實體,這樣即使攻擊者構造了惡意的 keyword 參數,也無法在頁面中執行惡意腳本。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73641.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73641.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73641.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025/3.17 郭院安排會議與南京銀行參訪

目錄 *郭院會議&#xff1a;服務外包*1.會遇到的問題以及解決方案2.考慮行業目前會碰到的瓶頸3.后端應該呈現處理圖像的過程4.記得做報告、文檔說明和視頻等工作 *南京銀行&#xff08;鑫合易家&#xff09;參訪記錄*1. 風險評分業務流程筆記![在這里插入圖片描述](https://i-b…

Cloud Ace 宣布成為 Langfuse 亞太地區首個代理商,提供 LLM 全鏈路解決方案

Cloud Ace 宣布正式代理 Langfuse 產品&#xff0c;是 Langfuse 在亞太地區唯一的官方授權經銷商&#xff0c;全面負責其商用許可證的銷售、部署與技術支持服務。通過此次合作&#xff0c;Cloud Ace 將充分發揮 Langfuse 的先進技術能力與行業專業知識&#xff0c;為企業級客戶…

Helm 的倉庫管理與 Chart 搜索

在使用 Helm 管理 Kubernetes 應用的過程中&#xff0c;倉庫管理與 Chart 搜索是兩個核心功能。通過 Helm 倉庫&#xff0c;用戶可以方便地存儲、分享和獲取 Helm Chart&#xff0c;而搜索功能則幫助用戶快速找到所需的 Chart。本文將詳細介紹 Helm 倉庫的概念、管理方法以及如…

Matlab 汽車振動多自由度非線性懸掛系統和參數研究

1、內容簡介 略 Matlab 169-汽車振動多自由度非線性懸掛系統和參數研究 可以交流、咨詢、答疑 2、內容說明 略 第二章 汽車模型建立 2.1 汽車懸架系統概述 2.1.1 懸架系統的結構和功能 2.1.2 懸架分類 2.2 四分之一車輛模型 對于車輛動力學&#xff0c;一般都是研究其懸…

免訓練指標(Zero-Cost Proxies)

1. 什么是免訓練指標&#xff08;Zero-Cost Proxies&#xff0c;ZC proxies&#xff09;&#xff1f; 免訓練指標是一類 無需完整訓練模型即可評估其性能的度量方法&#xff0c;主要用于提高 神經架構搜索&#xff08;NAS&#xff09; 的效率。 傳統 NAS 需要訓練候選架構來評…

C語言 —— 此去經年夢浪蕩魂音 - 深入理解指針(卷二)

目錄 1. 數組名與地址 2. 指針訪問數組 3.一維數組傳參本質 4.二級指針 5. 指針數組 6. 指針數組模擬二維數組 1. 數組名與地址 我們先看下面這個代碼&#xff1a; int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int* p &arr[0]; 這里我們使用 &arr[0] 的方式拿到了數…

基于Python pyscard庫采集ACS ACR122U NFC讀卡器數據的詳細操作步驟

步驟1&#xff1a;安裝驅動 1. 下載驅動&#xff1a; - 訪問ACS官網的驅動下載頁面&#xff1a;[ACR122U驅動下載](https://www.acs.com.hk/en/drivers/6/acr122u-nfc-reader/)。 - 選擇適用于Windows的驅動&#xff08;如 ACR122U Driver (Windows) V3.05.02.zip&#xff09;…

深度學習 Deep Learning 第1章 深度學習簡介

第1章 深度學習簡介 概述 本章介紹人工智能&#xff08;AI&#xff09;和深度學習領域&#xff0c;討論其歷史發展、關鍵概念和應用。解釋深度學習如何從早期的AI和機器學習方法演變而來&#xff0c;以及如何有效解決之前方法無法應對的挑戰。 關鍵概念 1. 人工智能的演變 …

python實現簡單的圖片去水印工具

python實現簡單的圖片去水印工具 使用說明&#xff1a; 點擊"打開圖片"選擇需要處理的圖片 在圖片上拖拽鼠標選擇水印區域&#xff08;紅色矩形框&#xff09; 點擊"去除水印"執行處理 點擊"保存結果"保存處理后的圖片 運行效果 先簡要說明…

軟件功能性測試有哪些步驟和挑戰?軟件測評服務機構分享

軟件功能性測試是對軟件系統進行驗證的一種基本方法。其主要目標是確保軟件系統能夠按照預期的要求和功能進行操作。從用戶的角度看&#xff0c;功能性測試旨在檢查軟件是否實現了所有要求的功能&#xff0c;保證用戶體驗的順暢與滿意。 一、軟件功能性測試的測試步驟   1、…

《C#上位機開發從門外到門內》3-4:基于TCP/IP的遠程監控系統設計與實現

文章目錄 一、項目概述二、系統架構設計三、通信協議設計四、功能模塊實現五、系統安全性與穩定性六、性能優化與測試七、實際應用案例八、結論 隨著信息技術的飛速發展&#xff0c;遠程監控系統在工業自動化、智能家居、環境監測等領域的應用日益廣泛。基于TCP/IP協議的遠程監…

在react當中利用IntersectionObserve實現下拉加載數據

目錄 一、傳統的下拉加載方案 二、存在問題 1.性能較差 2.不夠精確 三、IntersectionObserve版本下拉加載 1、callback 2、options 四、IntersectionObserver實例 1、Intersection的優勢 2、實現思路 3、代碼實現 在進行前端開發的過程中&#xff0c;常常會碰到下拉…

深入理解C++編程:從內存管理到多態與算法實現

C 是一門功能強大的編程語言&#xff0c;廣泛應用于系統編程、游戲開發和高性能計算等領域。本文將通過一系列經典問題&#xff0c;深入探討 C 的核心知識點&#xff0c;包括內存管理、多態&#xff08;結合函數重載與覆蓋&#xff09;、多線程、TCP/IP 模型、軟鏈接與硬鏈接的…

相對論之光速

然而&#xff0c;基礎物理學的進步很少全部由實驗取得。為了解實驗結果背后的機制&#xff0c;法拉第問道&#xff0c;既然磁鐵沒有接觸導線&#xff0c;導線中怎么會產生電流?一股電流又怎么能使指南針指針發生偏轉?有某種作用因素必然在磁鐵、導線和指南針之間的空隙中傳遞…

文本檢測-文本內容審核-文本過濾接口如何用PHP調用?

一、什么是文本檢測接口呢&#xff1f; 文本內容審核過濾&#xff0c;提供對敏感事件、違規詞語及監管要求封禁詞語的識別審核能力&#xff0c;包含海量歷史數據&#xff0c;有效過濾違禁違規、惡意推廣、低俗辱罵、低質灌水、廣告法審核&#xff0c;該接口應用場景廣泛&#…

突破極限:獵板PCB在HDI盲埋孔樹脂塞孔工藝中的創新與挑戰

在高端電子制造領域&#xff0c;HDI&#xff08;高密度互連&#xff09;技術憑借其高精度、高可靠性的特點&#xff0c;已成為5G通信、航空航天、智能汽車等領域的核心技術支撐。作為HDI板制造的核心環節&#xff0c;盲埋孔樹脂塞孔工藝直接決定了電路板的信號完整性、散熱性能…

群體智能優化算法-?魚優化算法 (Remora Optimization Algorithm, ROA,含Matlab源代碼)

摘要 ?魚優化算法&#xff08;Remora Optimization Algorithm&#xff0c;ROA&#xff09;是一種基于?魚在海洋中寄生與捕食者間交互關系而提出的元啟發式算法。通過模擬?魚在宿主附近進行寄生、吸附和隨機機動等行為&#xff0c;ROA 在全局與局部搜索之間取得平衡。本文提…

【數學建模】一致矩陣的應用及其在層次分析法(AHP)中的性質

一致矩陣在層次分析法(AHP)中的應用與性質 在層次分析法(AHP)中&#xff0c;一致矩陣是判斷矩陣的一種理想狀態&#xff0c;它反映了決策者判斷的完全合理性和一致性&#xff0c;也就是為了避免決策者認為“A比B重要&#xff0c;B比C重要&#xff0c;但是C又比A重要”的矛盾。…

DeepSeek R1 與 ktransformers:結合蘋果 M4 Mac 的 LLM 推理深度分析

引言 大型語言模型&#xff08;LLM&#xff09;的快速發展為人工智能領域帶來了革命性變化。DeepSeek R1 和 ktransformers 代表了軟件層面的最新突破&#xff0c;而蘋果在 2025 年 3 月 12 日發布的 M4 Mac 系列則提供了硬件支持。本文將深入分析這些技術的交匯點&#xff0c…

JavaScript基本知識

文章目錄 一、JavaScript基礎1.變量&#xff08;重點&#xff09;1-1 定義變量及賦值1-2 變量的命名規則和命名規范判斷數據類型&#xff1a; 2.數據類型轉換2-1 其他數據類型轉成數值2-2 其他數據類型轉成字符串2-3 其他數據類型轉成布爾 3.函數3-1函數定義階段3-2函數調用階段…