SQL 注入

2021-11-23

什么是SQL注入

SQL注入是指用戶能夠控制前端參數(shù),構(gòu)造sql語句影響到后端數(shù)據(jù)庫的行為。

注入

1.注入類型

  • 數(shù)字型: ?id=2-1或者加減之類的運算
  • 字符類型:?id=1‘ 或者加入一些字符

2.注入技巧

  • 布爾盲注
    含義:回顯頁面只有正確和錯誤
    常見的payload:
    (1).length函數(shù):返回字符串str的長度,以字節(jié)為單位
    (2).substr函數(shù):截取字符串字符
    (3).ascii函數(shù):返回字符串中的最左側(cè)字符的ascii碼

  • 時間盲注(參考:https://xz.aliyun.com/t/5505)
    含義:沒有明顯的回顯,只能使用特定的時間來判斷
    常見使用payload:
    (1).sleep(n)函數(shù):注入時延遲 n 秒輸出(不建議實際的滲透測試使用)
    (2).benchmark函數(shù)

BENCHMARK(count,expr)

benchmark函數(shù)會重復(fù)計算expr表達式count次
(3) 笛卡爾積
利用and短路運算規(guī)則進行時間盲注。
(4) GET_LOCK盲注
(5) 正則DOS RLIKE注入

  • 報錯注入
    含義:在錯誤的回顯頁面回顯數(shù)據(jù)庫的信息
    常見使用payload:
    (1) 基于格式錯誤的報錯(Xpath語法錯誤)
    <1> extractvalue(xml_document,Xpath_string)函數(shù)--從document中返回包含string的字符串,如果不符合xpath的語法就會報錯,將查詢的結(jié)果放在報錯信息中
    <2> updatexml(xml_document,xpath_string,new_value)函數(shù)--將document的中符合string的字符串替換為value值
    (2) 基于主鍵重復(fù)錯誤(參考:http://www.hellomao.top/2019/08/16/web_mysql_floor/)
    <1> rand() 生成隨機數(shù),配合floor函數(shù)使用,group by
    (3) 其他報錯(大佬求補充)

  • 堆疊注入
    可以執(zhí)行多條語句,將多條sql語句來同時執(zhí)行

  • 寬字節(jié)注入(參考:https://www.freebuf.com/articles/network/282252.html)
    GBK編碼,能夠繞過magic_quotes_gpc函數(shù)

3.注入位置
(1) GET
(2) POST
(3) Cookie
(4) 搜索型注入
(5) HTTP 頭注入

sql注入常見位置

1.登錄框
2.搜索框
3.url參數(shù)值
4.信息設(shè)置
5.所有與數(shù)據(jù)交互的點都有可能存在SQL注入

修復(fù)與建議

1.預(yù)編譯
代碼的可讀性和可維護性
盡可能提高性能
提高安全性
2.正則過濾參數(shù)
3.php開啟magic_quotes_gpc

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 對于注入攻擊,一個最基礎(chǔ)的安全設(shè)計原則就是“數(shù)據(jù)與代碼分離”。帶著這個思想去學(xué)習(xí),可能會理解地更透徹。 注入攻擊的...
    一碗海鮮湯閱讀 416評論 0 0
  • 注入攻擊原理: 注射式攻擊的根源在于,程序命令和用戶數(shù)據(jù)(即用戶輸入)之間沒有做到?jīng)芪挤置鳌_@使得攻擊者有機會將程...
    Admin3K閱讀 1,441評論 0 6
  • ??注入攻擊的原理: 注射式攻擊的根源在于,程序命令和用戶數(shù)據(jù)(即用戶輸入)之間沒有做到?jīng)芪挤置?。這使得攻擊者...
    小銀同學(xué)阿閱讀 1,809評論 0 0
  • 匯編工具:http://www.ollydbg.de/ 數(shù)據(jù)庫管理工具破解教程:https://www.jians...
    守護者閱讀 715評論 0 0
  • 原理: 總之一句話:注入產(chǎn)生的原因是接受相關(guān)參數(shù)未經(jīng)處理直接帶入數(shù)據(jù)庫查詢操作 為了發(fā)動注射攻擊必須要做三件事情:...
    似龍在淵閱讀 591評論 0 2

友情鏈接更多精彩內(nèi)容