美文网首页
万能密码

万能密码

作者: 糖no1 | 来源:发表于2018-11-13 19:15 被阅读0次

    当用户登录时,后台执行的数据库查询操作(SQL语句)是【Select user_id,user_type,email From users Where user_id=’用户名’ And password=’密码’】。


    由于有些网站后台在进行数据库查询的时候没有对单引号进行过滤,当输入用户名【admin】和万能密码【2’or’1】时,执行的SQL语句为【Select user_id,user_type,email From users Where user_id=’admin’ And password=’2’or’1’】。

    同时,由于SQL语句中逻辑运算符具有优先级,

    【=】优先于【and】,

    【and】优先于【or】,

    且适用传递性。

    因此,此SQL语句在后台解析时,分成两句【Select user_id,user_type,email From users Where user_id=’admin’ And password=’2’】和【’1’】,

    两句bool值进行逻辑or运算,恒为TRUE。SQL语句的查询结果为TRUE,就意味着认证成功,也可以登录到系统中。



    相关文章

      网友评论

          本文标题:万能密码

          本文链接:https://www.haomeiwen.com/subject/rbalfqtx.html