DVWA--SQL注入
SQL注入原理
就是通過sql命令插入到web表單遞交或輸入域名頁面請求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SDL命令。具體來說,它是利用現(xiàn)有應(yīng)用程序,將惡意的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力,它可以通過在WEB表單中輸入惡意SQL語句得到包含漏洞的網(wǎng)站數(shù)據(jù)庫,而不是按照設(shè)計者意圖去執(zhí)行。
SQL注入類型
按照數(shù)據(jù)提交的方式:
GET注入、POST注入、COOKIE注入、HTTP頭部注入
按照注入點(diǎn)類型來分:
數(shù)據(jù)型注入點(diǎn)、字符型注入點(diǎn)、搜索性注入點(diǎn)
按照執(zhí)行效果來分:
基于布爾的盲注、基于時間的盲注、基于報錯注入、聯(lián)合查詢注入、堆疊注入、寬字節(jié)注入
常用SQL語句
show databases;查看數(shù)據(jù)庫名
注:Information_schema:包含所有庫的所有數(shù)據(jù),mysql5.0以上版本存在該數(shù)據(jù)庫
use emp(表名);使用某個表
show tables;查看表
desc emp(表名);查看表的結(jié)構(gòu)
select * from emp;查詢所有列
select empmo,ename,mgr FROM emp;查詢指定項
select distinct from emp;只顯示結(jié)果不同的項
select * from emp where job=’clerk’ 查詢指定行
select * from emp where (sal>50 or job=’MANAGE’)and ename like ‘J%‘;聯(lián)合查詢
SQL注入流程
檢查是否存在SQL注入漏洞,注入的類型字符or數(shù)字(手工測試、掃描器)
猜解SQL查詢語句中的字段數(shù)
確定顯示位置
獲取當(dāng)前數(shù)據(jù)庫
獲取數(shù)據(jù)庫中表,表中的字段名
下載數(shù)據(jù)
DVWA初級SQL注入
源碼如下
1、判斷SQL注入為字符型注入還是數(shù)字型注入
1’ and ‘1’=’1和1’ and ‘1’=’2如果回顯不同,那么就是字符型注入
1 and 1=1和1 and 1=2如果回顯不同,那么就是數(shù)字型注入
通過判斷證明為字符型注入
2、猜測SQL查詢語句中的字段數(shù)(這個主要是為了確定顯示的位置)
當(dāng)輸入為3時出現(xiàn)如下界面:
說明只有兩個字段
確定顯示位置(有幾個字段就要寫幾個)
獲取當(dāng)前數(shù)據(jù)庫及版本信息
獲取數(shù)據(jù)庫中表
獲取表中字段
查看具體字段的值
MD5解密
此時,顯示出所有用戶及MD5加密后出現(xiàn)的密碼,現(xiàn)在可以在網(wǎng)站上進(jìn)行MD5爆破查詢:
https://www.somd5.com
DVWA中級SQL注入
源碼如下
防御手段:
1、無法輸入要查詢的內(nèi)容,只能選擇1-5;
2、對單引號進(jìn)行了過濾;
繞過手段:
1、可以抓包在Burp中修改數(shù)據(jù)包,將捕獲到的數(shù)據(jù)包轉(zhuǎn)到repeater模塊,以便重復(fù)修改;
2、進(jìn)行16進(jìn)制轉(zhuǎn)過濾;
1、判斷SQL注入為字符型注入還是數(shù)字型注入
1=1時沒有報錯,1=2回顯不同,通過判斷證明為數(shù)字型注入
2、猜測SQL查詢語句中的字段數(shù)(這個主要是為了確定顯示的位置)
當(dāng)輸入為3時出現(xiàn)如下界面:
說明只有兩個字段
確定顯示位置(有幾個字段就要寫幾個)
獲取當(dāng)前數(shù)據(jù)庫及版本信息
獲取數(shù)據(jù)庫中表
庫名可以用database()代替,也可轉(zhuǎn)為十六進(jìn)制
獲取表中字段
1、首先對表名進(jìn)行進(jìn)制轉(zhuǎn)換(我用的小葵)
2、利用十六進(jìn)制進(jìn)行查詢
查看具體字段的值
MD5解密即可
DVWA高級SQL注入
源碼如下
防御手段:
1、添加了limit 1 做限制,說明掃出一個結(jié)果就不向下掃描了,只輸出一個結(jié)果;
繞過手段:
1、添加注釋(#,–+)
DVWA impossible SQL注入
源碼如下
防御手段:
可見該段代碼使用了PDO技術(shù),將輸入與代碼分隔開,這樣便完全斷隔了sql注入攻擊;
嗯嗯~~就這么多了
總結(jié)
以上是生活随笔為你收集整理的DVWA--SQL注入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DVWA--文件上传漏洞
- 下一篇: 任意用户密码重置的10种姿势