我已經繼承了一個大型的傳統ColdFusion應用程序。有數以百計<CFQUERY>一些SQL這裏#需要沿該線被參數變量#</CFQUERY >聲明:<CFQUERY>一些SQL這裏< cfqueryparam值= 「#變量#」/ > </CFQUERY >如何以編程方式清理ColdFusion cfquery參數?
我該如何去編程添加參數化?
我曾想過編寫一些正則表達式或sed/awk'y類的解決方案,但似乎有人在某處解決了這樣的問題。獎勵積分自動推斷SQL類型。
我已經繼承了一個大型的傳統ColdFusion應用程序。有數以百計<CFQUERY>一些SQL這裏#需要沿該線被參數變量#</CFQUERY >聲明:<CFQUERY>一些SQL這裏< cfqueryparam值= 「#變量#」/ > </CFQUERY >如何以編程方式清理ColdFusion cfquery參數?
我該如何去編程添加參數化?
我曾想過編寫一些正則表達式或sed/awk'y類的解決方案,但似乎有人在某處解決了這樣的問題。獎勵積分自動推斷SQL類型。
有一個queryparam掃描儀,會發現他們對你RIAForge:http://qpscanner.riaforge.org/
注意:QueryParam Scanner 0.8版將增加自動修復參數的功能,但目前它只能找到它們。 – 2008-09-15 22:26:14
這裏有引用的腳本:http://www.webapper.net/index.cfm/2008/7/22/ColdFusion-SQL-Injection,將做大多數繁重的工作適合你。你所要做的就是檢查查詢並確保語法正確解析。
沒有理由不使用CFQueryParam,除了它更安全以外,它是性能提升和處理基於字符的列類型中引用值的最佳方式。
這個腳本現在在github上供人們抓取和貢獻。 https://github.com/mhenke/WebApper-ColdFusion-SQL-Injection – 2011-07-29 15:30:26
<cf_inputFilter
scopes = "FORM,COOKIE,URL"
chars = "<,>,!,&,|,%,=,(,),',{,}"
tags="script,embed,applet,object,HTML">
我們用這個來抵消最近的SQL注入攻擊。我們將它添加到我們網站的Application.cfm文件中。
我懷疑有一個解決方案能夠完全滿足您的需求。我看到的唯一選擇是編寫自己的遞歸搜索,爲您生成報告或使用上面列出的應用程序/腳本之一。基本上,您將不得不編輯每個頁面或批准所有自動更改。
請記住,您可能無法用<cfqueryparam>解決所有問題。
我見過很多例子,其中按字段名稱的順序在查詢字符串中傳遞,這是一個稍微棘手的問題,需要以更「手動」的方式來驗證。
我還沒有機會審覈http://qpscanner.riaforge.org/或http://www.webapper.net/index.cfm/2008/7/22/ColdFusion-SQL-Injection。但是,如果這兩個人中的一個能夠得到足夠的讚揚,也許我不必,我可以接受這個答案。 – 2008-09-17 04:03:25