SQL注入漏洞檢測

預計更新
  1. SQL注入概述
    1.1 SQL注入攻擊概述
    1.2 SQL注入漏洞分類
    1.3 SQL注入攻擊的危害

  2. SQLMap介紹
    2.1 SQLMap簡介
    2.2 SQLMap安裝與配置
    2.3 SQLMap基本用法

  3. SQLMap進階使用
    3.1 SQLMap高級用法
    3.2 SQLMap配置文件詳解
    3.3 SQLMap插件的使用

  4. SQL注入漏洞檢測
    4.1 SQL注入漏洞檢測基礎
    4.2 SQL注入漏洞檢測工具
    4.3 SQL注入漏洞檢測實戰

  5. SQL注入漏洞利用
    5.1 SQL注入漏洞利用介紹
    5.2 SQLMap利用SQL注入漏洞
    5.3 SQL注入漏洞利用實戰

  6. SQL注入防御
    6.1 SQL注入防御基礎
    6.2 防御SQL注入的最佳實踐
    6.3 使用SQLMap測試防御效果

  7. SQL注入繞過技術
    7.1 SQL注入繞過技術介紹
    7.2 繞過WAF
    7.3 繞過輸入過濾

  8. SQL注入攻擊的后果
    8.1 數據泄露
    8.2 數據篡改
    8.3 數據刪除

  9. SQL注入漏洞的利用場景
    9.1 SQL注入漏洞的利用場景介紹
    9.2 電商網站SQL注入漏洞利用實戰
    9.3 CMS網站SQL注入漏洞利用實戰

  10. SQL注入漏洞的漏洞挖掘與利用
    10.1 SQL注入漏洞的漏洞挖掘方法
    10.2 SQL注入漏洞利用的高級技巧
    10.3 SQL注入漏洞利用的未來趨勢

SQL注入漏洞檢測基礎

SQL注入漏洞是一種常見的安全漏洞,攻擊者可以通過注入惡意的SQL語句來獲取敏感信息、篡改數據、甚至控制整個數據庫。滲透測試工程師需要掌握SQL注入漏洞的檢測技術,以便在測試中及時發現和利用漏洞。本文將從滲透測試工程師的角度,詳細介紹SQL注入漏洞的檢測基礎,包括常見的注入點、注入方式、手工注入和自動化注入等。

  1. 常見的注入點

SQL注入漏洞通常存在于Web應用程序的數據庫查詢語句中。以下是一些常見的注入點:

  • GET參數
  • POST參數
  • Cookie
  • HTTP頭部信息
  • 用戶名和密碼

在進行滲透測試時,需要對這些注入點進行測試,以發現潛在的SQL注入漏洞。

  1. 常見的注入方式

SQL注入漏洞可以通過不同的方式進行利用。以下是一些常見的注入方式:

  • 基于錯誤的注入:攻擊者可以利用數據庫返回的錯誤信息來推斷出數據庫結構和數據。
  • 基于聯合查詢的注入:攻擊者可以通過聯合查詢來獲取額外的數據。
  • 基于布爾盲注的注入:攻擊者可以通過不斷猜測來推斷出數據庫中的數據。
  • 基于時間盲注的注入:攻擊者可以通過延長查詢時間來推斷出數據庫中的數據。
  • 基于報錯盲注的注入:攻擊者可以通過在SQL語句中插入惡意代碼來觸發服務器返回錯誤信息。

在進行滲透測試時,需要熟悉這些注入方式,并根據實際情況選擇合適的方式進行測試。

  1. 手工注入

手工注入是指通過手動修改URL或表單參數來測試SQL注入漏洞。以下是一個手工注入的例子:

假設目標網站的登錄頁面為http://example.com/login.php,其中包含用戶名和密碼兩個輸入框。我們可以通過在用戶名輸入框中輸入以下內容來測試SQL注入漏洞:

' or 1=1#

這樣會使查詢語句變為:

SELECT * FROM users WHERE username='' or 1=1#' AND password='xxx'

其中,#表示注釋掉后面的內容,使查詢語句變為有效的語句。如果查詢結果包含了所有用戶,那么該網站就存在SQL注入漏洞。

手工注入需要對SQL語言有一定的了解,對于復雜的注入點和注入方式,手工注入可能會比較困難。

  1. 自動化注入

自動化注入是指使用自動化工具進行SQL注入漏洞的檢測。自動化工具可以自動發現注入點和注入方式,快速地進行測試,并生成測試報告。以下是一些常見的自動化工具:

  • SQLMap:一款流行的自動化SQL注入工具,支持多種注入方式和多種數據庫。
  • Havij:一款商業的自動化SQL注入工具,支持多種注入方式和多種數據庫。
  • Burp Suite:一款常用的Web應用程序滲透測試工具,可以通過插件進行SQL注入漏洞的檢測。

自動化注入可以快速地發現SQL注入漏洞,并生成詳細的測試報告,但也存在一定的誤報和漏報率。在使用自動化工具時,需要結合手工注入和其他測試技術進行綜合分析。

  1. 防范措施

為了防范SQL注入漏洞,應該采取以下措施:

  • 輸入驗證:對于所有的輸入參數,都應該進行驗證和過濾,確保輸入的內容符合預期。
  • 參數化查詢:使用參數化查詢可以防止SQL注入漏洞,參數化查詢可以使得SQL語句和參數分開處理,避免惡意代碼的注入。
  • 最小權限原則:數據庫用戶應該分配最小的權限,避免惡意用戶對數據庫進行操作。
  • 安全編碼:編寫安全的代碼可以避免常見的安全漏洞,如SQL注入漏洞。
  1. 總結

SQL注入漏洞是一種常見的安全漏洞,滲透測試工程師需要掌握SQL注入漏洞的檢測技術,以便在測試中及時發現和利用漏洞。常見的注入點包括GET參數、POST參數、Cookie、HTTP頭部信息和用戶名密碼等,常見的注入方式包括基于錯誤的注入、基于聯合查詢的注入、基于布爾盲注的注入、基于時間盲注的注入和基于報錯盲注的注入等。手工注入需要對SQL語言有一定的了解,自動化注入可以快速地發現SQL注入漏洞,并生成詳細的測試報告。為了防范SQL注入漏洞,應該采取輸入驗證、參數化查詢、最小權限原則和安全編碼等措施。

SQL注入漏洞檢測工具

SQL注入漏洞是一種常見的安全漏洞,攻擊者可以通過注入惡意SQL語句來獲取敏感信息、篡改數據、甚至控制整個數據庫。為了及時發現和利用SQL注入漏洞,滲透測試工程師需要掌握SQL注入漏洞檢測工具。本文將從滲透測試工程師的角度,詳細介紹SQL注入漏洞檢測工具,包括手動工具和自動化工具。

  1. 手動工具

手動工具是指通過手動修改URL或表單參數來測試SQL注入漏洞。以下是一些常見的手動工具:

  • SQL注入掃描器:SQL注入掃描器是一種基于Web的工具,可以快速地掃描Web應用程序中的SQL注入漏洞。這些工具通常會自動檢測注入點,并嘗試使用不同的注入方式進行攻擊。一些流行的SQL注入掃描器包括Sqlmap、Havij等。例如,使用Sqlmap進行注入測試的命令如下:
sqlmap -u "http://example.com/index.php?id=1" --dbs
  • Burp Suite:Burp Suite是一種強大的Web應用程序滲透測試工具,可以手動測試SQL注入漏洞。通過Burp Suite的代理,滲透測試工程師可以捕獲HTTP請求,并手動修改請求參數來測試注入漏洞。例如,可以通過Burp Suite的Intruder模塊來測試SQL注入漏洞。
  1. 自動化工具

