攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。
Web端预防
服务端预防
- 不用拼接SQL字符串。
- 使用预编译的PrepareStatement。
- 有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过Web端请求)
- 过滤SQL需要的参数中的特殊字符。比如单引号、双引号。
跨站点脚本攻击,指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
如何防范XSS攻击
- 前端,服务端,同时需要字符串输入的长度限制。
- 前端,服务端,同时需要对 HTML 转义处理。将其中的”<”,”>”等特殊字符进行转义编码。
预防XSS的核心是必须对输入的数据做过滤处理。
跨站点请求伪造,指攻击者通过跨站请求,以合法的用户的身份进行非法操作。可以这么理解CSRF攻击:攻击者盗用你的身份,以你的名义向第三方网站发送恶意请求。CRSF能做的事情包括利用你的身份发邮件,发短信,进行交易转账,甚至盗取账号信息。
如何防范CSRF攻击
- 安全框架,例如Spring Security。
- token机制:在HTTP请求中进行token验证,如果请求中没有token或者token内容不正确,则认为CSRF攻击而拒绝该请求。
- 验证码:通常情况下,验证码能够很好地遏制CSRF攻击,但是很多情况下,出于用户体验考虑,验证码只能作为一种辅助手段,而不是最主要的解决方案。
- referer识别:在HTTP Header中有一个字段Referer,它记录了HTTP请求的来源地址。如果Referer是其他网站,就有可能是CSRF攻击,则拒绝该请求。但是,服务器并非都能取到Referer。很多用户出于隐私保护的考虑,限制了Referer的发送。在某些情况下,浏览器也不会发送Referer,例如HTTPS跳转到HTTP。
- 验证请求来源地址;
- 关键操作添加验证码;
- 在请求地址添加token并验证。
客户端向服务端发送请求链接数据包,服务端向客户端发送确认数据包,客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认没有彻底根治的办法,除非不使用TCP。

DDos预防:
- 限制同时打开SYN半链接的数目
- 缩短SYN半链接的Time out时间
- 关闭不必要的服务
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP 协议。
- 发送ARP请求的以太网数据帧 广播 到以太网上的每个主机,ARP请求帧中包含了目的主机的IP地址。
- 目的主机收到了该ARP请求之后,会发送一个ARP应答,里面包含了目的主机的MAC地址。
如何防范ARP攻击
1、MAC地址绑定
2、使用静态ARP缓存
3、使用ARP服务器
4、使用ARP欺骗防护软件:如ARP防火墙
5、及时发现正在进行ARP欺骗的主机并将其隔离
6、使用最新版本DNS服务器软件并及时安装补丁
7、关闭DNS服务器的递归功能
8、限制区域传输范围
9、限制动态更新
10、采用分层的DNS体系结构
11、检查源代码
12、确保应用有效和能适当地跟踪用户
(以上内容仅供参考)