這是由于ActiveRecord處理嵌套查詢參數(shù)的方式所致,攻擊者可以使用特定的請求,向應(yīng)用程序的SQL查詢中注入某些形式的SQL語句。
比如,受影響的代碼可以直接傳遞請求參數(shù)到ActiveRecord類中的where方法,如下:
- Post.where(:id => params[:id]).all
Post.where(:id => params[:id]).all
攻擊者可以發(fā)起一個請求,導(dǎo)致params[:id]返回一個特定的哈希值,從而使WHERE從句可以查詢?nèi)我鈹?shù)據(jù)表。
受影響的版本:3.0.0及之后的所有版本
未受影響的版本:2.3.14
修復(fù)版本下載: