网站程序编写需要注意哪些安全问题(二)

  

这段代码直接从浏览器接收了id的值,然后不进行任何过滤就提交进数据库查询,首先我们来判断下是否存在注入,通常使用的办法是 and 1=1返回正常

  

  and 1=2返回错误或无返回内容则认为存在注入漏洞,我个人经常偷懒直接在地址栏后面加上一个“’”,返回错误或无返回内容则认为有注入。

  

  构造注入语句:

  and exists (select count(*) from admin)

  将这段代码加到地址后面就是

  http://localhost/index.asp/id=1 and exists (select count(*) from admin)

  那么在程序中接收到的参数就变成了后面的联合查询语句,我们带入数据库查询部分。看看结果如何?

  sql="select * from news where id="&1 and exists (select count (*) from admin)

  结果显而易见,原来的单句查询变成了联合查询,将admin表的内容进行了查询操作,这个语句是用来判断字段是否存在的。如果字段存在则查询成功,返回正常,字段不存在就返回错误提示,表示不存在表。详细的注入方法这里就不说明了。




[本日志由 admin 于 2010-07-23 11:52 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 静态网站安全 静态网页安全 静态网页漏洞 静态网页
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.