位置:首页 > 安全分类 > WEB安全

分布式系统安全之web攻防

  • 2021-07-29 16:13:18
简介 XSS攻击即跨站脚本攻击(利用站内的信任用户)如:url后参数带js脚本,提交表单中带js脚本到数据库中防范:进行html转义,如 <变成< >变成> &#39;变成&jstl自带html转义,e
XSS攻击

即跨站脚本攻击(利用站内的信任用户)

如:url后参数带js脚本,提交表单中带js脚本到数据库中

防范:进行html转义,

如 <变成< >变成> '变成&

jstl自带html转义,escapeMxl="true"

防止js脚本读取cookie信息:将cookie设置成httponly

CRSF攻击

跨站请求伪造 (通过伪装受信任用户的请求)

原理:用户C访问安全站点A,A返回C一个cookie,C没退出A就访问恶意站点B,B让C访问A,此时带有cookie。A不能判断这个是恶意站点的请求,从而让B的请求得逞

原理图如下:

如:A网站转账接口:transfer.do?num=10001&money=1000

某大型论坛B,一个恶意用户上传了图片,但是地址改成了transfer.do?num=10001&money=1000。用户登录网站A后没有及时登出,访问了B网站,就会少1000块

当然现在没人用get转账,都用post。

但要是恰好B网站存在XSS漏洞,把form表单插在B网站内,同样会产生CRSF攻击

防范:

1.将cookie设置成httponly (通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击) 2.增加token 3.通过referer识别(HTTP头中的字段,记录了该HTTP请求的来源地址) SQL注入攻击

把SQL命令伪装成正常的HTTP请求参数,传递到服务端

如:提交密码: ' or '1'='1 或';drop table aaa-- (--注释后面的语句)

防范:

1.使用预编译语句 PreparedStatement 创建PreparedStatement对象时就发送给DBMS(数据库管理系统)进行编译,会通过参数占位符来代替参数,会把特殊字符进行转义 2.使用orm框架 3.对密码加密 DDoS攻击

即分布式拒绝服务攻击

原理:通过大量计算机同时对某一主机进行访问,使主机瘫痪。

如:

1.SYN Flood

因TCP三次握手中服务器得等待客户端传回ack报文,但SYN Flood伪造了大量不存在的IP进行TCP连接,使服务器瘫痪。

2.DNS Query Flood

跟SYN Flood差不多,是向被攻击服务器发送海量的域名解析请求。因为这些域名都是随机生成的,在本地没有缓存,就会向上层服务器递归查询,直到全球互联网的13台根dns服务器。当解析请求超过一定量时,就会造成解析超时。

http://3.CC攻击

原理:通过大量计算机进行匿名HTTP代理,模拟正常用户给网站发起请求,直到拖垮后端系统,无法为正常用户提供服务。

其他

文件上传漏洞

DNS域名劫持

CDN回源攻击

服务器权限提升

很赞哦! (119)