查看文章 |
鸡蛋里挑骨头
2009-05-30 12:31
呵呵,大家都看过黑哥写的: 高级PHP应用程序漏洞审核技术 吧 发现几个问题!在5.6.1.2 数据截断下的数据截断问题中,先来看下原文: 1) Mysql SQL Column Truncation Vulnerabilities 这个漏洞又是大牛Stefan Esser发现的(Stefan Esser是我的偶像:)),这个是由于mysql 的sql_mode设置为default的时候,即没有开启STRICT_ALL_TABLES选项时,MySQL对于插入超 长的值只会提示warning,而不是error(如果是error就插入不成功),这样可能会导致一些截 断问题。测试如下: --code------------------------------------------------------------------------- mysql> insert into truncated_test(`username`,`password`) values("admin","pass"); mysql> insert into truncated_test(`username`,`password`) values("admin x", "new_pass"); Query OK, 1 row affected, 1 warning (0.01 sec) mysql> select * from truncated_test; +----+------------+----------+ | id | username | password | +----+------------+----------+ | 1 | admin | pass | | 2 | admin | new_pass | +----+------------+----------+ 2 rows in set (0.00 sec) ------------------------------------------------------------------------------- 好了,我不知道是不是笔误还是咋了,在插入的表的列名竟然是用单引号包括起来的,这个单引号看起来而且好象是中文状态下输入的,看我的测试截图吧 |
最近读者:



单引号≠``.....