常见的 Web 攻击介绍

231 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

 XSS攻击--跨站脚本攻击;

是什么:攻击者向有XSS漏洞的网站中输入恶意的HTML代码,当其浏览器浏览该网站时,这段HTML代码会自动执行。(理论上所有可以输入的地方没有对输入的数据进行处理,都会存在XSS攻击);

危害: 盗取用户cookie,破坏页面结构,重定向到其他网站;

防御:对用户输入的信息进行处理,只允许合法的值;

 CSRF攻击--跨站请求伪造

是什么:攻击者盗用了你的身份,以你的名义发送恶意请求;

危害:以你的名义发送邮件,盗取帐号,购买东西等;

原理: 首先个登录某网站,并在本地生成cookie;然后在不登出的情况下,访问危害网站。

防御: 可以从服务端和客户端两方面进行考虑。但是在服务端的效果好。

a. 随机的cookie

b. 添加验证码

c. 不同的表单包含一个不同的伪随机值

注意:如果用户在一个站点上同时打开了两个不同的表单。CSRF保护措施不应该影响到他对任何表单的提交

DDOS攻击(分布式拒绝服务攻击)

是什么:简单来说就是ifasong大量的请求使服务器瘫痪。

被攻击的原因:服务器带宽不足,不能挡住攻击者的攻击流量。

防御:a. 最直接的方法就是增加带宽;

b. 使用硬件防火墙;

c. 优化资源使用提高 web server 的负载能力

SQL注入

是什么:通过sql命令伪装成正常的http请求参数,传递到服务端,服务器执行sql命令造成对数据库进行攻击

原理:sql语句伪造参数,然后在对参数机型拼接后形成破坏性的sql语句,最后导致数据库收到攻击

防御:a. 对参数进行转义

b. 数据库中的密码不应明文存储,可以对密码使用md5进行加密。

c. 使用占位符对sql语句进行预编译处理,比如jdbc里使用PreparStatement代替Statement