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

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:揭秘asp常用函数库大全
’-----------------FLYSOBlogASP站点开发常用函数库------------------ ’OpenDB(vdata_url)--------------------打开数据库 ’getIp()-------------------------------得到真实IP ’getIPAdress(sip)------------------------查找ip对应的真实地址 ’IP2Num

以下是一个简单的用户更改密码的代码
---------------------
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账号,删除所

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

分享:详解将ASP页面改为伪静态的简单方法
目前很多网站都采用生成静态页的方法,原因是这样访问速度会得到提高(服务器端CPU利用率很低),另外也容易被搜索引擎收录,但是这带来的一个问题就是需要足够大的空间存放这些静态页面,如果你的空间不是很富裕,而又想有利于被搜索引擎收录,其实可以采用伪

共2页上一页12下一页
来源:模板无忧//所属分类:ASP教程/更新时间:2010-04-23
相关ASP教程