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