【网络安全】常见的web攻击

1、SQL注入攻击

定义:

攻击者在HTTP请求中注入恶意的SQL代码,当服务器利用参数构建SQL语句的时候,恶意的SQL代码被一起构建,并在数据库中执行。

示例:

用户登录: 输入用户名xx, 密码 'or '1' = ' 1,如果此时使用参数构建的方式,就会出现

select * from user where name = "xx" and password = '' or '1' = '1' ,这样不管输入的用户名和密码是什么内容,查询出来的用户列表都不会为空。

预防:

> web方面

有效性校验

限制输入字符串长度

> 服务器方面

有效性校验【为什么服务器端还要做有效性校验,第一准则,外部的都是不可信的,防止攻击者绕过WEB请求】

不用拼接的SQL字符串

过滤SQL需要的参数中的特殊字符

使用预编译的preparestatement

2、XSS攻击

定义:

跨站点脚本攻击,攻击者通篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种方式。

预防:

前端,服务端同时对字符串输入长度限制

前端,服务端同时对HTML进行转义处理,将其中的<,>等特殊字符进行转义编码。

防xss的核心是必须对输入的数据进行过滤处理。

3、CSRF攻击

定义:

跨站点请求伪造:攻击者通过跨站请求,以合法的用户身份进行非法操作,可以这么理解,攻击者利用你的身份或你的名义向第三方发送恶意请求。CSRF能做到的事情包括利用你的身份发邮件,发短信甚至盗取账号信息,交易转账等。

预防:

token机制:在HTTP请求中进行token验证,如果请求中没有token或者token内容不正确,则认为是csrf攻击而拒绝该请求。

验证码:通常情况下,验证码能够很好的遏制CSRF攻击,但是很多情况下,处于用户体验,验证码只是一种辅助手段,而不是主要的解决方案。

referer:在HTTP Header中有个字段referer,他记录http请求的来源地址。如果refer是其他网站的话。则可能是CSRF攻击,从而拒绝该请求。但是有些情况下,服务器并非都能取到referer。

1)验证请求来源地址。

2)关键操作添加验证码。

3)在请求地址中添加token并验证。

4、文件上传漏洞

定义:

指的是用户上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。许多第三方框架、服务,都曾经被爆出文件上传漏洞,比如很早之前的 Struts2,以及富文本编辑器等等,可被攻击者上传恶意代码,有可能服务端就被人黑了。

预防:

文件上传的目录设置为不可执行。

判断文件类型。在判断文件类型的时候,可以结合使用 MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。

对上传的文件类型进行白名单校验,只允许上传可靠类型。

上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本,同时向 shell.php.rar.ara 这种文件,因为重命名而无法成功实施攻击。

限制上传文件的大小。

单独设置文件服务器的域名

5、DDOS攻击

定义:

客户端向服务端发送请求链接数据包,服务端向客户端发送确认数据包,客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认,没有彻底根治的办法,除非不使用 TCP
预防:

限制同时打开 SYN 半链接的数目

缩短 SYN 半链接的 Time out时间

关闭不必要的服务

网络安全学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

需要网络安全学习路线和视频教程的可以在评论区留言哦~

最后
  • 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!
    给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做"正向"的、结合"业务"与"数据"、"自动化"的"体系、建设",才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失

相关推荐
程序员黑豆5 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
To_OC5 小时前
踩了个 TS 的坑之后,我终于把 type 和 interface 掰明白了
前端·react.js·typescript
GreenTea6 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
浮生望6 小时前
前端API工程化:用 Mock 数据与 Axios 配置实现独立于后端的并行开发
前端
万少6 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
九硕智慧建筑一体化厂家6 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
波波0077 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Brown.alexis7 小时前
es6知识点1-自备使用
前端·ecmascript·es6
小爬的老粉丝8 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
chunmiao30328 小时前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全