所以我想知道是否有一种可接受的方法来允许SQL注入。
示例:
限制表/数据库的权限
你为什么这么问?
我的雇主希望设法测试申请人的技能,一个建议是允许通过SQL注入提交简历。
有什么想法?建议?
答案 0 :(得分:1)
您可以使用角色。为用于连接数据库的Web应用程序(或其他)创建角色。将此角色限制为仅允许INSERT
并访问必要的表格以进行申请。通过应用程序访问您的数据库的申请人只能使用SQL注入来添加他们的简历。
SQL中更有才能的人可能会以增加角色权限的方式使用注入。但我认为如果角色只能访问特定的表,并且没有CREATE
或GRANT
权限,则用户将无法创建新角色。
以下是有关让您入门的角色的一些信息:
Adding Roles to MySQL with MySQL Workbench
GRANT
command - 用于为表,数据库等用户添加权限。此页面适用于PostgreSQL,但MySQL非常相似(参见this SO answer)
答案 1 :(得分:-1)
鉴于这背后的原因是测试人们的能力,创建一个数据库,其中包含您可以承受的数据丢失。设置一个发布到coldfusion或php或java或.net的表单或连接到该数据库的其他类型的页面。
在表单上,输入textarea并提交按钮。在表单目标页面上,记录它们放在textarea中的内容。将日志与数据库进行比较,看看结果如何。
然后测试你心中的喜悦。