代码编织梦想

一、常见的安全性问题

1、XSS(Cross-Site Scripting)脚本攻击漏洞;
2、CSRF(Cross-sit request forgery)漏洞;
3、iframe安全隐患问题;
4、本地存储数据问题;
5、第三方依赖的安全性问题;
6、HTTPS加密传输数据;
7、SQL注入
8、文件上传漏洞

二、XXS攻击(Cross Site Scripting)(跨站脚本攻击)

## xss攻击

XSS(Cross Site
Scripting),跨站脚本攻击。XSS是常见的Web攻击技术之一.所谓的跨站脚本攻击指得是:恶意攻击者往Web页面里注入恶意Script代码,用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击.
例如:在表单提交时,输入js代码等或是增加提交请求时的网页,盗取信息

解决方法:

  1. 输入过滤,对输入的数据进行严格校验,诸如< script >、< img >、< a >等标签进行过滤
  2. 编码,一些常见的符号,如<>在输入的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果
  3. 限制。通过以上的案例我们不难发现xss攻击要能达成往往需要较长的字符串,因此对于一些可以预期的输入可以通过限制长度强制截断来进行防御
  4. HttpOnly Cookie,预防XSS攻击窃取用户cookie最有效的防御手段
  5. CSP,原理其实就是白名单机制,开发者明确告诉客户端(浏览器)哪些资源可以加载并执行,我们只需要提供配置,其他的工作由客户端(浏览器)来完成。通过 < meta> 标签开启 < meta http-equiv=“Content-Security-Policy” content=“配置项” >
    配置项:
default-src:用来设置每个选项的默认值
script-src:外部脚本
style-src:样式表
img-src:图像
media-src:媒体文件(音频和视频)
font-src:字体文件
object-src:插件(比如 Flash)
child-src:框架
frame-ancestors:嵌入的外部资源(比如<frame><iframe><embed><applet>)
connect-src:HTTP 连接(通过 XHR、WebSockets、EventSource等)
worker-src:worker脚本
manifest-src:manifest 文件
block-all-mixed-content:HTTPS 网页不得加载 HTTP 资源(浏览器已经默认开启)
upgrade-insecure-requests:自动将网页上所有加载外部资源的 HTTP 链接换成 HTTPS 协议
plugin-types:限制可以使用的插件格式
sandbox:浏览器行为的限制,比如不能有弹出窗口等。
report-uri:有时,我们不仅希望浏览器帮我们防止XSS的攻击,还希望将该行为上报到给定的网址,该选项用来配置上报的地址

例子:

<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:">
脚本:只信任当前域名
<object> 标签:不信任任何URL,即不加载任何资源
样式表:只信任 cdn.example.org 和 third-party.org
框架(frame):必须使用HTTPS协议加载
其他资源:没有限制

三、CSRF安全漏洞(跨站请求伪造)

CSRF攻击

CSRF(Cross Site Request
Forgery),即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种
CSRF攻击的原理:CSRF攻击过程的受害者用户登录网站A,输入个人信息,在本地保存服务器生成的cookie。然后在A网站点击由攻击者构建一条恶意链接跳转到
B网站, 然后B网站携带着的用户cookie信息去访问B网站.让A网站造成是用户自己访问的假相,从而来进行一些列的操作,常见的就是转账.

解决方案:

  1. 验证码,账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求
  2. Referer Check,HTTP Referer是header的一部分,当浏览器向web服务器发送请求时,一般会带上Referer信息告诉服务器是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。可以通过检查请求的来源来防御CSRF攻击。
  3. Anti CSRF Token,token校验,发送请求时在HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token。服务器读取浏览器当前域cookie中这个token值,会进行校验该请求当中的token 和cookie当中的token值是否都存在且相等,才认为这是合法的请求。否则认为这次请求是违法的,拒绝该次服务,token可以在用户登陆后产生并放于session或cookie中,然后在每次请求时服务器把token从session或cookie中拿出,与本次请求中的token
    进行比对。

四、文件上传漏洞

上传漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。该漏洞允许用户上传任意文件可能会让攻击者注入危险内容或恶意代码,并在服务器上运行。
文件上传漏洞的原理:由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web
访问的目录上传任意PHP文件,并能够将这些文件传递给 PHP 解释器,就可以在远程服务器上执行任意PHP脚本。

解决方法:

  1. 检查文件类型及后缀
  2. 定义上传文件类型白名单,即只允许白名单里面类型的文件上传
  3. 文件上传目录禁止执行脚本解析,避免攻击者进行二次攻击

五、限制URL访问,越权访问

系统已经对URL的访问做了限制,但这种限制却实际并没有生效。攻击者能够很容易的就伪造
请求直接访问未被授权的页面

解决方法:

  1. 在公共模块增加校验方式,查看是否具有对应权限
  2. 监听路由跳转,在路由跳转之前,增加校验
  3. 和后台联调,将对应的信息存入cookie,在数据访问时进行对比

六、不安全的加密存储

常见的问题是不安全的密钥生成和储存、不轮换密钥,和使用弱算法。使用弱的或者不带salt
的哈希算法来保护密码也很普遍。外部攻击者因访问的局限性很难探测这种漏洞。他们通常 必须首先破解其他东西以获得需要的访问。

解决方法:

  1. 可以通过加密方式增加安全
  2. 增加随机数,在请求头中指定随机数,切换请求从新生成
  3. 增加公钥和私钥方式,定时更换
  4. 对重复提交请求做限制

七、SQL注入攻击

