如何防止SQL注入 | 您所在的位置:网站首页 › 防止sql注入最有效的方法 › 如何防止SQL注入 |
一般来说, SQL 注入一般存在于形如: HTTP://xxx.xxx.xxx/abc.asp?id=XX 等带有参数的 ASP 动态网页中,有时一个动态网页中可能只有一个参数,有 时可能有 N 个参数, 有时是整型参数, 有时是字符串型参数, 不能一概而论。 总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在 SQL 注入。 如果 ASP 程序员没有安全意识, 不进行必要的字符过滤, 存在 SQL 注入的可能性就非常大。
为了全面了解动态网页回答的信息,首选请调整 IE 的配置。把 IE 菜单 - 工具 -Internet 选项-高级-显示友好 HTTP 错误信息前面的勾去掉。
为了把问题说明清楚,以下以 HTTP://xxx.xxx.xxx/abc.asp?p=YY 为例进行 分析, YY 可能是整型,也有可能是字符串。
1 、整型参数的判断
当输入的参数 YY 为整型时,通常 abc.asp 中 SQL 语句原貌大致如下:
select * from 表名
where 字段 =YY , 所以可以用以下步骤测试 SQL 注入是 否存在。
① HTTP://xxx.xxx.xxx/abc.asp?p=YY ’ ( 附加一个单引号 ) ,此时 abc.ASP 中 的 SQL 语句变成了
select * from 表名
where 字段 =YY ’, abc.asp 运行异常;
② HTTP://xxx.xxx.xxx/abc.asp?p=YY and 1=1, abc.asp 运行正常,而且与 HTTP://xxx.xxx.xxx/abc.asp?p=YY 运行结果相同;
③ HTTP://xxx.xxx.xxx/abc.asp?p=YY and 1=2, abc.asp 运行异常;
|
CopyRight 2018-2019 实验室设备网 版权所有 |