自動化工具是指使用專門的軟件來自動掃描和測試SQL注入漏洞。以下是一些常見的自動化工具:

  • Sqlmap:Sqlmap是一種流行的自動化SQL注入工具,可以自動檢測和利用SQL注入漏洞。Sqlmap支持多種注入方式和技術,可以自動檢測注入點,并嘗試使用不同的注入方式進行攻擊。使用Sqlmap進行注入測試的命令如下:
sqlmap -u "http://example.com/index.php?id=1" --dbs
  • Acunetix:Acunetix是一種自動化Web應用程序安全測試工具,可以檢測和利用SQL注入漏洞。Acunetix具有流行的漏洞數據庫,并使用先進的技術來識別和利用SQL注入漏洞。

  • Nessus:Nessus是一種網絡漏洞掃描器,可以自動掃描Web應用程序中的SQL注入漏洞。Nessus可以檢測多種SQL注入漏洞,包括基于錯誤的注入、基于時間的注入等。

  1. SQL注入漏洞檢測工具的使用技巧

雖然SQL注入漏洞檢測工具可以幫助滲透測試工程師快速發現和利用SQL注入漏洞,但是也存在一些使用技巧和注意事項:

  • 手動測試:雖然自動化工具可以快速掃描和測試SQL注入漏洞,但是手動測試仍然是必要的。手動測試可以幫助滲透測試工程師理解Web應用程序的數據流和漏洞利用方式,并發現一些自動化工具可能無法檢測到的漏洞。

  • 安全漏洞掃描:安全漏洞掃描是一種快速檢測Web應用程序中存在的安全漏洞的方法。滲透測試工程師可以使用安全漏洞掃描工具來掃描Web應用程序中的SQL注入漏洞,并及時修復這些漏洞。

  • 注入點:注入點是指Web應用程序中可以進行SQL注入攻擊的位置。滲透測試工程師需要仔細分析Web應用程序的參數和URL,并確定可能存在的注入點。

  • 注入方式:注入方式是指攻擊者使用的SQL注入技術。常見的SQL注入技術包括基于錯誤的注入、基于時間的注入、聯合查詢注入等。滲透測試工程師需要熟悉這些注入方式,并使用相應的工具進行測試。

  • 數據庫類型:不同的數據庫類型可能存在不同的SQL注入漏洞。滲透測試工程師需要了解Web應用程序使用的數據庫類型,并使用相應的工具進行測試。

  1. 示例

以下是一個使用Sqlmap檢測SQL注入漏洞的示例:

步驟1:使用Sqlmap掃描目標URL,檢測是否存在注入漏洞。

sqlmap -u "http://example.com/index.php?id=1" --dbs

步驟2:如果存在注入漏洞,則使用Sqlmap獲取數據庫信息。

sqlmap -u "http://example.com/index.php?id=1" -D database_name --tables

步驟3:獲取表信息。

sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --columns

步驟4:獲取列信息。

sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name -C column_name --dump

步驟5:獲取數據信息。

通過以上步驟,攻擊者可以利用SQL注入漏洞獲取敏感信息、篡改數據、甚至控制整個數據庫。

總結

SQL注入漏洞是一種常見的安全漏洞,攻擊者可以通過注入惡意SQL語句來獲取敏感信息、篡改數據、甚至控制整個數據庫。為了及時發現和利用SQL注入漏洞,滲透測試工程師需要掌握SQL注入漏洞檢測工具。本文介紹了手動工具和自動化工具,并提供了使用技巧和注意事項。滲透測試工程師可以根據實際需求,選擇合適的工具和方法來發現和利用SQL注入漏洞。

SQL注入漏洞檢測實戰

為了更好地了解如何實際應用SQL注入漏洞檢測工具,本文將從滲透測試工程師的角度,詳細介紹SQL注入漏洞檢測實戰。我們將使用Sqlmap和Burp Suite這兩個工具,演示如何發現和利用SQL注入漏洞。

  1. 環境搭建

在開始實戰之前,我們需要搭建一個漏洞環境。本文將使用DVWA(Damn Vulnerable Web Application)作為漏洞環境。DVWA是一個用于漏洞測試的Web應用程序,包含多個漏洞,包括SQL注入漏洞。我們可以通過以下步驟來搭建DVWA環境:

  • 下載DVWA的源代碼,可以從GitHub上下載:https://github.com/ethicalhack3r/DVWA

  • 將源代碼解壓到Web服務器根目錄下。

  • 運行“DVWA/config/config.inc.php.dist”文件,并將文件名改為“DVWA/config/config.inc.php”。

  • 打開“DVWA/config/config.inc.php”文件,并將以下行的注釋刪除:

    $_DVWA[ ‘db_password’] = ‘p@ssw0rd’;
    $_DVWA[ ‘db_user’] = ‘root’;
    $_DVWA[ ‘db_database’] = ‘dvwa’;

這將允許我們使用默認的用戶名和密碼來登錄DVWA。

  1. 使用Sqlmap檢測SQL注入漏洞

Sqlmap是一個自動化的SQL注入工具,它可以檢測和利用各種類型的SQL注入漏洞。我們可以使用Sqlmap來測試DVWA是否存在SQL注入漏洞。以下是使用Sqlmap進行SQL注入漏洞檢測的步驟:

  • 打開終端,運行以下命令來啟動Sqlmap:

    sqlmap -u http://localhost/DVWA/vulnerabilities/sqli/?id=1 --batch

