如何验证meekrodb的安全性?

时间:2013-05-02 22:33:44

标签: security sql-injection

Meekrodb是一个简单的php - > mysql库。如何测试/验证它是否安全,例如针对sql注入攻击?

1 个答案:

答案 0 :(得分:3)

第一个选项是阅读常见问题解答:

我是否应该采取额外的预防措施来阻止SQL注入?

如果遵循2条简单的规则,MeekroDB将100%的SQL注入变为不可能。首先,永远不要将%l(literal)占位符与用户提供的数据一起使用。此占位符不会像所有其他人那样逃避您的数据。其次,不要使用MySQL命令SET NAMES或SET CHARACTER SET在运行时更改字符集。如果需要更改字符集,只需在设置MySQL用户名/密码的同一位置使用DB :: $ encoding。

第二个选项,假设您拥有许可证:

填写以下内容使用查询/输入字段:

'\"

这可能会导致您所见过的最奇怪的错误。它可能只是被转换,在这种情况下你证明它是安全的。

<强>更新

例如,从那里开始第一次索赔(与安全性相结合):

“MeekroDB负责处理报价并为您转义。”

现在,为了测试这个特定的声明,他们提供了处理这种情况的方法:

DB::query("SELECT * FROM login WHERE username=%s AND password=%s", 
                                                        $username, 
                                                        $password);

为了证明这个说法确实是真的,你可以写一个小的应用程序(例如)输入:

$username = "''""\";