假設ColdFusion 10,0,13,287689和Oracle數據庫11g企業版版本11.2.0.2.0 - 64位生產。ColdFusion和Oracle SQL注入示例
有了這個例子...
<cfquery name="q" datasource="ds">
update someTable set
#form.col#label = <cfqueryparam cfsqltype="cf_sql_varchar" value="#x#">
where id = <cfqueryparam cfsqltype="cf_sql_decimal" value="#id#">
</cfquery>
而且假設沒有數據驗證在#form.col#
檢查,怎麼會這樣被利用?很明顯,他們可能會導致查詢失敗,並顯示一個無效的列,但我不認爲有任何辦法可以做更惡意的事情,因爲多個語句不能在單個<cfquery>
中運行。因此,像這樣沒有工作...
#form.col#:
id = 1; delete from users; --comment everything else out...
我知道,有選擇它更容易使用工會讓你無權查看的數據開採,但我對這個具體的更新聲明感到好奇。
那麼...你在問什麼? – fyroc
有沒有可能利用這個?我知道我可以使查詢失敗,但我沒有看到如何運行任何其他UPDATE,DELETE或SELECT。 – gfrobenius
我可能是錯的,但這會被視爲代碼審查? – fyroc