历史版本8 :SQL防注入 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

SQL 注入就是一些人可以通过恶意的参数输入,让后台执行这段 SQL,然后达到获取数据或者破坏数据库的目的。

SQL 防注入就是通过以下两种方式来达到防止 SQL 注入的目的:

  • a. 禁用特殊关键字来防止 SQL 注入;

  • b. 通过字符转义来防止 SQL 注入。


2. 特殊关键字编辑

2.1 开启特殊关键字

点击管理系统>安全管理>SQL防注入,开启特殊关键字,当 SQL 参数中存在需要禁用的字符时,则在日志中抛出错误信息,如下图:

1.png


2.2 添加关键字

点击编辑,可以新增/删除特殊关键字,如下图:

2.png

点击添加关键字,可以进行自定义关键字,包括删除关键字和添加关键字(支持正则表达式),两个部分,如下图:

222

正则表达式说明,(?i)select,(?i)表示不区分select大小写,表示边界,详细请查看 正则表达式元字符 

注:字符设置没有支持正则表达式

点击右侧搜索框,进行全局搜索,可搜索到已选择和未选择中的关键字,如下:

222

2.3 特殊关键字禁用效果查看

打开模板%FR_HOME%\webroot\WEB-INF\reportlets\GettingStarted.cpt,在参数这里输入select,且当 SQL 参数中存在需要禁用的字符select,则在日志里抛出错误信息,因使用了禁用的字符 xxx,怀疑进行 SQL 注入攻击,有特殊需要请联系系统管理员,如下图:

222


3. 字符编辑

3.1 开启字符

点击管理系统>安全管理-SQL防注入,开启字符,当 SQL 参数中存在需要转义的字符时,则这些字符会被转为空,如下图:

3.png

3.2 添加字符

添加字符设置和添加特殊关键字设置操作步骤相同。

4. 注意事项编辑

场景描述:

用户添加转义字符括号()后,决策系统登录界面空白,无法进行登录操作。

解决方案:

括号()在正则表达式里是有特殊含义,括号()为转义字符会匹配所有相关项,所以禁止使用逗号,句号,括号作为转义字符,如果一定要使用括号作为转义字符,添加字符时需修改写法为\(\),如下图所示:

Snag_1654b87.png