iT邦幫忙

0

asp.net HiddenField SQL injection

專案程式被弱掃軟體掃出SQL injection
但是這段SQL並沒有拿去DB做搜尋,而是比對已取出的資料。
弱掃報告建議使用Parameters來解決,但重點是這段沒有拿去做SQL查詢啊!!
請問這該怎麼解決?
以下其中一行例子

<asp:HiddenField ID="hideRowIndex" Value='<%# Eval("RowIndex") %>' runat="server" />
DataRow rowtbType1Show = tbType1Show.Select(" RowIndex ='" + hideRowIndex.Value.Trim() + "' ")[0];
哪一款弱掃阿!?
sion iT邦新手 4 級 ‧ 2019-06-11 10:22:31 檢舉
Micro Focus

2 個回答

0
hmjh56032212
iT邦新手 5 級 ‧ 2019-06-06 14:09:03
最佳解答

如你所說的,DataTable已經是取回來的資料。並沒有連DB,所以目前要解決的是不讓弱掃軟體警告

試試看這個方式能不能通過

DataRow rowtbType1Show tbType1Show.Select(string.Format("RowIndex ='{0}' ", hideRowIndex.Value.Trim()))[0];

參考說明
statckoverflow

看更多先前的回應...收起先前的回應...
sion iT邦新手 4 級 ‧ 2019-06-06 14:19:00 檢舉

原來是linq的問題嗎?我google到是說把HiddenField 全改成viewstate/session,我覺得應該有其他解,才來發問,我會試試

sion iT邦新手 4 級 ‧ 2019-06-06 14:21:15 檢舉

SQL injection 大部分的解決方式就是參數化查詢,具體要看你的例子

如果你的DropDownList的值會拋到DB連線做查詢的話,就要參數化

sion iT邦新手 4 級 ‧ 2019-06-06 15:14:39 檢舉

我剛看了應該是同一個問題所以收回了

0
小魚
iT邦大師 1 級 ‧ 2019-06-06 13:25:12

linq語法為什麼又用字串呢?
用C#比對不就好了嗎?

sion iT邦新手 4 級 ‧ 2019-06-06 13:37:47 檢舉

問題不是這個吧?

我要發表回答

立即登入回答