SQL注入基礎(chǔ)

?注釋

@mysql 數(shù)據(jù)庫(kù)的注釋大概有以下幾種

-- (杠杠空格)

#

/* 。。。。。。*/

/*!。。。。*/

應(yīng)用在獲取用戶數(shù)據(jù)的地方,只要帶入數(shù)據(jù)庫(kù)查詢,都有存在SQL注入的可能,這些地方通常包括:

@GET 數(shù)據(jù)

@POST 數(shù)據(jù)

@Cookie 數(shù)據(jù)

@HTTP頭部(HTTP 請(qǐng)求報(bào)文其他字段)

?@MySQL 元數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)information_schema

@庫(kù)名,表名,字段名都叫做MySQL的元數(shù)據(jù)

information_chema?


MYSQL 常用函數(shù)與參數(shù)

=? ?>=? ? <=? ?<>(不等于)? ? ? ? 比較運(yùn)算符

and? ? ?or? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 邏輯運(yùn)算符

version()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mysql 數(shù)據(jù)庫(kù)版本

database()? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當(dāng)前數(shù)據(jù)庫(kù)名

user()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用戶名

current_user()? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)前用戶名

system_user()? ? ? ? ? ? ? ? ? ? ? ? 系統(tǒng)用戶名

@@datadir? ? ? ? ? ? ? ? ? ? ? ? ? ? 系統(tǒng)路徑

@@version_compile_os? ? ? ?操作系統(tǒng)版本

-----------------------------------------------------------------------------------

length()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?返回字符串的長(zhǎng)度

substring()? ? ? ? ? ? ? ? ? ? ? ? ? ? ?截取字符串

substr()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

mid()

他們有三個(gè)參數(shù):

? ?1、截取的字符串

? ?2、截取的起始位置(從1開(kāi)始記數(shù))

? ?3、截取長(zhǎng)度

--------------------------------------------------------------------------------------

left()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 從左側(cè)開(kāi)始取指定字符個(gè)數(shù)的字符串? ? ? ? ? ? ? ? select? ? left("123456",2)

concat()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?沒(méi)有分隔符的連接字符串

concat_ws()? ? ? ? ? ? ? ? ? ? ? ? 含有分隔符的連接字符串? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?select? concat_ws(":","a","b","c")? -->a:b:c

group_concat()? ? ? ? ? ? ? ? ? ? 連接一個(gè)組的字符串


ord()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?返回ASCII碼

ascii()

hex()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?將字符串轉(zhuǎn)換為十六進(jìn)制

unhex()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?hex的反向操作

md5()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回MD5值

floor(x)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回不大于X 的最大整數(shù)

round()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?返回參數(shù)X 接近的整數(shù)

rand()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回0-1之間的隨機(jī)浮點(diǎn)數(shù)


load_file()? ? ? ? ? ? ? ? ? ? ? ? ? ? 讀取文件,并返回文件內(nèi)容作為一個(gè)字符串


sleep()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 睡眠時(shí)間為指定的秒數(shù)

if(true,t,f)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if判斷

find_in_set()? ? ? ? ? ? ? ? ? ? ? ?返回字符串在字符串列表中的位置

benchmark()? ? ? ? ? ? ? ? ? ? ? 指定語(yǔ)句執(zhí)行的次數(shù)

name_const()? ? ? ? ? ? ? ? ? ? 返回表作為結(jié)果


*注入流程

? ? ? ?由于關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),具有明顯的庫(kù)/表/列內(nèi)容結(jié)構(gòu)層次,所以我們通過(guò)SQL注入漏洞獲取數(shù)據(jù)庫(kù)中信息的時(shí)候,也依據(jù)這樣的順序。

? ? ? ?首先獲取數(shù)據(jù)庫(kù)名,其次獲取表名,然后獲取列名,最后獲取數(shù)據(jù)。

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

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

  • 1.1 Web應(yīng)用架構(gòu)分析 現(xiàn)階段web框架 webapp包括:web前端;web應(yīng)用:CMS/OABlog;we...
    超威狼狗閱讀 383評(píng)論 0 0
  • 什么是SQL注入 拼接sql得到想要的數(shù)據(jù)或反應(yīng), 而這些sql是不常見(jiàn)的編程邏輯的sql. SQL語(yǔ)句閉合問(wèn)題 ...
    渺小Y閱讀 1,097評(píng)論 0 0
  • 1.1、自己描述一下sql注入原理 SQL注入指web應(yīng)用程序?qū)τ脩糨斎霐?shù)據(jù)的合法性沒(méi)有判斷,攻擊者可以在web應(yīng)...
    皮蛋是個(gè)臭蛋閱讀 696評(píng)論 0 0
  • 一、Sql注入簡(jiǎn)介 Sql 注入攻擊是通過(guò)將惡意的 Sql 查詢或添加語(yǔ)句插入到應(yīng)用的輸入?yún)?shù)中,再在后臺(tái) Sql...
    Jewel591閱讀 158,320評(píng)論 19 232
  • 簡(jiǎn)介 所謂sql注入,就是通過(guò)把sql命令插入web表單提交或者輸入域名頁(yè)面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)...
    1f28dd1475ee閱讀 981評(píng)論 1 10

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