小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

CTF-sql-寬字節(jié)注入

 小世界的野孩子 2021-11-19

本文章主要涉及sql寬字節(jié)注入注入的原理講解,如有錯誤,望指出。(附有目錄,如需查看請點右下角)

一、下圖為本次文章所使用到 user表,該表所在的數(shù)據(jù)庫為 test。

二、首先介紹一下本篇文章所用到的知識點:

常用到的url編碼:

  • 空格:%20
  • 單引號:%27
    • 在sql注入中,單(雙)引號的應用十分重要,他決定著你能否從原有的一對引號之間逃逸出
  • 井號(#):%23
    • 在sql注入中,#號常被用來注釋,即在使用單引號與原有一對單引號的第一個單引號進行閉合之后,用#將原有的一對單引號的第二個單引號注釋掉,否則會出現(xiàn)語法錯誤。
  • 反斜杠():%5C
    • 在sql注入中,\號常用來進行反編譯。

addslashes函數(shù)(php4,php5,php7):

格式:string addslashes(string $str)
作用:返回字符串,該字符串為了數(shù)據(jù)庫查詢語句等的需要在某些字符前加上了反斜線(\)。這些字符是單引號(')、雙引號(")、反斜杠(\)與 NULL(NULL字符)

為什么使用該函數(shù):

在單(雙)引號,反斜線,NULL前加上反斜線會起到轉(zhuǎn)義的作用:以單引號為例,再加上反斜線之后,單引號就會被轉(zhuǎn)義,就是說,此時的單引號僅僅是一個單引號,但已經(jīng)不具備單引號原有的語法功能了(相當于單引號就僅僅是一個字符串了)這樣就可以在一定程度上對sql注入進行一定的預防。

那么我們應該如何從addslashes函數(shù)中逃逸出來呢?

存在兩種解決方法:

  • "" 的前面再加一個 ""(或單數(shù)個),變成 "\'",這樣""就被轉(zhuǎn)義了,"'"逃出了限制。
  • 使 "" 消失掉。
    以上兩種方法中,本節(jié)課講述的是第二種,即利用寬字節(jié)注入把反斜杠弄沒。

寬字節(jié)注入的原理:

原理:寬字節(jié)注入是利用mysql的一個特性,mysql在使用GBK編碼的時候,會認為兩個字符是一個漢字(前一個asci碼要大于128,才到漢字的范圍)
eg:

在用hackbar進行漢字輸入的時候你會發(fā)現(xiàn),那段漢字就會變成一段百分號編碼,這樣我們就可以利用這個原理從而把反斜杠干掉。就如上圖,在進行轉(zhuǎn)義之后,原本是兩個百分號變成了三個,又因為漢字是由兩個百分號組成,所以系統(tǒng)就會識別前兩個百分號成一個漢字,從而將“\”干掉。%5c就是“\”

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多