PHPweb萬能密碼破解的原理
2015-12-16 14:01:05
13424
對(duì)于一個(gè)網(wǎng)站后臺(tái)是十分重要的部分,對(duì)于后天密碼的保存尤為重要,通常我們都需要設(shè)置比較復(fù)雜的密碼來阻止他人進(jìn)行訪問的。但是對(duì)于PHPweb網(wǎng)站的后臺(tái)卻存在著這么一個(gè)漏洞。就是利用對(duì)數(shù)據(jù)庫(kù)查詢的漏洞導(dǎo)致利用特殊的輸入方法來造成無需密碼直接進(jìn)入網(wǎng)站后臺(tái)。
萬能密碼的用戶名和密碼: admin or 1=1 或者1 or 1=1 or 1=1
這個(gè)的原理就是利用了數(shù)據(jù)庫(kù)在查詢過程中的代碼漏洞造成的。
例如:
select use from tb_admin where use=11 and pwd=123;
這是一個(gè)普通的查詢語(yǔ)句。
我們理解這條是查詢數(shù)據(jù)庫(kù)中表名為tb_admin中的use列,并且查詢需要滿足的條件是use列中值為“11”而且還要pwd列值為“123”的數(shù)據(jù)信息。
通常我們會(huì)使用這種方法來驗(yàn)證網(wǎng)頁(yè)上用戶輸入的賬號(hào)和密碼,如果是有這條信息的則出現(xiàn)另一個(gè)登錄成功。
但是:如果登錄時(shí)候我們用了類似or 1=1的輸入的話那語(yǔ)句會(huì)變了樣了
如果use的值是用戶賬號(hào)pwd的值是密碼,那么假如我們輸入的是這樣那語(yǔ)句在提交的時(shí)候就標(biāo)稱了:
select use from tb_admin where use=or 1=1 and pwd=123;
那么我們?cè)诳催@條語(yǔ)句,就相當(dāng)于只需要滿足use的值為空,或者是1=1和pwd等于’123‘。這樣一來因?yàn)榧尤肓恕颉脑虿⑶襲se至于為空就可以返回值。這樣無論怎么操作都會(huì)顯示成功了。達(dá)成條件。利用這種方法就可以登錄成功。
所以我們需要注意這一些利用漏洞的方法。