中國哪些網(wǎng)站做軟裝seo廠商
網(wǎng)絡安全:Web 安全 面試題.(SQL注入)
網(wǎng)絡安全面試是指在招聘過程中,面試官會針對應聘者的網(wǎng)絡安全相關(guān)知識和技能進行評估和考察。這種面試通常包括以下幾個方面:
(1)基礎(chǔ)知識:包括網(wǎng)絡基礎(chǔ)知識、操作系統(tǒng)知識、密碼學知識等。
(2)安全技術(shù):如入侵檢測、防火墻配置、密碼管理、漏洞分析等技術(shù)的掌握程度。
(3)安全實踐:評估應聘者在實際工作中解決網(wǎng)絡安全問題的能力,如案例分析、滲透測試等。
(4)安全意識:了解應聘者對網(wǎng)絡安全的重視程度和責任心,以及在安全事故發(fā)生時的應對能力。
(5)項目經(jīng)驗:詢問應聘者參與過的網(wǎng)絡安全相關(guān)項目,了解其在項目中的具體工作和貢獻。
(6)溝通表達:考察應聘者的溝通能力和邏輯思維,以及解決問題的方法。
目錄:
網(wǎng)絡安全:Web 安全 面試題.(SQL注入)
(1)SQL 注入種類:
(2)盲注是什么,怎么盲注:
(3)寬字節(jié)注入產(chǎn)生原理以及根本原因:
(4)SOL注入能做什么:
(5)以下鏈接存在 SQL 注入漏洞,對于這個變形注入,你有什么思路:
(6)發(fā)現(xiàn) demo.jsp?uid=110 注入點,你有哪幾種思路獲取 webshell,哪種是優(yōu)選:
(7)sqlmap 怎么對一個注入點注入:
(8)Sqlmap 常用參數(shù):
(9)SQL注入防護方法:
(10)為什么參數(shù)化查詢可以防止 SQL注入:
(11)mysql 的網(wǎng)站注入 5.0 以上和 5.0 以下有什么區(qū)別:
SQL注入測試實戰(zhàn):
SQL注入工具測試實戰(zhàn):
(1)SQL 注入種類:
按數(shù)據(jù)的傳遞方式可以分為:get 注入、post 注入、cookie 注入
根據(jù) 注入點 類型分類:數(shù)字型、字符型
根據(jù) 執(zhí)行效果 分類:有回顯的注入、盲注、報錯注入、堆疊注入、寬字節(jié)注入
(2)盲注是什么,怎么盲注:
盲注是在 SOL注入攻擊過程中,服務器關(guān)閉了錯誤回顯,我們單純通過服務器返回內(nèi)容的變化來判斷是否存在 SOL注入和利用的方式
盲注的手段有兩種:
(1)通過頁面的返回內(nèi)容是否正確(boolean-based),來驗證是否存在注入;
(2)通過 SQL 語句處理時間的不同來判斷是否存在注入(time-based),可以用benchmark,sleep 等造成延時效果的函數(shù);
(3)寬字節(jié)注入產(chǎn)生原理以及根本原因:
產(chǎn)生原理:
多字節(jié)字符集的使用:在多字節(jié)字符集中,如GBK,一個漢字可能由兩個字節(jié)組成。這種編碼方式允許將兩個字節(jié)識別為一個字符.
轉(zhuǎn)義函數(shù)的局限性:例如 PHP 中的?addslashes()
函數(shù),它在特殊字符前添加反斜線(\
)以防止SQL注入。但當使用寬字節(jié)字符集時,轉(zhuǎn)義函數(shù)可能無法正確處理所有字符,導致轉(zhuǎn)義失效.
編碼轉(zhuǎn)換問題:在使用 PHP 連接MySQL數(shù)據(jù)庫時,如果設(shè)置了特定的字符集(如GBK),在字符編碼轉(zhuǎn)換過程中,某些字節(jié)序列可能被錯誤地解釋為單個字符,從而繞過了轉(zhuǎn)義機制.
根本原因:
字符集不統(tǒng)一:應用程序和數(shù)據(jù)庫系統(tǒng)之間使用不同的字符集,可能導致字符編碼和解碼過程中出現(xiàn)不一致,為寬字節(jié)注入提供了機會.
轉(zhuǎn)義機制的缺陷:轉(zhuǎn)義函數(shù)可能沒有考慮到所有可能的字符編碼情況,特別是在處理多字節(jié)字符集時,導致轉(zhuǎn)義不徹底或錯誤.
安全措施不足:如果應用程序僅依賴于轉(zhuǎn)義函數(shù)來防止SQL注入,而沒有采取更全面的安全措施,如使用預處理語句或參數(shù)化查詢,就可能存在安全漏洞.
(4)何突破注入時字符被轉(zhuǎn)義:
寬字符注入、hex 編碼繞過
(5)SOL注入能做什么:
(1)繞過登錄驗證,比如說使用萬能密碼登錄網(wǎng)站;
(2)獲取網(wǎng)站管理員賬號密碼;
(3)讀取文件、寫入 webshell 等;
(6)以下鏈接存在 SQL 注入漏洞,對于這個變形注入,你有什么思路:
demo.do?DATA=AjAxNg==
DATA 有可能經(jīng)過了 base64 編碼再傳入服務器,所以我們也要對參數(shù)進行 base64 編碼才能正確完成測試.
(7)發(fā)現(xiàn) demo.jsp?uid=110 注入點,你有哪幾種思路獲取 webshell,哪種是優(yōu)選:
有寫入權(quán)限的,構(gòu)造聯(lián)合查詢語句使用 using INTO OUTFILE,可以將查詢的輸出重定向到系統(tǒng)的文件中,這樣去寫入 WebShell 使用 sqlmap -os-shell 原理和上面一種相同,來直接獲得一個 Shell,這樣效率更高。
通過構(gòu)造聯(lián)合查詢語句得到網(wǎng)站管理員的賬戶和密碼,然后掃后臺登錄后臺,再在后臺通過改包上傳等方法上傳 Shell.
(8)延時注入如何來判斷:
if(ascii(substr(“hello", 1, 1))=104, sleep(5), 1)
(9)sqlmap 怎么對一個注入點注入:
(1)如果是 get 型號,直接,sqImap -u "注入點網(wǎng)址"
(2)如果是 post 型注入點,可以 sqmap -u "注入點網(wǎng)址" --data="post 的參數(shù)"
(3)如果是 cookie,X-Forwarded-For 等,可以訪問的時候,用 burpsuite 抓句,注入處用號替換,放到文件里,然后 sqlmap -r "文件地址"
(10)Sqlmap 常用參數(shù):
-u????????(指定 url)
-r????????(讀取需要注入的 post 請求的文本)
-m????????(批量跑 get 注入)
-p????????(指定注入?yún)?shù))
-current-db:????????(獲取當前數(shù)據(jù)庫)
--table????????(枚舉數(shù)據(jù)庫表)
--tamper????????(使用過 waf 腳本)
(11)SQL注入防護方法:
(1)使用安全的 API
(2)對輸入的特殊字符進行 Escape 轉(zhuǎn)義處理.
(3)使用白名單來規(guī)范化輸入驗證方法.
(4)對客戶端輸入進行控制,不允許輸入SQL注入相關(guān)的特殊字符.
(5)服務器端在提交數(shù)據(jù)庫進行SQL查詢之前,對特殊字符進行過濾、轉(zhuǎn)義、替換、刪除
(6)規(guī)范編碼,字符集.
(12)為什么參數(shù)化查詢可以防止 SQL注入:
原理:
使用參數(shù)化查詢數(shù)據(jù)庫服務器 不會把參數(shù)的內(nèi)容當作 SQL指令 來執(zhí)行,是在數(shù)據(jù)庫完成 SQL 指令的編譯后才套用參數(shù)運行。
簡單的說:
參數(shù)化能防注入的原因在于,語句是語句,參數(shù)是參數(shù),參數(shù)的值并不是語句的一部分,數(shù)據(jù)庫只按語句的語義跑。
(13)mysql 的網(wǎng)站注入 5.0 以上和 5.0 以下有什么區(qū)別:
5.0 以下沒有 information_schema 這個系統(tǒng)表,無法列表名等,只能暴力跑表名;
5.0 以下是多用戶單操作,5.0 以上是多用戶多操作。
SQL注入測試實戰(zhàn):Web安全:SQL注入漏洞測試(防止 黑客用此漏洞.)
SQL注入工具測試實戰(zhàn):?Web安全 SQL注入漏洞 工具測試.
??
??
??