SQL注入是一种常见的Web安全漏洞,***者利用这个漏洞,能够访问或修改数据,或者利用潜在的数据库漏洞进行***。SQL注入,就是经过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来讲,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它能够经过在Web表单中输入(恶意)SQL语句获得一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。SQL注入的本质:数据和代码未分离,即数据当作了代码来执行html
XSS (Cross-Site Scripting),跨站脚本***。跨站脚本***是指经过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种***。前端
跨站脚本***有可能形成如下影响:mysql
XSS 的原理是恶意***者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而能够达到***者盗取用户信息或其余侵犯用户安全隐私的目的。正则表达式
3、CSRFCSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web***,它利用用户已登陆的身份,在用户绝不知情的状况下,以用户的名义完成非法操做。sql
完成 CSRF ***必需要有三个条件:shell
借助未验证的URL跳转,将应用程序引导到不安全的第三方区域,从而致使的安全问题。数据库
1.referer的限制若是肯定传递URL参数进入的来源,咱们能够经过该方式实现安全限制,保证该URL的有效性,避免恶意用户本身生成跳转连接npm
2.加入有效性验证Token咱们保证全部生成的连接都是来自于咱们可信域的,经过在生成的连接里加入用户不可控的Token对生成的连接进行校验,能够避免用户生成本身的恶意连接从而被利用,可是若是功能自己要求比较开放,可能致使有必定的限制。后端
5、点击劫持经过iframe透明化,漏出来一个按钮,诱惑用户点击。浏览器
如何防护?
1.X-FRAME-OPTIONS是一个 HTTP 响应头,在现代浏览器有一个很好的支持。这个 HTTP 响应头 就是为了防护用 iframe 嵌套的点击劫持***。X-FRAME-OPTIONS有3个值可选:DENY,表示页面不容许经过 iframe 的方式展现SAMEORIGIN,表示页面能够在相同域名下经过 iframe 的方式展现ALLOW-FROM,表示页面能够在指定来源的 iframe 中展现
2.经过js的方法判断,来隐藏iframe显示的页面。
6、OS命令注入***OS命令注入***指经过Web应用,执行非法的操做系统命令达到***的目的。
https://example.com/ssss?z=23&y=222
如何防护?
1.后端对前端提交内容进行规则限制(好比正则表达式)。
2.在调用系统命令前对全部传入参数进行命令行参数转义过滤。
3.不要直接拼接命令语句,借助一些工具作拼接、转义预处理,例如 Node.js 的 shell-escape npm包