常见3大web漏洞
XSS攻击
跨站脚本(cross site script)-简称XSS,常出现在web应用中的计算机安全漏桶、web应用中的主流攻击方式。
攻击原理:
攻击者利用网站未对用户提交数据进行转义处理或者过滤不足的缺点。
添加恶意代码,嵌入到web页面中去,使别的用户访问都会执行相应的嵌入代码。
目的:想办法获取目标攻击网站的cookie,因为有了cookie相当于有了seesion,有了这些信息就可以在任意能接进互联网的pc登陆该网站,并以其他人的身份登陆,做一些破坏。
示例:
上面的代码就是输入一个网络分享的图片,我在src中直接写入了javascript:alert('xss');操作成功后生成帖子,用IE6、7的用户打开这个我发的这个
帖子就会出现下图的alert('xss')弹窗。 如图:
危害:
1、盗取用户资料,比如:登录帐号、网银帐号等。
2、利用用户身份,读取、篡改、添加、删除企业敏感数据等
3、网站挂马
4、控制受害者机器向其它网站发起攻击
解决方案:
XSS的根源主要是没完全过滤客户端提交的数据 ,所以重点是要过滤用户提交的信息。
- 将重要的cookie标记为http only, 这样的话js 中的document.cookie语句就不能获取到cookie了.
- 参数合法性检验、过滤: 例如:age用户年龄只允许用户输入数字,而数字之外的字符都过滤掉。
- 对数据进行Html Encode 处理: 用户将数据提交上来的时候进行HTML编码,将相应的符号转换为实体名称再进行下一步的处理。
- 过滤或移除特殊的Html标签, 例如: <script>, <iframe> , < for <, > for >, " for
- 过滤js事件的标签。例如 "οnclick=", "onfocus" 等等。
CSRF攻击(跨站点请求伪造)
简介:
CSRF(Cross-site request forgery)-跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF更具危险性。
原理:
危害:
主要的危害来自于,攻击者盗用了用户身份,发送恶意请求。
eg:模拟用户的身份发送邮件,发消息,以及支付、转账等财产安全。
解决方案:
- 通过 referer、token 或者 验证码 来检测用户提交。
- 尽量不要在页面的链接中暴露用户隐私信息。
- 对于用户修改删除等操作最好都使用post 操作 。
- 避免全站通用的cookie,严格设置cookie的域。
SQL注入
简介:
SQL注入是比较常见的网络攻击方式之一,主要是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,实现无帐号登录,甚至篡改数据库。
危害:
- 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。
- 网页篡改:通过操作数据库对特定网页进行篡改。
- 数据库被恶意操作:数据库服务器被攻击
- 服务器被远程控制,被安装后门
- 删除和修改数据库信息
攻击原理:
通常情况下,SQL注入的位置包括:
(1)表单提交,主要是POST请求,也包括GET请求;
(2)URL参数提交,主要为GET请求参数;
(3)Cookie参数提交;
(4)HTTP请求头部的一些可修改的值,比如Referer、User_Agent等;
示例:
举一个简单的例子,select * from user where id=100 ,表示查询id为100的用户信息,如果id=100变为 id=100 or 2=2,sql将变为:select * from user where id=100 or 2=2,将把所有user表的信息查询出来,这就是典型的sql注入。
解决方案:
1)对用户的输入进行校验,使用正则表达式过滤传入的参数
2)使用参数化语句,不要拼接sql,也可以使用安全的存储过程
3)不要使用管理员权限的数据库连接,为每个应用使用权限有限的数据库连接
4)检查数据存储类型
5)重要的信息一定要加密
总之就是既要做好过滤与编码并使用参数化语句,也要把重要的信息进行加密处理,这样sql注入漏洞才能更好的解决。
中间人攻击
重放攻击
把以前发过的数据原封不动地重新发送给接收方。这个发过的数据,可能是攻击者窃听到的别人的数据,也有可能是攻击者曾经自己发过的数据。
DDos攻击
DDoS 攻击又是什么呢?
都是利用大量请求快速占用系统资源。有时候,当重放攻击的请求量达到一定量级(如单节点达到 1000 次),就发生质的转变,可视为 DDoS 攻击。目前各大云产商基本都有预防 DDoS 攻击的能力。
- 使用DDoS防护软件或服务:许多互联网安全服务提供商(如Cloudflare和Akamai)提供DDoS防护服务。这些服务通常通过多层防御策略和智能路由来阻止恶意流量,保护目标服务器。
- 配置防火墙:防火墙可以设置规则,阻止来自特定IP地址或协议的流量。配置防火墙可以有效地限制恶意流量进入服务器。
- 更新软件和系统:及时更新服务器软件和操作系统可以弥补安全漏洞,使其更难受到攻击。
- 使用CDN:使用内容分发网络(CDN)可以将服务器内容复制到多个地理位置,并通过就近的CDN节点响应用户请求,从而减轻服务器压力,并防止服务器受到DDoS攻击。
- 增加带宽:增加带宽可以增加服务器处理大量流量的能力,从而更好地应对DDoS攻击。
- 限制IP访问次数:根据用户IP的访问次数,设置限制值,当达到该值后限制其访问,从而减轻服务器压力,同时增加服务器的安全性。
高仿IP指的是在网络层使用虚假的IP地址,这些虚假的IP地址看起来与真实IP地址非常相似,但实际上并不属于真实IP地址的范围。使用高仿IP地址可以对抗某些类型的DDoS攻击,因为攻击者无法确定真实的IP地址,从而无法对其发起攻击。
DDoS攻击的主要目的是使目标系统无法正常工作,通过向目标系统发送大量流量来耗尽其网络带宽或资源。攻击者通常使用IP地址伪造技术来掩盖其真实IP地址,并使受害系统无法确定攻击者的位置。
使用高仿IP地址可以使攻击者无法确定真实的IP地址,从而对抗某些类型的DDoS攻击。然而,这并不能完全防止DDoS攻击,因为攻击者仍然可以使用其他方法来发起攻击,例如利用漏洞或使用分布式攻击方式。因此,使用高仿IP地址只是一种减轻DDoS攻击的方法之一,而不是解决该问题的唯一方法。