其中,“-u”參數指定要測試的URL,“–batch”參數指定Sqlmap以“非交互式”模式運行。

  • Sqlmap將發送一系列HTTP請求,嘗試檢測SQL注入漏洞。如果Sqlmap檢測到漏洞,它將顯示漏洞的詳細信息。以下是Sqlmap檢測到SQL注入漏洞后的輸出示例:

    [*] starting at 22:07:58

    [22:07:58] [INFO] testing connection to the target URL
    […]
    [22:08:02] [INFO] testing if the target URL is stable
    […]
    [22:08:04] [INFO] target URL is stable
    [22:08:04] [INFO] testing if GET parameter ‘id’ is dynamic
    [22:08:05] [INFO] confirming that GET parameter ‘id’ is dynamic
    [22:08:05] [INFO] GET parameter ‘id’ is dynamic
    [22:08:06] [INFO] heuristic (basic) test shows that GET parameter ‘id’ might be injectable
    [22:08:07] [INFO] testing for SQL injection on GET parameter ‘id’
    [22:08:07] [INFO] testing ‘AND boolean-based blind - WHERE or HAVING clause’
    [22:08:08] [INFO] testing ‘Boolean-based blind - Parameter replace (original value)’
    [22:08:08] [INFO] testing ‘MySQL > 5.0.11 stacked queries (comment)’
    [22:08:08] [INFO] testing ‘PostgreSQL > 8.1 stacked queries (comment)’
    [22:08:08] [INFO] testing ‘Microsoft SQL Server/Sybase stacked queries (comment)’
    [22:08:09] [INFO] testing ‘Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)’
    [22:08:09] [INFO] testing ‘MySQL > 5.0.11 stacked queries (query SLEEP - comment)’
    [22:08:09] [INFO] testing ‘PostgreSQL > 8.1 stacked queries (query SLEEP - comment)’
    [22:08:09] [INFO] testing ‘Microsoft SQL Server/Sybase stacked queries (query SLEEP - comment)’
    [22:08:10] [INFO] testing ‘Oracle stacked queries (DBMS_LOCK.SLEEP - comment)’
    [22:08:10] [INFO] testing ‘MySQL >= 5.0.12 AND time-based blind (query SLEEP)’
    [22:08:10] [INFO] testing ‘PostgreSQL > 8.1 time-based blind’
    [22:08:11] [INFO] testing ‘Microsoft SQL Server/Sybase time-based blind (IF)’
    [22:08:11] [INFO] testing ‘Oracle AND time-based blind’
    [22:08:12] [INFO] testing ‘Generic UNION query (NULL) - 1 to 10 columns’
    [22:08:12] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
    [22:08:12] [INFO] ORDER BY technique seems to be usable. This should reduce the time needed to find the right number of query columns. Automatically extending the range for current UNION query injection technique test
    [22:08:13] [INFO] target URL appears to have 2 columns in query
    [22:08:13] [INFO] GET parameter ‘id’ is ‘Generic UNION query (NULL) - 1 to 10 columns’ injectable
    [22:08:13] [INFO] checking if the injection point on GET parameter ‘id’ is a false positive
    [22:08:13] [INFO] testing ‘MySQL UNION query (NULL) - 1 to 10 columns’
    [22:08:13] [INFO] checking if the injection point on GET parameter ‘id’ is a false positive
    [22:08:13] [INFO] GET parameter ‘id’ is vulnerable. Do you want to keep testing the others (if any)? [y/N]

  • Sqlmap將列出它檢測到的所有漏洞。在本例中,Sqlmap檢測到一個“Generic UNION query”漏洞,這意味著我們可以使用SQL注入攻擊來檢索數據庫中的數據。我們可以按“y”繼續測試其他漏洞,或按“n”結束測試。

  • 如果我們選擇繼續測試其他漏洞,Sqlmap將嘗試使用其他技術來檢測漏洞。例如,它可能嘗試使用“時間盲注”技術來檢測注入點是否存在。

  • 在測試過程中,Sqlmap將嘗試使用各種技術來檢測注入點。如果找到漏洞,Sqlmap將顯示漏洞的詳細信息,并提供各種攻擊選項。例如,我們可以使用“–dump”選項來檢索數據庫中的數據,如下所示:

    sqlmap -u http://localhost/DVWA/vulnerabilities/sqli/?id=1 --batch --dump

  • Sqlmap將使用我們在前面步驟中找到的注入點來檢索數據庫中的數據。如果成功,Sqlmap將輸出數據庫中的所有表和列,以及每個列中的所有數據。以下是Sqlmap檢索數據時的輸出示例:

    Database: dvwa
    Table: users
    [2 entries]
    ±—±---------±---------------------------------+
    | id | username | password |
    ±—±---------±---------------------------------+
    | 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |
    | 2 | test | 098f6bcd4621d373cade4e832627b4f6 |
    ±—±---------±---------------------------------+

    Table: guestbook
    [1 entry]
    ±—±--------------------±---------------------+
    | id | name | comment |
    ±—±--------------------±---------------------+
    | 1 | John Smith | Hello, world! |
    ±—±--------------------±---------------------+

  • 在本例中,我們可以看到數據庫中有兩個用戶,分別是admin和test,以及一個guestbook條目。

  1. 使用Burp Suite檢測SQL注入漏洞

