Sql server MSSQL语句存在漏洞
注意:这不是我的应用程序,它是故意易受攻击的培训应用程序的一部分 我正在学习一门网络安全课程,作为评估ataregt应用程序的一部分,我已将其泄漏为ASP文件,其中包含对SQL Server 2000上MSSQL数据库的以下查询Sql server MSSQL语句存在漏洞,sql-server,sql-server-2000,Sql Server,Sql Server 2000,注意:这不是我的应用程序,它是故意易受攻击的培训应用程序的一部分 我正在学习一门网络安全课程,作为评估ataregt应用程序的一部分,我已将其泄漏为ASP文件,其中包含对SQL Server 2000上MSSQL数据库的以下查询 myUsrName = stripFilter(request.form("user")) myUsrPassword = stripFilter(request.form("password")) sSql = "SELECT * FROM tblCustomers
myUsrName = stripFilter(request.form("user"))
myUsrPassword = stripFilter(request.form("password"))
sSql = "SELECT * FROM tblCustomers where cust_name='" & myUsrName & "' and cust_password='"&myUsrPassword&"'"
这里最突出的一点是(除了用户控制的输入之外)第二个变量myUsrPassword
在和的两边都没有空格,而myUsrName
表示空格
我试图绕过用户和查询之间的一些字符过滤,需要知道这会如何影响传入的内容。也就是说,我是否需要说明在我的恶意查询中创建空白的原因
当处理此查询时,服务器端的差异是什么?Hi@Sami这是一个网络安全课程的培训应用程序。为Clarity编辑此为VBA代码。运算符(+、-、*、&等)周围的空格是可选的。空格是代码的一部分,而不是(连接的)字符串。根据@SalmanA所说的,服务器端不会有任何区别,因为相同的查询被发送到服务器。很好,大家好,我知道这是一个培训场景,但是如果您的培训材料使用的是经典的ASP和SQL Server 2000,那么它们已经有20年的历史了。如果本课程没有更现代的示例/软件,我建议您选择另一门课程。