傅尔康告诉马林,叶总说的只不过是表单的名字。
当然,马林通过拳打脚踢的暴力威胁,免除了对方要求他“叫声爹”的前置条件,不仅如此,他甚至还成功地让对方叫了他一声爹。
“就这?”马林满脸狐疑,“就这就这就这?”
马林点点头:“他说的就是一些表单的名字,不过,那些名字大多是一些没有实际含义的字符串,就像100.10.100之类的地址啊,或者是英文字母与符号的结合啊,他让我按照某些指定的条件检索数据,然后把数据给删掉——对了,好像还有……”
“还有什么?”
傅尔康想了想,然后呵呵傻笑起来:
“没啥没啥!”
“不对!”马林揪着不放,“你的反应不正常!肯定还有什么东西!”
马林再次握紧了拳头,准备再来次拳打脚踢。
然而不论马林怎么威胁他,傅尔康始终不肯开口。
“真没啥可说的!”
“你想气死我啊你!或者——”马林说,“如果我也叫你一声爹呢?”
令马林意外的是,连这都没能诱惑到他。
马林故意岔开了话题:“啊对了,你不是对sql注入挺感兴趣的吗?我来给你讲讲它的原理好了,特别有意思的!”唉,傅尔康就是个倔驴,他决定的事情,谁也别想让他改过来。既然他这么说了,就算马林继续坚持下去,恐怕也没有什么意义。
好吧,就听他唠叨唠叨电脑的事情吧。
一聊到计算机,傅尔康就滔滔不绝,比卖保险的还能说。
马林就在那儿听着,尽管他什么都听不懂,但偶尔也点点头,发出恍然大悟的惊叹,就像他在大学里上“信息技术课”一样。一节课下来,尽管马林听不懂那些专有名词,但是对于sql注入的逻辑,也有了个大致了解。
他不得不惊叹于黑客的智慧。
就像之前傅尔康所讲的那样,人们在登录或者使用数据库的时候,是需要输入一些信息的,比如说你的用户名、密码,比如说你的查询语句等等。系统把这些信息传到代码中的某个位置,执行逻辑判断语句,如果对方判定,你拥有合法权限,则返回一个“是”的结果,然后执行后面的语句;但如果对方判定你没有合法权限,则返回一个“否”的结果,拒绝执行你提出的查询要求。
既然输入的信息会传递到代码的某个位置,那么……
这就提供了一个机会,可以让你通过输入某些特定的字符和语句,来改写程序背后的代码!
这听起来匪夷所思,但却是真的!
比如说,某些符号和语句可以生成代码注释,所谓的注释,是写在代码中向程序员解释代码含义的文字,本身不会运行。如果黑客在输入查询信息、参数信息的时候,也使用了这样的语句,那么这些信息传送到程序代码之后,就会把后面原本应当运行的语句,转换成永远不会被执行的注释,从而篡改了程序代码!