hhnf333 发表于 2018-10-17 13:18:46

SQL Server应用程序中的高级SQL注入(实战篇二)

    Login
  
  

  Username:
  Password:  
  
  
  
  
  
  下面是process_login.asp的代码,它是用来控制登陆的:
  
  

    
  p { font-size=20pt ! important}
  font { font-size=20pt ! important}
  h1 { font-size=64pt ! important}
  
  
  

    
  ACCESS DENIED
  
  
  
  

     ACCESS GRANTED
  Welcome,0) {
  Login( cn );
  }
  cn.close();
  }
  Main();
  %>
  出现问题的地方是process_lgin.asp中产生查询语句的部分:
  Var sql="select * from users where username='"+username+"' and password='"+password+"'";
  如果用户输入的信息如下:
  Username:';drop table users—
  Password:
  数据库中表users将被删除,拒绝任何用户进入应用程序。'—'符号在Transact-SQL中表示忽略'—'以后的语句,';'符号表示一个查询的结束和另一个查询的开始。'—'位于username字段中是必须的,它为了使这个特殊的查询终止,并且不返回错误。

页: [1]
查看完整版本: SQL Server应用程序中的高级SQL注入(实战篇二)