最近在做安全扫描,把遇到的一些问题以及一些解决方法记录下,以备后用.

扫描软件: IBM Security AppScan Standard  规则: 17441

1. 已解密的登录请求 (高)

– 传递的参数名称避免使用语义明确的英文单词
> 如UserID, UserPwd, Password等
– 传递参数中包含敏感数据时使用post方式提交并进行加密传输
– 采用ajax方式提交表单时,提交的参数名称应与对应的表单控件name属性不同或者去掉name属性,通过ID属性取值.
 
2. 查询中的密码参数(高)
– 同上
 
3. 跨站请求伪造(中)
– 在请求开始时验证referer
– 使用Html.AntiForgeryToken()方法和 ValidateAntiForgeryToken特性
> 注意:在这种情况下扫描有时会出现302无法通过扫描的问题,暂时不知道如何解决,但并不影响安全性.
 
4. 跨站点脚本编制,SQL注入(高)
– 在请求开始时检查所有传参(url,form,cookie),过滤掉所有危险关键字
>注意:关键字包括js,sql,MongoDB中的特殊关键字,已经以上关键字的url编码和16进制形式

5. 使用 HTTP 动词篡改的认证旁路(中)
– 可以在请求开始时检测请求方式并进行限制也可以配置路由约束
– 尽量在控制器上添加特性加以限制
 
6. 注销后会话未失效(高)
– 清空session,取消当前会话,ASP.NET_SessionId的cookie置空

版权声明:本文为zaclearnlrogramming原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zaclearnlrogramming/p/11358896.html