Burp Suite是一款非常強大的Web安全測試工具,它可以用于檢測和利用各種類型的漏洞,包括SQL注入漏洞。以下是使用Burp Suite進行SQL注入漏洞檢測的步驟:

  • 打開Burp Suite并配置瀏覽器代理。

  • 在瀏覽器中,訪問DVWA的SQL注入漏洞頁面,并輸入一個隨機的數字作為“id”參數值。我們可以使用類似于以下URL的URL來訪問此頁面:

    http://localhost/DVWA/vulnerabilities/sqli/?id=1

  • 在Burp Suite中,選擇“Proxy”選項卡,然后單擊“Intercept is on”按鈕以停止攔截。

  • 在瀏覽器中,單擊“Submit”按鈕以發送請求。

  • 在Burp Suite中,選擇“Proxy”選項卡,然后選擇“Intercept”選項。這將允許我們檢查請求并對其進行修改。

  • 在請求中,我們將看到類似于以下內容的內容:

    GET /DVWA/vulnerabilities/sqli/?id=1 HTTP/1.1
    Host: localhost
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Referer: http://localhost/DVWA/vulnerabilities/sqli/
    Cookie: PHPSESSID=2f8e14b1a5b4d4b4a4e4c4e4d4f4f4d

  • 在請求中,我們可以看到“id”參數的值為“1”。我們可以通過修改此值來測試SQL注入漏洞。例如,我們可以將參數值更改為“1’ or ‘1’='1”,這將強制應用程序將所有數據返回到我們的瀏覽器。

  • 在Burp Suite中,單擊“Forward”按鈕以發送修改后的請求。

  • 如果應用程序容易受到SQL注入攻擊,則我們將在響應中看到錯誤或異常消息。例如,我們可能會看到以下響應:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '‘1’=‘1’ at line 1

  • 此響應表明應用程序容易受到SQL注入攻擊,因為我們成功地將SQL注入字符串注入到應用程序中。

  • 在Burp Suite中,單擊“Intercept is on”按鈕以停止攔截。

  • 通過執行這些步驟,我們可以使用Burp Suite檢測SQL注入漏洞并利用它們來攻擊應用程序。

  1. 防止SQL注入攻擊

SQL注入攻擊是一種常見的Web應用程序安全漏洞,可以通過采取以下措施來防止此類攻擊:

  • 使用參數化查詢:使用參數化查詢可以防止惡意用戶將數據作為查詢的一部分注入到數據庫中。參數化查詢是一種預編譯的查詢,其中查詢使用占位符而不是直接將變量嵌入查詢中。這使得惡意用戶無法注入有害代碼,因為查詢已經預編譯并且無法被更改。

  • 對輸入進行驗證和過濾:驗證和過濾輸入是防止SQL注入攻擊的另一種方法。通過驗證和過濾輸入,可以確保輸入數據是正確的,不包含任何惡意代碼,并符合預期格式。

  • 限制數據庫用戶的權限:限制數據庫用戶的權限可以防止攻擊者利用SQL注入漏洞來獲取敏感信息或更改數據庫中的數據。為了限制數據庫用戶的權限,應該只授予他們必要的權限來執行其工作,并確保他們無法訪問不必要的數據。

  • 更新和升級軟件:SQL注入漏洞通常是由于軟件中的錯誤或漏洞而導致的。為了防止此類漏洞,應該定期更新和升級軟件,并確保使用最新版本的軟件。

  • 審查代碼:審查代碼可以幫助發現潛在的SQL注入漏洞,并確保應用程序的代碼符合最佳實踐。通過審查代碼,可以確定是否存在代碼中的漏洞,并采取適當的措施來修復它們。

  • 使用Web應用程序防火墻:Web應用程序防火墻可以檢測和防止SQL注入攻擊。Web應用程序防火墻是一種安裝在Web服務器和應用程序之間的軟件,用于監視和過濾HTTP流量。它可以檢測和防止SQL注入攻擊,并防止惡意用戶利用此類漏洞來訪問敏感信息或破壞數據庫中的數據。

  1. 強化密碼安全性

除了防止SQL注入攻擊之外,還可以通過強化密碼安全性來增強Web應用程序的安全性。以下是一些增強密碼安全性的建議:

  • 強制使用復雜密碼:通過強制用戶使用復雜密碼,可以防止攻擊者利用弱密碼猜測或破解密碼。可以通過要求密碼包含大寫字母、小寫字母、數字和特殊字符來實現這一點。

  • 實施密碼策略:密碼策略可以幫助確定密碼的最小長度和過期時間。通過實施密碼策略,可以確保用戶使用強密碼,并且每隔一段時間需要更改密碼。

  • 存儲密碼的安全性:存儲密碼時,應使用安全的加密算法,并將其存儲在安全的位置。可以使用哈希算法和鹽來加密密碼,以確保密碼不會被破解或泄露。

  • 采用多因素身份驗證:多因素身份驗證可以增加密碼安全性。通過要求用戶提供使用密碼外的其他驗證因素,例如指紋識別、短信驗證碼或令牌,可以提高Web應用程序的安全性。

  • 提供密碼重置功能:提供密碼重置功能可以幫助用戶恢復訪問其賬戶。但是,應該確保密碼重置功能是安全的,并且需要進行身份驗證,以確保只有合法用戶才能重置其密碼。

