专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »安全 » 判断数据库是否存在:判断Web数据库方式的一个小经验 »正文

判断数据库是否存在:判断Web数据库方式的一个小经验

来源: 发布时间:星期六, 2009年9月12日 浏览:3次 评论:0
很多站都是这样防止或是过滤ASP提交参数
isnumeric(id) Then
response.write "yes!"
call sql_query(id)

response.write "Error id"
Response.End
end

这样就不论如何样如果出现非数值就出现很直接防范,没办法出错,也没办法得到数据库类型
但是其实我们还是有思路方法,
比如这个ID是由xxx.asp提交
xxx.asp?id=1
我们就在后面加上38个以上数字,比如0
xxx.asp?id=100000000...{"0"x38}
这样就能得让上面那段ASP在执行SQL_Query时候出错了
提示如下
引用内容:
Microsoft OLE DB Provider for SQL Server '80040e57'

数字 '100000000000000000000000000000000000000000000000000000000000000000' 超出了数字表示范围(最大精度为 38 位有效数字)

/announce.asp行 19



明白了没?我们让数据库出错了.可见Isnumeric防范并不是彻底.
其实原因也很简单:SQL中定义 Numeric数据精度最大只能是38,如果我们提交了超过38个数值以后就会出现,从而让数据库出现...
防范也很简单,句代码足够
代码:
id>1000000000 Then Call Error(id) '100000000这样长度总足够了吧?



  • 篇文章: 网络安全教程-密码和Crack工具研究

  • 篇文章: 突破SQL提示上传webshell
  • 0

    相关文章

    读者评论

    发表评论

    • 昵称:
    • 内容: