PHP网页下的注入原理

admin2024-08-20  13

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字符集则改为
二进制的方式传入,这时方法失效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!