2016-11-23 55 views
1

我目前正在本地主機Web應用程序上練習SQL注入。爲了成功地做到這一點,必須在聲明中返回一個值(使用SELECT)。我試圖更改用戶的密碼:有沒有辦法更新表格,並在一個語句中選擇它?

changepwd', (UPDATE mysql.user SET authentication_string=PASSWORD('new password') 
      WHERE user='root' UNION SELECT authentication_string from mysql.user)) # 

使用SQL注入不能使用;。在那個例子中,我嘗試了UNION以查看它是否可行,但沒有運氣。任何其他想法我可以嘗試?

+0

這對Postgres來說非常簡單。你正在使用哪個DBMS? –

+0

我正在使用MySQL – Reckope

回答

0

我認爲這個問題的答案是here

總之,答案是創建一個存儲過程。

+0

一般來說,這是要走的路,但他問的是有關sql注入,所以創建一個SP不是一個選項 –

+0

那麼是否可以注入並調用它?也許通過更改分隔符並運行多個調用。 (我不知道是否有可能,還沒有測試過) –

相關問題