如何安全地允许SQL注入

时间:2013-10-11 16:05:54

标签: sql sql-injection

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

示例:

限制表/数据库的权限

你为什么这么问?

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

有什么想法?建议?

enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

以下是有关让您入门的角色的一些信息:

Adding Roles to MySQL with MySQL Workbench

Creating Roles in PostgreSQL

GRANT command - 用于为表,数据库等用户添加权限。此页面适用于PostgreSQL,但MySQL非常相似(参见this SO answer

答案 1 :(得分:-1)

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

在表单上,​​输入textarea并提交按钮。在表单目标页面上,记录它们放在textarea中的内容。将日志与数据库进行比较,看看结果如何。

然后测试你心中的喜悦。