PHP网页下的注入原理

来源:互联网 发布:数据有效性检验 挖掘 编辑:程序博客网 时间:2024/06/05 09:52

PHP网页下的注入原理



原理

            php在处理字符集的时候,是以字节为单位处理,用单引号(半角'')包涵。网页程序员
若是以set name 的方式直接传入,则在用户登陆输入用户名时,可以用个别的特殊字符将后
边的单引号转义,从而造成在输入用户名时输入select语句的效果,从而完成注入。

用法

            繁体“誠”字的字节码是0xdc0x5c,其中0x5c又是反斜杠(\)转义字符,从而可以转义后一
个单引号。搜索内容不完整,可继续补充SQL语句,or 1=1 limit 条件 /* #。其中,or的第二个
条件总是使返货条件为真,/*和#分别为SQL语言和PHP的注释符号。密码需要输入,则可以
入*/#。
          在url内则可以写如下面内容有相同的效果,不过先得得知用户名和密码的变量名称:

http://.............................../xxx.php?账户变量=%dc%27%20or%101=1%20limit%201%20/*&密码变量名=随意输入*/%23

           其中%dc是转义字符,%20是空格,%27是单引号,%23是井号,/*...............*/SQL语言
的注释,#是php语言的符号。

注意

         此方法是基于set name 方式直接传入的,如果该网页程序员自定义charset字符集则改为
二进制的方式传入,这时方法失效。


0 0
原创粉丝点击