SQL注入(SQL Injection),应用程序在向后台数据库传递SQL(Structured Query
Language,结构化查询语言)时,攻击者将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.

解决方案:

  1. 防止系统敏感信息泄露。设置php.ini选项display_errors=off,防止php脚本出错之后,在web页面输出敏感信息错误,让攻击者有机可乘。
  2. 数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。
  3. 增加黑名单或者白名单验证。白名单验证一般指,检查用户输入是否是符合预期的类型、长度、数值范围或者其他格式标准。黑名单验证是指,若在用户输入中,包含明显的恶意内容则拒绝该条用户请求。在使用白名单验证时,一般会配合黑名单验证。

八、OS命令注入攻击

OS命令注入攻击指通过web应用,执行非法的操作系统命令达到攻击的目的。
在这里插入图片描述

如何防御

  1. 后端对前端提交内容进行规则限制(比如正则表达式)
  2. 在调用系统命令前对所有传入参数进行命令行参数转义过滤
  3. 不要直接拼接命令语句,借助一些工具做拼接、转义预处理,例如Node.js的shell-escape npm包
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_44973790/article/details/124356663

web大前端开发中一些常见的安全性问题_旧城雪的博客-爱代码爱编程

1  跨站脚本攻击(XSS攻击)         XSS(Cross Site Scripting),跨站脚本攻击。XSS是常见的Web攻击技术之一.所谓的跨站脚本攻击指得是:恶意攻击者往Web页面里注入恶意Script代码,用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击. 解决方案:

前端安全性问题_wine1995的博客-爱代码爱编程

今天不知道怎么突然想起来前端的安全性问题,之前遇到过这样的笔试题,了解过,但是感觉没明白,又忘记了,所以今天来做一个总结。 SQL注入:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到

web前端开发中的安全性问题_crli的博客-爱代码爱编程_前端代码安全问题

跨站脚本攻击(XSS攻击) 恶意攻击者往Web页面里注入恶意Script代码,用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击. 解决方案: 1. 输入过滤,输入符合预期

前端安全问题及解决办法-爱代码爱编程

一、随着前端的快速发展,各种技术不断更新,但是前端的安全问题也值得我们重视,不要等到项目上线之后才去重视安全问题,到时候被黑客攻击的时候一切都太晚了。 二、本文将讲述前端的六大安全问题,是平常比较常见的安全问题,当然如果还有其他必要重要的安全问题大家可以帮忙补充: 1、XSS(Cross-Site Scripting)脚本攻击漏洞; 2、

web安全——前端常见的攻击方式-爱代码爱编程

面试题:你所了解的web攻击? 1、xss攻击 2、CSRF攻击 3、网络劫持攻击 4、控制台注入代码 5、钓鱼 6、DDoS攻击 7、SQL注入攻击 8、点击劫持 一、xss攻击 XSS攻击:跨站脚本攻击(Cross-Site Scripting),攻击目标是为了盗取存储在客户端的cookie或者其他网站用于识

2021年前端面试题及答案-爱代码爱编程

前端面试汇总(2020年) 一 大纲 1、前言 2、前端工程化 3、前端设计模式 4、前端安全性问题 5、前端跨域问题 6、前端数据加密 7、前端http相关问题 8、*前端基础知识点面试题 9、前端技术栈问题 前言 由于新冠肺炎疫情,现在成天呆在家里,加上也要准备面试,

【web安全】常见web安全问题及解决思路-爱代码爱编程

前言    web安全是我们面试中经常遇到的问题,而在实际项目开发中,尤其一些大型项目,web安全显得尤为重要。那么本文阿彬就给大家大概总结一下常见的一些web安全问题以及防御手段。 1.xss XSS(Cross Site Scripting)跨站脚本攻击,因为缩写和css重叠,所以改叫XSS,跨脚本攻击是指通过存在安全漏洞的web网站注册用

前端常见的安全问题及防范措施-爱代码爱编程

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 前言 随着互联网的高速发展,信息安全问题已经成为行业最为关注的焦点之一。总的来说安全是很复杂的一个领域,在移动互联

前端常见安全问题-爱代码爱编程

目录 以下是对一些常见的前端安全问题的总结一、iframe1、防止自己的网站不被其他网站的 iframe 引用2、禁用被使用的 iframe 对当前网站某些操作二、opener1、target="_blank"2、window.open()三、CSRF / XSRF(跨站请求伪造)防御措施四、XSS/CSS(跨站脚本攻击)XSS类型:防御措施(对用

前端常见的安全问题-爱代码爱编程

一、XSS (Cross-Site Scripting)跨站脚本攻击 通常指通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,获取用户信息、控制用户浏览器等的一种攻击 分类:持久性(存储型xss) 指攻击者通过漏洞将恶意内容写在数据库中,然后当其他用户访问含有这些恶意数据的网页时,就遭受了攻击。攻击位置常常在留言板,阅读列表等。

前端安全面试题-爱代码爱编程

什么是XSS Cross-Site Scripting(跨站脚本攻击),简称XSS,是一种代码注入攻击。攻击者通过目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可以获取用户的敏感信息,如Cookie,SessionID等,进而危害数据安全。为了和CSS区分,这里把代码的第一个字母改为X,于是叫做XSS XSS的本质 恶意代

前端安全-爱代码爱编程

1. xss 攻击 跨站脚本攻击 1.1 反射性攻击 url参数直接注入(地址栏运行脚本) 1.2 影响 利用虚假输入表单骗取用户个人信息利用脚本窃取用户的cookie值,被害者在不知情的情况下,帮助攻击者发送恶意