web开发注意事项

1、SQL注入:mybatis禁止使用${}

2、身份认证安全

验证码安全:短信验证码调用次数限制(横向、纵向);短信验证码失效策略;图片验证码失效策略;无图验证码

后台分离:同一业务系统的后台,如果内部员工和代理商都要使用,则应从功能上拆分成两个独立的系统

3、业务逻辑安全

身份认证逻辑:查询用户信息应该通过cookie确认身份,禁止使用user=%s或者id=%s这种参数查询;身份cookie验证_q,_v,_t或者_s(其中三者一致),禁止取cookie中的username作为用户在线标识

支付校验逻辑:

4、越权访问:某些用户不能访问到的资源,被访问到了

垂直越权:未登录用户访问登录后才能访问的功能;普通用户操作管理员才能操作的功能

水平越权:用户A访问只有用户B才能访问的信息

解决方案:

~对于后台程序,默认应该拒绝无授权用户的访问

~授权账号的角色级别要区分明确,避免纵向越权

~应用程序是否验证,用户有权限访问资源

~应用程序能否保证,当前用户访问的资源是只授权给该用户的资源,避免水平越权

~从用户的加密认证cookie中获取当前用户的id,并且需要在执行的SQL语句中加入当前用户id作为条件语句

5、SSRF:服务端请求伪造攻击,可以通俗的理解为外部用户借助一些proxy功能的接口,实现了HTTP代理功能;可以对传入ip做白名单限制

6、URL任意跳转:web应用程序接收到用户提交的URl参数后,没有对参数做“可信任URL”的验证,就想用户浏览器换回跳转该URL的指令。

危害:用来进行钓鱼攻击用户;安装恶意软件;诱使用户泄露密码等信息;可采用白名单限制url

7、XSS攻击:跨站脚本攻击

8、文件上传:需要判断上传文件的扩展名,考虑逻辑错误,上传的目录不应该有执行权限

9、文件下载:恶意变换目录或文件地址,来下载服务器上的敏感文件;

解决方案:验证用户参数、限制../、权限判断、使用常量

10、CSRF问题,跨站伪造请求

解决方案:Refer限制、CSRFtoken,加一个猜不到的参数,攻击者就很难构造了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值