加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

解读ASP程序执行SQL语句时防止注入攻击的难题

发布时间:2023-10-14 13:18:47 所属栏目:Asp教程 来源:
导读:以下是一个简单的用户更改密码的代码---------------------username=request("user_name")pwd=request("pwd")username=replace(username,"’","’’")pwd=replace(pwd,"’","’&rsq

以下是一个简单的用户更改密码的代码

---------------------

username=request("user_name")

pwd=request("pwd")

username=replace(username,"’","’’")

pwd=replace(pwd,"’","’’")

sql="update tbl_test set pwd=’" & pwd & "’ where uid=’" & username & "’"

set rs=conn.execute (sql)

--------------

现在,假如我注册一个用户,用户名为 aa’; exec sp_addlogin ’haha

当该用户更改密码时(假设改为pp),会出现什么后果呢??

sql变为 update tbl_test set pwd=’pp’ where uid=’aa’ ; exec sp_addlogin ’haha’

结果是用户密码没有被修改,因为没有 aa这个用户,

但在你的数据库中创建了一个登陆,新登陆名为 haha

将用户名稍加修改,实际上可以运行任何sql语句,任何sql系统过程

而这一切都在你不知情的情况下发生的,实际上,上面的只是一个

示范,稍微修改一下用户名,我们可以做添加一个DBA账号,删除所

有纪录,读取用户密码等越权操作。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章