我谈SQL注入攻击
来源:互联网 发布:nothing软件 编辑:程序博客网 时间:2024/04/30 07:38
有关Sql注入式攻击:(以下是就登录问题作解答)
如果你的查询用户的SQL语句字符串是这样定义:
System.Text.StringBuilder query = new System.Text.StringBuilder("SELECT Count(CustomerID) from Customer WHERE CustomerID = '");
string ID=this.Login1.UserName.ToString();
query.Append(ID);
query.Append("'AND CustomerPwd='");
string PWD=this.Login1.Password.ToString();
query.Append(PWD);
query.Append("'");
Response.Write(query.ToString());
即:select Count(CustomerID) from Customer where CustomerID='ID' and CustomerPWD='PWD'
那么,此登录存在注入式危机:如果在“用户名”文本框中输入:'1=1-- 在“密码”文本框中随意输入几个字符(如:aaa),那么你的Sql语句将变为:
select Count(CustomerID) from Customer where CustomerID='' or 1=1--and CustomerPWD='aaa'
如此将很容易通过验证。
防范措施:将参数中所带的单引号转换成双引号(即“'”,转换成“''”),
System.Text.StringBuilder query = new System.Text.StringBuilder("SELECT Count(CustomerID) from Customer WHERE CustomerID = '");
//设定string类型参数ID存储等录用户名,并同时用Replace()方法替换所有输入字符串中的单引号为双引号。
string ID=this.Login1.UserName.ToString().Replace("'","''");
//追加字符串
query.Append(ID);
query.Append("'AND CustomerPwd='");
//设定string类型参数PWD存储等录密码,并同时用Replace()方法替换所有输入字符串中的单引号为双引号。
string PWD=this.Login1.Password.ToString().Replace("'","''");
追加字符串
query.Append(PWD);
query.Append("'");
- 我谈SQL注入攻击
- 注入攻击--SQL注入
- 注入攻击之sql注入
- 跨站式SQL注入攻击
- SQL注入攻击总结
- 防SQL注入攻击
- SQL 注入式攻击
- SQL注入攻击尝试
- sql注入攻击
- sql注入攻击文章
- SQL注入防止攻击
- sql注入性攻击
- 防止sql注入攻击
- SQL注入攻击零距离
- sql注入攻击
- SQL注入攻击零距离
- SQL注入攻击零距离
- SQL注入攻击
- prototype-1.4.0源码解读
- Jsp结合XML+XSLT将输出转换为Html格式
- javascript中类的深入研究-实现和继承
- Mathematica 讲座
- [童趣]搞笑幼儿经典语录
- 我谈SQL注入攻击
- commons-logging和Log4j 日志管理
- 原创::完美解决中文问题的FVWM配置 :-)
- c#大数运算
- JSP登录验证功能的实现
- 工作流模式详解之流程控制模式(1)——Sequence
- 三级动态树形菜单
- 经常到的javaScript技术代码
- 上司赏识你的十大秘诀