您没有来错地!为了更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

存储过程中的注入技术

2010-2-5 15:25| 投稿: security

摘要:     因为存储过程中存在用于字符串连接的 + 号连接SQL语句,这就造成SQL注入的可能性.     下面举例说明:  &n...
    因为存储过程中存在用于字符串连接的 + 号连接SQL语句,这就造成SQL注入的可能性.     下面举例说明:     PR_UserManage_Users_BatchMove     CREATE PROCEDURE [dbo].[PR_UserManage_Users_BatchMove]     (     @UserType int = 1,     @GroupId NVarChar(500) =”,     @UserId NVarChar(4000) = ”,     @UserName NVarChar(255) = ”,     @StartUserId int = 0,     @EndUserId int = 0,     @BatchUserGroupId NVarChar(500) =”     )     AS     BEGIN     SET NOCOUNT OFF     If (@UserType = 1)     BEGIN     EXEC(’Update PE_Users set GroupID= ‘ + @GroupId +’ Where UserID in (’ + @UserId + ‘)’)     END     Else If(@UserType = 2)     BEGIN     EXEC(’Update PE_Users set GroupID= ‘ + @GroupId +’ Where UserName in (”’ + @UserName + ”’)')     END     Else If(@UserType = 3)     BEGIN     EXEC(’Update PE_Users set GroupID= ‘ + @GroupId +’ Where UserId between ‘ + @StartUserId + ‘ and ‘ + @EndUserId)     END     Else If(@UserType = 4)     BEGIN     EXEC(’Update PE_Users set GroupID= ‘ + @GroupId +’ Where GroupID in (’ + @BatchUserGroupId + ‘)’)     END     END     可以看出,在用户名的地方,没有过滤直接放入查询.     调用地方:     public bool MoveByUserName(string userName, int groupId)     {     Parameters parmsForUsers = new Parameters();     parmsForUsers.AddInParameter("@UserType", DbType.Int32, 2);     parmsForUsers.AddInParameter("@UserName", DbType.String, userName);     parmsForUsers.AddInParameter("@GroupId", DbType.Int32, groupId);     return DBHelper.ExecuteProc("PR_UserManage_Users_BatchMove", parmsForUsers);     }     指定用户名 这里加入SQL注入语句     “/”应用程序中的服务器错误。     字符串 'jax')' 后的引号不完整。     'jax')' 附近有语法错误。     说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。     异常详细信息: System.Data.SqlClient.SqlException: 字符串 'jax')' 后的引号不完整。     'jannock')' 附近有语法错误。     解决方案:     由于调用时不注意,可能造成危险,所以类似于这类的存储过程,应写在程序外面,便于过滤和发现,不要写在存储过程中。

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部