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