web服务端安全漏洞

跨站脚本攻击(XSS)(cross site scripting)

存储型XSS攻击

常见的就是富文本编辑器保存的html,需要到页面上渲染,如果保存了钓鱼网站的超链接,或者恶意引导,则渲染时会触发xss攻击。

反射型XSS攻击

隐藏在url链接中 点击后执行js脚本

DOM型XSS攻击

在url中构建dom元素

预防XSS

cookie设置httponly,js脚本就无法获取cookie。设置X-Frame-Options响应头 阻止自己作为frame加载,并且加载frame。进制使用on事件,比如onclick、onerror等。重点在富文本编辑器上,vue项目则要注意使用v-html标签,最好使用v-dompurify-html来预防。前端也有专用的xss组件。

tip:pdf中也有可能带有xss攻击

CSP(content security policy) 内容安全策略

CSRF 跨站请求伪造( cross site request forgery )

一种可以被攻击者用来通过用户浏览器冒充用户身份向服务器发送 伪造请求并被目标服务器成功执行的漏洞被称之为CSRF漏洞

在A网站产生了可信任的cookie,同tab页中打开网站B,通过诱导发起A网站的请求,自然携带了A站点的cookie完成跨域

预防

校验refererorigin等请求头

URL跳转漏洞

URL跳转漏洞(URL重定向漏洞),跳转漏洞一般用于钓鱼攻击。 如:https://link.zhihu.com/?target=https://edu.lagou.com/

一般网站都有些重定向能力,方便跳转到第三方网页,那么恶意网站就可以构造链接,如https://www.qq.com/?returnTo=恶意网站 一般会在OAuth2的登录跳转中中招,常见的参数值有return、 redirect、url、jump、goto、target、link等

预防

校验实际跳转链接,或者像知乎和简书一样,一旦识别到非自己的域名,开始预警跳转不安全的网站xxx。

Session劫持

攻击者获取SessionID的方式有多种:
1、 暴力破解:尝试各种Session ID,直到破解为止;
2、 预测:如果Session ID使用非随机的方式产生,那么就有可能计算出来; 3、 窃取:使用网络嗅探、本地木马窃取、XSS攻击等方法获得。
和csrf有异曲同工之妙。

注入攻击

SQL注入

懂的都懂,外部传入引号让sql执行 or 1=1 后面输入想查询的条件。预防措施就是mybatis的$和#的区别,死去的回忆又侵袭而来。

正则注入-- REDOS攻击

REDOS 攻击即正则表达式拒绝服务攻击(Regular Expression Denial of Service),是指攻击者利用正则表达式的回溯机制,构造特殊的字符串,导致正则表达式运行时消耗大量的内存和 CPU 资源,从而使服务器无法正常响应。

日志注入

如果直接把外部输入进行打印,则可能会出现日志注入,大量的换行放大日志文件大小,影响磁盘容量。

以下是两个可能会造成ReDoS攻击的正则表达式示例:
1. `^(\d+)+$`:这个正则表达式用于匹配一个或多个数字。然而,如果输入的字符串非常长,例如包含大量数字,正则表达式的匹配过程可能会变得非常复杂,导致回溯次数增加,从而消耗大量的计算资源。
2. `(a+)+b`:这个正则表达式用于匹配一个或多个`a`后面跟着一个`b`。如果输入的字符串中包含大量的`a`,正则表达式的匹配过程可能会因为回溯而变得非常耗时,从而导致ReDoS攻击。

XML注入

xml来存储数据的场景太少了,先不看。

文件上传漏洞

命令注入

外部传入的字符串,可以在终端执行OS命令。

访问控制

一般都有权限管理系统,建立用户-角色-权限的模型,在Linux对文件和文件夹都分为了「读」、「写」、「执行」三种能力。
对于web后端来说,基于url来做访问控制,前端来说则是通过后端传来的权限,对按钮页面做权限控制。

垂直权限(功能权限)

纵向越权,比如管理员可以有更高权限的功能,而普通用户也能通过请求接口执行成功,那就是纵向越权。
现在应用广泛的就是好“基于角色的访问控制”(Role-Based Access Control)简称RBAC。可以使用Spring Security。

水平权限(数据权限)

同为团队经理,纵向权限相同,但是团队内的数据要隔离,如果仅仅根据功能权限能访问到其他团队的数据,则有横向越权的问题。
同理推到银行中,分行支行的数据范围都不同。

DDOS攻击

DDOS是(Distributed Denial of Service)的缩写,即分布式阻断服务

CC攻击

CC 攻击即Challenge Collapsar 攻击,是一种分布式拒绝服务攻击(DDoS),攻击者通过控制大量的僵尸主机或代理服务器,向目标服务器发送大量的请求,导致服务器资源耗尽,无法正常处理合法用户的请求。

CC防护

CC 攻击的防御方法有很多,以下是一些常见的防御措施:

  1. IP 封禁:通过分析系统日志或使用网络监控工具,识别出攻击源的 IP 地址,并在服务器或网络设备上进行封禁,阻止这些 IP 地址的访问。
  2. 人机验证:例如验证码、短信验证等,以区分正常用户和攻击者,防止自动化攻击工具的滥用。
  3. 使用安全加速服务:如高防 IP、内容分发网络(CDN)等,通过分布式架构和流量清洗技术,减轻攻击对服务器的影响。
  4. 静态化页面:将动态页面转换为静态页面,减少服务器的资源消耗,提高网站的性能和抗攻击能力。
  5. 更改端口:修改服务器提供服务的端口,避免攻击者使用默认端口进行攻击。
  6. 完善日志:确保服务器和应用程序的日志记录完整,以便及时发现和分析攻击行为。
  7. 域名解析策略:可以将域名解析到其他地址,或者使用域名欺骗解析的方法,使攻击者的攻击失去目标。
  8. 优化服务器性能:增加服务器的硬件资源,如内存、CPU 等,提高服务器的处理能力和抗攻击能力。
  9. 监控和预警:建立实时监控系统,及时发现和预警 CC 攻击,以便采取相应的措施进行防御。

综合运用多种防御策略可以更有效地抵御 CC 攻击。同时,定期进行安全检测和漏洞修复,加强服务器和网络的安全性,也是预防 CC 攻击的重要措施。如果遭受 CC 攻击,建议及时联系专业的安全机构或技术人员进行处理。

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值