通過采取這些措施,可以幫助增強密碼安全性,并提高Web應用程序的安全性。需要注意的是,這些措施應該與其他安全措施結合使用,以確保Web應用程序得到充分的保護。

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

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

相關文章

Spring的IOC容器初始化流程

Spring的IOC容器初始化流程 IOC容器初始化在SpringApplication對象創建完畢執行run方法時執行refreshContext()時開始。 準備BeanFactory,設置其類加載器和environment等 執行BeanFactory后置處理器,掃描要放入容器的Bean信息,得到對應的Bea…

計算機網絡常見的縮寫

計算機網絡常見縮寫 通訊控制處理機(Communication Control Processor)CCP 前端處理機(Front End Processor)FEP 開放系統互連參考模型 OSI/RM 開放數據庫連接(Open Database Connectivity)ODBC 網絡操作系…

阿里云服務器租用價格分享,阿里云服務器熱門配置最新活動價格匯總

在我們購買阿里云服務器的時候,1核2G、2核2G、2核4G、2核8G、4核8G、8核16G、8核32G等配置屬于用戶購買最多的熱門配置,1核2G、2核2G、2核4G這些配置低一點的云服務器基本上能夠滿足絕大部分個人建站和普通企業用戶建站需求,而4核8G、8核16G、…

Maven項目引入本地jar

Maven項目引入本地jar 1.對應maven模塊項目中建lib目錄,將jar放入進去 2.在對應的模塊pom.xml中引入此依賴jar 3.在對應的maven-plugin插件打包的pom.xml中指定需要includeSystemScope為true的jar

AMEYA360:大唐恩智浦榮獲 2023芯向亦莊 “汽車芯片50強”

2023年11月28日,由北京市科學技術委員會和北京市經濟和信息化局指導、北京經濟技術開發區管理委員會主辦、蓋世汽車協辦的“芯向亦莊”汽車芯片大賽在北京亦莊成功閉幕。 在本次大賽中 大唐恩智浦的 電池管理芯片DNB1168 (應用于新能源汽車BMS系統) 憑卓越的性能及高…

SQL注入一般過程

實驗:Vulnerability: SQL Injection(low) SQL注入一般過程 1.判斷注入點 一般和數據庫進行交互的位置 2.判斷注入點類型 字符型判斷: 1 報錯 1 and 12 錯誤結果 1 and 11 正確結果 數字型判斷: 1 報錯 1 and 12…

【SpringBoot教程】SpringBoot 實現前后端分離的跨域訪問(CORS)

作者簡介:大家好,我是擼代碼的羊駝,前阿里巴巴架構師,現某互聯網公司CTO 聯系v:sulny_ann(17362204968),加我進群,大家一起學習,一起進步,一起對抗…

【畢業季|進擊的技術er】作為一名職場人,精心總結的嵌入式學習路線圖

活動地址:畢業季進擊的技術er 文章目錄 0、作者介紹1、前言2、嵌入式基礎必備知識2.1、學習內容2.2、學習建議2.3、學習資料 3、嵌入式入門篇——51單片機3.1、學習內容3.2、學習建議3.3、學習資料 4、STM32進階篇4.1、學習內容4.2、學習建議4.3、學習資料 5、小而美…

印刷包裝企業做什么認證才有優勢

最近幾年,外貿出口過程中,越來越多的印刷和包裝企業被客戶要求進行各類認證和審核,比如,產品印刷包裝/吊牌等。他們已經意識到,印刷包裝供應商對于整個供應鏈管理的重要性,尤其是那些明確標示了…

