MS SQL 防注入,好大個坑

2021-10-03 04:24:49 字數 571 閱讀 3031

程式執行中,使用者反映個別查詢特別慢,有時候直接查不到資料,提示連線資料庫失敗。一開始以為伺服器掛了,重啟伺服器。第二天,仍有使用者反映相同問題,於是考慮**錯誤。但是未找到**問題,最終問題集中到執行的sql語句上。難道傳入引數會有問題嗎?

於是,將sql**放到伺服器查詢分析器裡進行相同引數查詢。靠,飛 jer 快,沒問題呀!再設定相同引數c#程式執行。哦~~,可以先喝口茶,再上個廁所。難道不是在同乙個伺服器上執行嗎!!接著就是倒處找資料,後來偶然看到網上有大神說傳參會影響c#執行資料庫sql的速度,於是趕快測試。果不其然!

為使得**通用性更強,我在一條sql字串中使用拼接的方式生成執行。這會導致我傳入的6個引數中,有時候只會有3個引數會用到。也就是在這時,查詢速度會明顯下降。於是在伺服器端新開乙個服務單獨執行只有3個引數的情況。結果讓人興奮,恢復正常執行時間了!

剛要提交**,忽然又想,那如果我不傳引數,直接**拼接呢,至少這條sql**是不可能被注入的。於是再改,結果讓人滿意,執行速度比用引數快的太多了。

有時候就是搞不懂這些莫名其妙的坑,我學習的時候,可是被老師逼著習慣了傳參的呀!是老師錯了嗎?還是我對**理解的不夠呀!看到的兄弟們,請自行起跳!

MSSQL注入 反彈注入

明明是sql注入的點,卻無法進行注入,注射工具拆解的速度異常的緩慢,錯誤提示資訊關閉,無法返回注入的結果,這個時候你便可以嘗試使用 注入,注入需要依賴於函式opendatasource的支援,將當前資料庫中的查詢結果傳送到另一資料庫伺服器中。and exists select from sysobj...

ms sql 注入安全

sql查詢分析器 use master exec sp dropextendedproc xp cmdshell exec sp dropextendedproc xp dirtree exec sp dropextendedproc xp enumgroups exec sp dropextend...

mssql手工注入

mssql注入是針對於sql server資料庫的 平台 i春秋 內容 mssql手工注入 測試 www.test.com 找注入點 點選test 用資料型別轉換爆錯法 檢視版本 原因 version是mssql 的全域性變數,如果我們把它寫成這樣 and version,那個後面的mssql就會強...