A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱君 中级黑马   /  2013-3-12 11:50  /  1205 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Sql注入攻击的那个字符串怎么写来着?

3 个回复

正序浏览
在数据库里面创建一个存储过程,有两个输入参数,@sname,@spwd
Create proc proc_stu
@sname varchar(50),
@spwd varchar(50)
as
   declare  @count int;
   select count(*) from stuinfo where sname=@sname and spwd=@spwd;
   if(count>0)
     //.....操作代码
go
exec proc_stu 第一个参数,第二个参数

如果传入的第一个参数类似于 " 任意字符 or 1=1 --"  ,则在数据库里面select.....where sname=任意字符 or 1=1 --.....

在数据库中 "--"表示注释的意思,而组成的sql语句where条件 始终为true  ,这就没有起到验证信息的作用,也就形成了注入攻击。

回复 使用道具 举报
比如你要在数据库里查出用户名
select  *  from table where Name = " ";
你可以在登录的名后面这样写 name + or 1=1
好像是这样的  现在没发帮你 具体调试  
回复 使用道具 举报
就是在登陆的时候将sql脚本写在登陆的用户名和密码中  、

比如的  username select * from tableName where 1=1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马