51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3340|回复: 15
打印 上一主题 下一主题

[原创] SQL注入

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-16 16:31:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2.sql注入
SQL注入是另外一个经常忽略的安全漏洞,但是SQL注入同时也是一种非常普遍的代码漏洞,它会导致数据库端的敏感性数据泄漏,或者服务器受到黑客的控制。例如:下面的一段代码就存在SQL语句的注入遗漏。
SqlConnection sqlcon=sqlconnA;
//打开链接
sqlcon.open();
//组合一条查询语句
SqlConnection cmd="select count(*)from user where LogonName='"+this.textBox1.Text+"'and password='"+this.textBox2,Text"';
SqlDataAdapter adpt=new SqlDataAdapter(cmd,sqlcom);
DataSet ds=new DataSet()
adpt.Fill(ds);
//关闭连接
sqlcon.Close();
if ds.Tables[0].Rows.Count>0
{ return true;
}
else
{return false;}
这段代码从textBox1获得用户输入的用户名,从textBox2获得用户输入的密码,然后执行数据库查询操作,假设textBox1的输入框输入一个已知的用户名,然后再做一些手脚,则可以不输入密码也能登录系统。这个字符串利用了SQL Server对单引号的处理方式,只要简单的组合成类似下面的字符串并输入到textBox1的输入框中即可。
Admin ‘ or ’ 1 ‘ = ' 1
这样就可以利用已知的Admin帐号,不输入密码就能登录系统,因为给预期的SQL语句注入了额外的语句,所以实际上提交到sql server数据库执行的语句变成了如下所示的语句:
select count(*) from user where LogonName='Admin' or '1'='1' and password=''
由于1=1是恒等的,因此返回的结果肯定为真,从而干扰了用户信息的正常验证,导致能绕过密码验证而登录系统。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2010-8-17 08:57:50 | 只看该作者
    现在这么简单的SQL注入,很多测试是知道的了,但更深入的SQL注入文章我也没见到,期待更多的相关文章。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2010-8-17 09:55:32 | 只看该作者
    谢谢分享哦。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-8-17 10:37:09 | 只看该作者
    SqlConnection cmd="select count(*)from user where LogonName='"+this.textBox1.Text+"'and password='"+this.textBox2,Text"';
       #####
    是啊  还有哪个开发会写出这种完全不能重构的代码哦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2010-8-17 11:23:02 | 只看该作者

    回复 2# 的帖子

    我很想学习到深入的SQL注入,请大虾指点资料~谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-8-17 13:11:44 | 只看该作者

    回复 3# 的帖子

    不客气。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2010-8-17 13:14:55 | 只看该作者

    回复 4# 的帖子

    这是简单,我想是通过这个,说明一下SQL注入,提示自己不要忘记这块测试内容~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2010-8-19 09:37:26 | 只看该作者
    原帖由 王晓梅 于 2010-8-17 13:14 发表
    这是简单,我想是通过这个,说明一下SQL注入,提示自己不要忘记这块测试内容~

    如果只是提示自己不要忘记这块测试内容,可以写进自己的博客。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-8-19 11:04:51 | 只看该作者
    千里姐姐、支持、
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2010-8-19 15:01:41 | 只看该作者
    原帖由 xiaoli_javaY 于 2010-8-19 11:04 发表
    千里姐姐、支持、

    要姐姐去找百合嘛,我又不是女的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2010-8-20 09:51:58 | 只看该作者

    回复 8# 的帖子

    最近刚注册上51testing网站,没有看到些博客的地方啊?刚接触不熟悉
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2010-8-20 09:53:57 | 只看该作者

    回复 10# 的帖子

    千里版主,怎么那么凶啊,本来注册想跟着好好学习的,没想到刚上写点东西就碰到阻碍。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2010-8-20 10:35:34 | 只看该作者
    原帖由 王晓梅 于 2010-8-20 09:53 发表
    千里版主,怎么那么凶啊,本来注册想跟着好好学习的,没想到刚上写点东西就碰到阻碍。

    怎么看我都不是女性身份吧,哎。真够杯具的,我没有凶不该写东西,觉得我这么明显的性别属性都有人叫姐姐,不舒服哎。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-8-20 11:34:45 | 只看该作者
    这个SQL注入测试,应该怎么下手啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2010-8-26 15:08:28 | 只看该作者

    回复 14# 的帖子

    具体我也没做过,我也急需知道~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2010-8-26 15:29:02 | 只看该作者
    SQL注入和XSS一向用工具掃描,自己沒那個本事手工做
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 04:54 , Processed in 0.083941 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表