起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7340|回复: 6

[处理中3] sql注入攻击防御

  [复制链接]

4

主题

8

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
发表于 2018-4-9 11:44:56 | 显示全部楼层 |阅读模式
版本: X5.2.7 小版本号:
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
客户安全部门反映用BeX5开发系统有SQL注入攻击漏洞,要求修复漏洞主要集中在列表查询的filter参数
图片1.png
查了一下相关贴子,未梳理清楚防御方案,请协助一下


1、前台js传参给后台,后台接到参数后拼接ksql,防止暴露ksql where片段部分
我们自己定义的几个查询条件还好说,点击自定义弹出界面后,给用户选择多个查询条件也是通过前台js拼接而成
弹出选择查询条件的功能很好用,用户经常用又去不掉,这个如何处理未找到合适的解决办法
bb.png


2、后台收到filter参数后,通过正则表达式识别用户攻击
在网上找到几个,没测试出特别管用的,要么识别不出攻击,要么把正常的filter参数也识别为攻击

3、后台报错以后不暴露出错的ksql信息给前台,应如何实现

或者有什么更好的解决办法,望协助一下,谢谢

4

主题

8

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
 楼主| 发表于 2018-4-9 13:19:10 | 显示全部楼层
版本号写错了,应该是 BeX5_V3.7
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35962
发表于 2018-4-9 13:39:01 | 显示全部楼层
1.1.sql注入是前端传递sql语句查出才会有这个漏洞!平台用的是ksql是后台生成的是安全的!
而且调用平台的API处理sql的参数最终都是用?的方式setParameter,是防止sql注入的

2.如果是js中的,那就应该尽量避免在js中设置过滤条件,可以自己重写queryAction,把filter参数去掉,自己用一个参数接收自己个前端传递的参数,自己判断参数值在后端拼接不同的where条件

3.前端的都是通过/UI2/system/lib/base/error.js中抛出错误的,可以自己截取错误信息


信息的安全传输建议部署为 https方式
传输过程中的可以把runtime\UIServer\WEB-INF\justep.xml中的
<request-use-base64>false</request-use-base64>
改为
<request-use-base64>true</request-use-base64>
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

8

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
 楼主| 发表于 2018-4-9 14:19:17 | 显示全部楼层
谢谢关注

参数部分的原理能够明白,就是保留高级查询没找到简单的解决办法

前端的都是通过/UI2/system/lib/base/error.js中抛出错误的,可以自己截取错误信息
通过js修改已经晚了,能否在哪里加个拦截器或配置在后端就能处理掉不抛给js前端
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35962
发表于 2018-4-9 15:53:00 | 显示全部楼层
可以在BusinessServer上写一个filter,拦截所有的请求https://blog.csdn.net/p793049488/article/details/17396467
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

102

主题

286

帖子

623

积分

高级会员

Rank: 4

积分
623
QQ
发表于 2019-3-26 09:19:49 | 显示全部楼层
jishuang 发表于 2018-4-9 13:39
1.1.sql注入是前端传递sql语句查出才会有这个漏洞!平台用的是ksql是后台生成的是安全的!
而且调用平台的A ...

3.前端的都是通过/UI2/system/lib/base/error.js中抛出错误的,可以自己截取错误信息


请问5.2.7的版本,这个js在哪里?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35962
发表于 2019-3-26 09:43:00 | 显示全部楼层
5.2.7版本没有提供源码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-15 11:33 , Processed in 0.062490 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表