当前位置:
首页 > 网站开发 > JavaScript >
-
JavaScript教程之web安全
针对web应用的攻击模式
- 主动攻击,攻击者通过直接访问web资源把攻击代码传入的攻击模式,需要攻击者能够访问服务器上的资源,常见有SQL注入攻击和OS命令注入攻击;
- 被动攻击,利用圈套策略执行攻击代码的模式,攻击者不直接攻击web应用,常见有XSS和CSRF;
SQL注入
- 把SQL命令插入到表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令;
- 产生原因:不当的类型处理;不安全的数据库配置;不合理的查询集处理;不当的错误处理;转义字符处理不合适;多个提交处理不当;
-
预防:
对用户输入进行校验;
不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取;
不要把机密信息直接存放,加密或者hash掉密码和敏感的信息;
对于异常信息,最好使用自定义的错误信息对原始错误信息进行包装;
OS命令注入攻击
- 执行非法操作系统命令达到攻击目的,只要在能调用shell的地方就存在风险;系统提供命令执行类函数主要方便处理相关应用场景的功能;
- 预防:客户端服务端都过滤;执行命令的参数不要使用外部获取,防止用户构造;
XSS(跨站脚本攻击)
- 指通过存在安全漏洞的web网站注册用户的浏览器内运行非法的html标签或js代码进行的一种攻击;
- XSS是攻击者利用预先设置的陷阱触发的被动攻击;除了在表单中嵌入html或js外,还可能对用户cookie进行窃取攻击;
- 预防:过滤用户输入;编码转义用户输出;设置cookie为httponly;白名单;
CSRF(跨站请求伪造)
- 指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某种状态更新,属于被动攻击;
-
常见途径通过get请求,通过XSS获取cookie进行攻击;
比如用户在没有登出A的情况下,访问B(危险),B要求访问第三方站点A,发起请求,A不直到请求意愿来自用户还是B; - 预防:资源操作请求最好用post方式;检查referer头部;验证码;请求时带上服务端生成token,判断是否一致;
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式