sql注入吧 关注:409贴子:490
  • 12回复贴,共1

请教SQL注入的概念

只看楼主收藏回复

本人初入网络安全知识领域。请教一下,SQL注入的概念。我看了资料,因为我不是学技术的,不是很明白他的大体形式。
请教高手用直白的语言给我讲明白了。


1楼2010-08-17 14:59回复
    select * from users where name='admin' and pwd = '123456';
    select * from users where name='admin' and pwd = '123456' or '1==1';


    2楼2012-09-06 18:18
    收起回复
      2025-06-11 21:51:17
      广告
      = = 我也是刚刚才弄懂,做个假设吧, 你在一个网站上登陆的时候,网站会将你填写的账号密码信息带到SQL数据库去确认账号密码的真实性,一般是先确认账号是否存在,再确认密码是否正确。select * from users where name的意思应该是一个判断句 账号存在的真假性(也就是有没有这个账号),在后面加上and 1=1的话,整句话的意思就变成了,XXXX账号存在“还有”1=1 如果网站本身不存在过滤系统把1=1过滤的话,账号正确,并且1=1(1=1别说你不知道) ,两个都是真,最后系统便会返回真,高二有学这个的 还有和或者的真假判断,“还有”就是左右都为真才是真命题,“或者”左右只要对一个就是真命题了。这个懂?如果是 XXXX账号存在“还有”1=2的话,即使账号正确,但1是不等于2的,这个是假命题,自然返回错误的信息,也就是最后会出现提示框(账号不存在什么的), 这也告诉了我们,这个网站到底有没有过滤系统,如果1=1为真,1=2为假的话。你还可以试试问点更加深沉的问题,例如,账号是否存在“还有”管理员的账号大于7个字符长度, 再问些其他的问题,例如大于7时是对的,小于9时是错的,再问一句等于8,如果返回正确,那么恭喜你,你猜对了管理员的账号长度,然后,再问管理员账号左边第一个字符是A,系统判断真假,是B?是C?是D?……第二个字符是A?是B?是C?……花多些时间的话,你就会找到正确的账号了,密码也一样。大多数的站长id都会是1的,只要问id=1的账号第一个字符什么的就好了,详细的命令网上很多


      3楼2013-01-02 00:51
      收起回复
        大神说不一定是非要1=1,1=2,只要是能判断等于和不等于的,多少都行


        来自Android客户端4楼2013-09-06 14:19
        回复
          我感觉首先还是要把这个语言了解清楚!!才能更好的理解!!


          IP属地:吉林来自Android客户端5楼2014-01-11 09:02
          回复
            就是将恶意语句输入系统绕过过滤 输入系统


            IP属地:湖北来自Android客户端6楼2014-04-02 21:51
            回复


              IP属地:中国台湾来自Android客户端7楼2014-08-18 08:25
              回复
                sql注入就是修改原本的sql命令,以达到不需要验证就可以得到查询信息


                来自iPhone客户端10楼2017-03-18 13:53
                回复
                  2025-06-11 21:45:17
                  广告
                  直白一点 就是你的sql 语句对数据库产生了影响 一般都是管理员没有做限制 也就是说一个数据库放在你面前给你随便查


                  IP属地:湖南11楼2018-02-11 20:14
                  回复