0

所以我想知道是否有一种可接受的方法来允许 SQL 注入。

例子:

限制表/数据库的权限

你为什么问?

我的雇主想设计一种方法来测试申请人的技能,一个建议是允许通过 SQL 注入提交简历。

有什么想法吗?建议?

在此处输入图像描述

4

2 回答 2

1

你可以使用角色。为用于连接数据库的 Web 应用程序(或其他)创建一个角色。将此角色限制为仅允许INSERT和访问必要的表以进行应用。通过应用程序访问您的数据库的申请人只能使用 SQL 注入来添加他们的简历。

更有可能在 SQL 方面更有才华的人以增加角色权限的方式使用注入。但我认为,如果该角色只能访问特定表并且没有特权CREATEGRANT那么用户将无法创建新角色。

以下是一些有关角色的信息,可帮助您入门:

使用 MySQL Workbench 向 MySQL 添加角色

在 PostgreSQL 中创建角色

GRANT命令- 用于在表、数据库等上为用户添加权限。此页面适用于 PostgreSQL,但 MySQL 非常相似(请参阅此 SO 答案

于 2013-10-11T16:22:52.700 回答
-1

鉴于这背后的原因是为了测试人们的能力,请创建一个包含您可以承受丢失的数据的数据库。设置一个发布到coldfusion或php或java或.net或连接到该数据库的其他类型页面的表单。

在表单上,​​放置一个文本区域并提交按钮。在表单目标页面上,记录他们在 textarea 中放置的内容。将日志与数据库进行比较,看看结果如何。

然后测试你的心脏的喜悦。

于 2013-10-11T22:50:44.700 回答