【问题标题】:PHP Using % inside mysqli where clause [Havij]PHP 在 mysqli where 子句中使用 % [Havij]
【发布时间】:2015-03-16 20:55:55
【问题描述】:

所以我的网站对 SQL 注入开放,并使用 Havij 进行利用。我的问题是对于那个程序,您可以使用getVariable=%inject_Here% 格式的占位符。

现在我知道在 like 语句中您可以使用 % 作为通配符。

% 符号在等号比较中是否有意义?或者使用这种结构,它实际上是在寻找字符串“%inject_Here%”。

我只是想了解格式以帮助进一步防止注入。

任何有关该主题的信息将不胜感激!

【问题讨论】:

标签: php sql mysqli code-injection


【解决方案1】:

您可以将字符串转换为它的十六进制值。这是一个关于在 sql http://www.codeproject.com/Articles/610089/SQL-Servers-FORMAT-function#13 中执行此操作的网站。每种语言都有一个易于使用的方法来将字符串转换为十六进制。这将使您能够在字符串中放置您想要的任何字符。

如果您实际上以数学类型的方式使用百分比,则将它们存储在您的 sql 字符串中是不合适的。您应该以十进制格式存储它。小数(p,s)示例小数(5,2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    相关资源
    最近更新 更多