常见web攻击以及防御

时间:2021-02-07 03:51:13

xss攻击:

跨站脚本攻击,攻击者在网页中嵌入恶意代码,当用户打开网页,脚本程序便开始在客户端的浏览器上执行,以盗取客户端cookie,用户名密码,下载执行病毒木马程序,甚至是获取客户端admin权限等。

原理就是用户输入的时候,输入一些可执行代码,例如<input name="username" value="<script>alert('haha')</script>" />

xss之所以会发生,是因为用户输入的数据变成了代码。因此我们需要对用户的输入的数据进行html转义处理,将其中的括号,引号之类的特殊字符进行转义编码。

crsf攻击,跨站请求伪造,攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求,crsf能做的事情包括利用你的身份发邮件,发短信,进行交易转账等,甚至盗取你的账号。

攻击值做2件事情,即可完成csrf攻击:

1,登陆受信任站点A,并在本地生产cookie;

2,在不登出站点A(清除站点A的cookie)的情况下,访问恶意站点B。这时恶意站点B的某个页面向站点A发送请求,而这个请求会带上浏览器所保存的站点A的cookie,站点A根据请求所带的cookie,识别为某用户合法行为。

csrf防御手段:

1,将cookie设置为httponly

2,表单提交增加隐藏token提交

3,通过http referer来识别请求来源

sql注入攻击,就是通过把sql命令伪装成正常的http请求参数,传递到服务端,欺骗服务器最终执行恶意的sql命令,达到入侵目的,目前涉及的大批量数据泄露的攻击事件,大部分都是通过sql注入来实施的。

防御手段:

1,使用预编译语句

2,使用orm模型

3,避免密码明文存放

3,处理好相关异常,避免错误暴露过多信息

文件上传漏洞

防御手段:验证上传文件类型