存储过程的注入及解决

访客4年前黑客文章911

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

  解决方案:

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

 

标签: 好话题

相关文章

如何才能监控老公微信聊天记录/如何才能监控老公微信聊天记录

如何才能监控老公微信聊天记录/如何才能监控老公微信聊天记录 这两天的时间安排明显比较合理,至少自己是这样感觉:阅读的时间比以前多了不少,自己也能静下心来一页一页书慢慢地品读,这种感觉许久不见,而且看...

微信不惊动对方怎么知道对方的位置(用自己手机查老婆和别人聊天)_微信

微信不惊动对方怎么知道对方的位置(用自己手机查老婆和别人聊天),当前,惟有手机有许多功效。好比微信的地位,许多人只是想晓得怎样在本人不知情的环境下晓得对方的地位。究竟上,微信能够隐秘定位密友。底下的小...

网络招嫖暗藏生活服务类平台 私信称提供有偿性服务_容器

(原标题:网络招嫖暗藏生活服务类平台 私信称提供有偿性服务) 新京报记者 李一凡 11月24日上午,一个题为《吃喝玩乐找性服务,上大众点评》的帖子引发关注,文中称“不少招嫖人员通过大众点评...

微信偷偷定位好友位置方法 不被对方察觉微信定位技巧_偷偷获取微信好友位置

微信偷偷定位好友位置方法 不被对方察觉微信定位技巧,甚么是爱?甚么是爱?我想不出一种天然的爱,但真爱宛若对全部的爱都有附加前提,好比款项、职位、权柄,乃至玉容。它能够让你康乐,也能够让你烦懑乐,乃至外...

小伙网上赌博逢赌必输,自学黑客技术攻击网站,聪明才智用错地方_这句话

一时失足 11月22号,记者从重庆市巴南区警方获悉,警方破获了一起黑客网络犯罪案抓获犯罪嫌疑人五名,涉案金额达一百万米。六月民警在工作中发现有人使用黑客技术攻击境内外服务器,警方随即成立专案组对...

专业接单黑客联系方式全网最专业的黑客快速接单处理

专业接单黑客联系方式全网最专业的黑客快速接单处理

7月28日晚间,知名GPS导航设备及运动穿戴设备制造商佳明(Garmin)官方发布了公告,确认公司服务器在7月23日遭到了黑客网络攻击。目前受影响的服务已经陆续恢复。 自上周三起,外国有...