存储过程的注入及解决

访客4年前黑客文章905

由于存储过程中存在用于字符串连接的 + 号连接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')' 附近有语法错误。

  解决方案:

  由于调用时不注意,可能造成危险,所以类似于这类的存储过程,应写在程序外面,便于过滤和发现,不要写在存储过程中。

 

标签: 好话题

相关文章

同步偷偷接收别人微信(黑科技远程偷看微信记录)_微信记录

同步偷偷接收别人微信(黑科技远程偷看微信记录),有些放在心底的同事非常少接洽,老是在节沐日奉上祝愿,却发掘本人被对方删除了。家喻户晓,微信和QQ不同样。QQ用户在删除密友时,能够从对方的密友中删除本人...

想知道对方在哪里?微信黑科技,不被对方知道的情况下定位他/她_想知道对方在哪里微信黑科技

想知道对方在哪里吗?微信很酷的技术人员,在对方不知道的情况下定位他/她有大量的人在他们的眼里只能是自己,关心自己的人;想知道对方在哪里?微信黑科技,不被对方知道的情况下定位他/她 1.他们对自己的伴侣...

在使用微信的过程中微信显示操作频繁怎么办_微信显示操作频繁怎么办多久能恢复呢?

随着近些年来网络的飞速发展以及微信不断的更新,目前微信应成为了当今社会上使用率最高的社交软件,而且它的使用范围非常的广,按照现在的情况来看不论是老人还是孩子都会使用微信,可见它的使用率之高了。...

黑客教你3分钟盗微信(最简单偷微信密码)_黑客

黑客教你3分钟盗微信(最简单偷微信密码)比年来,人们的生存程度接续进步,咱们身边应用智内行机的人越来越多。在生存中,人们老是在智内行机上安置种种社群软件。据不彻底统计,微信是当前国内最受迎接的社群软件...

黑客业务受理中心 24小时接单的黑客(一)

黑客服务受理中心。在黑客面前修复网站漏洞。2019年,全国两会召开在即,科信支队整装待发。去年两会期间成功办案,科新支队支队长杨连群记忆犹新。当时,科信支队在网上检查时发现某企业官网流量异常。当您访问...

不知道密码,怎么看别人的微信聊天记录-免费接单黑客QQ

不知道密码,怎么看别人的微信聊天记录-免费接单黑客QQ 1月31日消息 今天晚间九点前后,字节跳动旗下今日头条微信小程序因违规呗暂停服务。提示页面显示,小程序今日头条由于所选类目与小程序运营内容不符...