SQL注入 修改已知用戶的密碼(less-24)

在一些帳號註冊、更改密碼薄弱的程序中,我們可以通過二次排序注入來進行一些我們想要實現的內容。二次排序注入也成爲存儲型的注入,就是將可能導致sql 注入的字符先存入到數據庫中,當再次調用這個惡意構造的字符時,就可以出發 sql 注入。例如我們已知數據庫如下:


我們就以admin賬戶爲例,通過註冊新用戶,然後修改新用戶的密碼來實現修改已知admin賬戶的密碼。首先我們註冊一個admin’#的帳號,然後登錄後進入修改密碼頁面進行修改,如下圖所示:


(註冊帳號)


(修改密碼,這裏當前密碼可以隨便輸)
然後我們就會發現admin賬戶的密碼被修改了,如下所示:



爲什麼呢,我們可以看到sql語句如下:

UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass'

這裏因爲我們賬戶是admin’#,#後面的都被註釋了,所以相當於我們執行的語句是:

UPDATE users SET passwd="abc" WHERE username ='admin'

那麼顯而易見修改的就是admin的密碼了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章