由pandas.loc引發的未知錯誤AttributeError: ‘str‘ object has no attribute ‘isna‘

由于data.loc[value]和 data[data.keyvalue] 這兩者之間有一定的差異,第一種方式返回的可能是series,第二種方式返回的是dataframe,所以在做復雜條件篩選的的時候,可能會爆str相關的錯誤。 例如: account_instal[(ac…

嵌入式開發按怎樣的路線學習較好?

嵌入式開發按怎樣的路線學習較好? 在開始前我有一些資料,是我根據自己從業十年經驗,熬夜搞了幾個通宵,精心整理了一份「嵌入式從專業入門到高級教程工具包」,點個關注,全部無償共享給大家!&…

mysql的行鎖具體是怎么工作的

mysql行級鎖是怎么工作的? 加鎖的對象是索引,加鎖的基本單位是 next-key lock。在能使用記錄鎖或者間隙鎖就能避免幻讀現象的場景下, next-key lock 就會退化成記錄鎖或間隙鎖。 鎖的范圍,總結一下就是,對于唯一索引&a…

張馳咨詢:掌握流程改進的關鍵,深入了解六西格瑪綠帶培訓

尊敬的讀者,當您尋求提升個人能力,加強企業流程管理時,六西格瑪綠帶培訓無疑是您的不二選擇。本文將帶您深入了解六西格瑪綠帶培訓的核心內容、必備工具和實際案例,以助您在職業生涯中一帆風順。 六西格瑪綠帶培訓主要針對中層管…

C++- 格式化輸出

1.常規–格式化輸出 %d //整型輸出 %ld //長整型輸出 %o //以八進制數形式輸出整數 %x //以十六進制數形式輸出整數,或輸出字符串的地址 %u //以十進制數輸出unsigned型數據(無符號數)注意&…

element 點擊button彈出圖片 運用自帶隱藏的圖片查看器el-image-viewer瀏覽圖片

最近在開發一個圖片預覽效果,由于位置有限,沒有原始的縮略圖。 看了下elementUI的文檔,基本都是需要有縮略圖的情況下,才能有放大的圖。 所以網上找了下有個不錯的方案,其實也是elementUI自帶的功能,只是AP…

論文查重怎么找到需要更改的【詳細說明】

大家好,今天來聊聊論文查重怎么找到需要更改的,希望能給大家提供一點參考。 以下是針對論文重復率高的情況,提供一些修改建議和技巧: 論文查重怎么找到需要更改的 論文查重是保證學術誠信和提高論文質量的重要環節小發貓偽原創。…

班級管理的重要性

班級管理,就像是一座橋,連接著學生和老師,它的重要性不言而喻。 營造良好的學習氛圍 班級管理不僅僅是維護秩序,更是營造一個積極向上的學習氛圍。一個好的班級管理,能讓學生更加專注于學習,提高學習效率。…

Linux上的MAC地址欺騙

Linux上的MAC地址欺騙 1、查看mac地址法1:ifconfig法2:ip link show 2、臨時性改變 MAC 地址法1:使用iproute2工具包法2:使用macchanger工具 3、永久性改變 MAC 地址3.1 在 Fedora、RHEL下實踐3.2 在 Debian、Ubuntu、Linux Mint下…

人工智能革命近在咫尺:利用數據實現社會影響、增強決策力和新機遇

人工智能(AI)是指由計算機系統或機器執行的智能行為,如學習、推理和解決問題。人工智能不再是科幻小說中的事物,而是已經成為我們日常生活中不可或缺的一部分。從語音助手到自動駕駛汽車,從人臉識別到機器翻譯&#xf…

數據結構之----原碼、反碼、補碼

數據結構之----原碼、反碼、補碼 什么是原碼? 原碼:我們將數字的二進制表示的最高位視為符號位,其中 0 表示正數,1 表示負數,其余位表示數字 的值。 什么是反碼? 反碼:正數的反碼與其原碼相…