【发布时间】:2011-09-23 19:55:47
【问题描述】:
我收到了很多涉及 sql 注入尝试的点击,这些尝试涉及越来越长的参数。我将 php 中的参数限制为将它们转换为正整数或零,但我不确定是否存在某种涉及非常长的参数的技巧会导致我出现问题(缓冲区溢出问题?)。
我知道 php 中的 suhosin 补丁对过长的参数进行了某种修补,尽管我目前还没有。我应该怎么做才能保护自己免受此类情况的侵害(从我的日志中)?
ProductId=47&ItemId=-1025+UNION+SELECT+0x6d6567613164756d706572,0x6d6567613264756d706572,0x6d6567613364756d706572,0x6d6567613464756d706572,0x6d6567613564756d706572,0x6d6567613664756d706572,0x6d6567613764756d706572,0x6d6567613864756d706572,0x6d6567613964756d706572,0x6d65676131064756d706572,0x6d65676131164756d706572,0x6d65676131264756d706572,0x6d65676131364756d706572,0x6d65676131464756d706572,0x6d65676131564756d706572,0x6d65676131664756d706572,0x6d65676131764756d706572,0x6d65676131864756d706572,0x6d65676131964756d706572,0x6d65676132064756d706572,0x6d65676132164756--
【问题讨论】:
-
我能想到的唯一问题是一个真正疯狂的大字段值导致您的查询超过 DB 协议的最大数据包大小。 MySQL 不能跨多个数据包拆分查询。
-
您希望结果是什么,有点像拒绝服务的结果,它会减慢系统速度?我计划添加 suhosin 补丁,但我必须弄清楚它会产生的所有次要效果。
-
我猜是语法错误,因为中间数据会被截断,有点像
INSERT INTO table (....) VAL[chop]。 -
您可能想在 google 上搜索类似
0x6d6567613164756d706572的字符串或等效的字符串转换mega1dumper。希望您不会在搜索结果中找到自己的网站。
标签: php sql-injection parameter-passing