加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.Net控件是否通过viewstate公开SQL查询?

发布时间:2020-12-16 09:46:58 所属栏目:asp.Net 来源:网络整理
导读:作为默认ASP.Net控件集的一部分的控件 – 所有时间都使用viewstate或controlstate吗? 即如果我将下面的代码放到一个全新的Web表单上,我的SQL字符串是否放在未加密的控制状态? asp:SqlDataSource ID="mobileData" runat="server" DataSourceMode="DataReade
作为默认ASP.Net控件集的一部分的控件 – 所有时间都使用viewstate或controlstate吗?

即如果我将下面的代码放到一个全新的Web表单上,我的SQL字符串是否放在未加密的控制状态?

<asp:SqlDataSource ID="mobileData" runat="server" 
        DataSourceMode="DataReader" 
        SelectCommand="SELECT * from ma.bob WHERE Vendor IS NOT NULL" 
/>

我知道如何加密viewstate和controlstate,但我觉得这个常见的用例可能非常不安全.当然可以通过修改控制状态来执行SQL注入攻击吗?

我想大多数人都会想到加密敏感应用程序的控制状态,但实际上,如果我的假设是真的 – 那么应该总是这样做 – 而visual studio应该默认启用它吗?

我是否正确地考虑过这个问题,或者我是否有错误的结束?

解决方法

要回答你的问题,不.
从 MSDN起

For security purposes,the SelectCommand property is not stored is view state. Because it is possible to decode the contents of view state on the client,storing sensitive information about the database structure in view state could result in an information disclosure vulnerability.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读