Session 会话可以被伪造吗?

Session 会话可以被伪造吗?,session,asp-classic,sql-injection,Session,Asp Classic,Sql Injection,我需要检查我所有的asp代码以防止SQL注入 我也应该检查会话对象吗 会话如何被劫持 谢谢 为了避免SQL注入,请使用参数化查询,而不是通过连接字符串来构建SQL查询。会话劫持是一个完全不同的话题。通过在每个请求中更改会话cookie,这可能会变得更加困难,通过使用HTTPS可以完全避免。一个相关的(更大的)问题是跨站点请求伪造(查找)。会话可能被劫持。如果我没记错的话,经典ASP只支持基于cookie的会话标识符。如果有人能够窃取cookie(有线窃听),那么他们可以获得与合法用户相同的会话

我需要检查我所有的asp代码以防止SQL注入

我也应该检查会话对象吗

会话如何被劫持


谢谢

为了避免SQL注入,请使用参数化查询,而不是通过连接字符串来构建SQL查询。会话劫持是一个完全不同的话题。通过在每个请求中更改会话cookie,这可能会变得更加困难,通过使用HTTPS可以完全避免。一个相关的(更大的)问题是跨站点请求伪造(查找)。

会话可能被劫持。如果我没记错的话,经典ASP只支持基于cookie的会话标识符。如果有人能够窃取cookie(有线窃听),那么他们可以获得与合法用户相同的会话


是否也要检查会话对象?那要看情况。如果可以确保会话中存储的所有对象都是“安全的”(输入已被清除),则可以跳过会话对象。若在应用程序的某个地方,您从不安全的源获取数据并将其放入会话对象中,那个么您也必须检查它。

好的,您只需要保护用户输入。因此,您必须问自己的问题是:“这些数据是否来自用户输入?”如果是,则必须使用sql参数

在更大的范围内,考虑到您有单独的方法和类来执行数据访问,您应该为提供给sql的每个文本参数指定sql参数。在这种情况下,sql参数实际上是不必要的,因为如果您收到一个数字作为方法参数,它就不可能有sql注入


但是,如果有疑问,请使用sql参数。

会话变量存储在服务器的内存中。客户端上只存储cookie id。不需要担心会话中的变量,除非它们来自客户端。很多时候,检查传递到数据库的所有变量以进行sql注入会更容易。

为什么要否决这个问题?除了语法错误,我认为这是一个合理的问题。你可能因为问题文本缺乏重点而被否决。主题表示您想讨论劫持,但文本开始讨论SQL注入。