第一百二十五章 隐码入侵与编码保护 (第2/3页)
判断这个用户名与密码是否符合管理者要素!其中一个变量rootid[resu1t1]是利用回圈从数据库中读取每一笔用户名数据出来判断当判断通过后再进入第二个判断式回圈读取数据库中的密码判断是否正确。」
天玄举手说:「等一等!如果是这样的话输入那些逻辑判断怎么会通过?」
云飞问:「你看看or1=1的结果应该是true或fa1se?」
天玄说:「喂太瞧不起我了吧?谁都知道1=1啊!这结果当然是true!」
云飞点头说:「看来你还有点救!接下来在判断式中假设用户名为pau1而密码为qq则判断式的成立应该是当if用户名==‘pau1‘以及if密码==‘qq‘对吧?因为在sql语法中单引号内括字元字串。」
天玄开始了解而说:「这样讲我当然明白!可是和or1=1又有何关联?」
云飞便说:「你看!假如我们输入if用户名==‘pau1‘这里改成if用户名==‘xxx‘本来应该是错误的因为没有xxx这个用户名在!可是若输入‘or1=1‘变成if用户名==‘xxx‘or1=1‘‘时因为有一个『或』运算or在就算没有用户名但判断到『或1=1』时却会通过!我们知道and要两者都成立而or只要其中一个成立所以在某些情况下会通过检查。而若反过来输入数据被放在==之前则可以输入1=1or来变成if1=1or‘xxx‘==‘pau1‘同样判断到1=1就会通过了。」
天玄拍手恍然大悟道:「天呀!真是高招!我终于开窍了!」
宇成也了解道:「原来如此这就是所谓的sql隐码啊!果然很危险!」
云飞却摇摇头说:「不然这并非是绝对的好方法!这次之所以能成功是因为写这个网页的人疏忽漏掉很多东西比如过滤掉单引号!如果对方的程式写了过滤单引号的程式加以检查这方法就不会成功了。而且刚刚所讲的只是基本的理论实际使用上要视不同网页程式写法尝试各种sql语法。」
天玄拼命点头说:「是!是!好这样我就知道要怎么跟小红说了!」
云飞转头看著宇成说:「怎么样?你还是对这些东西很有兴趣对吧?」
宇成不愿正面回答便说:「我只是想到『信息安全』的重要性罢了!毕竟如果这么简单就可以攻击的话那我们的数据存在网路上一点也不安全!」
天玄被激励而说:「宇成你在胡说什么啊?网路本来就是一个公开的地方既然有心要把数据放在上面当然就没有绝对的安全啊!所以被入侵是自己的防护不够周全的关系。你想想不锁好门而被偷东西该怪谁?」
宇成心中突然又闪过一道光心想:「是这样子吗?没有锁好门的人也有错吗?」
云飞喝了口水说:「那么接下来是编码的问题吧?」
天玄又拼命点头的说:「对拜托你了云飞大大不级大大大!」
云飞说:「你听好了所谓的编码就是将数据编辑成一连串的二进位码而加密则是不以直接的方式解码必需要用特殊的规则或演算法去解出来。」
天玄点点头说:「喔~是这样子啊?不过我还是不懂可以说得更俱体一点吗?
(本章未完,请点击下一页继续阅读)