简单web安全入门

基本原则

Secure by default

Secure by default, in software, means that the default configuration settings are the most secure settings possible……

《白帽子讲Web安全》将其总结了下面两条:

  1. 黑名单与白名单

尽量使用白名单。

  1. 最小权限原则

The principle of least privillege requires that in a particular abstraction layer of a computing environment, every module(such as a process, a user, or a program, depending on the subject) must be able to access only the information and resources that are necessary for its legitimate purpose.

简单地说,就是系统只授予主体必要的权限,不要过度授权。如:1)数据库授权,一般应用程序只需要针对数据进行增删改查,而不需要对表结构进行操作。2)在Linux操作系统中,正常情况只需要使用普通账户登录。

纵深防御原则

安全是一个整体。纵深防御,其实就是:这个“整体”的不同层次需要实施不同的安全方案,需要在正确的地方做正确的事

数据与代码分离原则

“注入”攻击(如XSS、CRLF注入、SQL注入、缓冲区溢出)产生的原因,就是代码和数据没有分离开,而把“数据”当成“代码”执行了。

不可预测性原则

不可预测性,能有效地对抗基于篡改、伪造的攻击。如:1)操作系统为了提高缓冲区溢出攻击的门槛,使用ASLR让进程的栈基址随机变化。2)使用token防止CSRF攻击。

同源策略

In computing, the same-origin policy is an important concept in the web application security model.

同源策略是整个Web安全的基础。

所谓同源,就是协议相同、域名相同、端口相同。 主要表现为:

  1. 无法读取/写入不同源的页面的cookie、localstorage和indexDB。
  2. 无法操作不同源的页面的DOM。
  3. 默认情况下,不能发送不同源的ajax请求(当然有特殊办法)。

XSS攻击

  • XSS攻击简介

Cross-site scripting(XSS) is a type of computer security vulnerability typically found in web applications. XSS enables attacker to inject client-side scripts into web pages viewed by other users.

XSS攻击,通常指通过”HTML注入”篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。

虽然叫“跨站脚本攻击”,但这是历史原因,现在这种攻击不一定和“跨站”有关。

XSS防御

  • 输入输出
  • 对用户输入的标签进行过滤/encode。但是这样做容易误伤,因为有些场景就是需要用户输入标签。
  • 一般建议在将数据添加到DOM的时候对数据进行HtmlEncode或JavaScriptEncode,以预防XSS攻击。
  • HttpOnly
  • 页面被XSS攻击之后,最常见的攻击方式就是“cookie劫持”——用js读取用户的cookie,并将其发送到攻击者的后台,实现盗取用户的登录态的目的。
  • 这里可以将比较敏感、重要的cookie设置为HttpOnly,js就无法获取被设置为HttpOnly的cookie。

CSRF

Cross-site request forgery, also known as one-click attack or session riding…is a type of malicious exploit of a website where unauthorized commands are transmitted from a user that the website trusts.

跨站请求伪造,可以这么理解:攻击者在用户不知情的情况下,利用cookie发送的特点,以用户的名义发送恶意请求

CSRF的本质原因是:请求是可伪造/可预测的

假如请求是无法伪造/无法预测的,那么攻击者自然就无法替用户伪造并发起请求:用户第一次访问页面的时候,后台生成一个token,存到session和cookie里面。后续用户发起请求的时候,都在表单中带上这个token,后台对token进行校验。

这里token是不可预测和不可伪造的。

SQL注入

SQL injection is a code injection technique, used to attack data-driven applications, in which nefarious SQL statements are inserted into an entry field for execution.

发生SQL注入的本质原因和XSS攻击一样,没有处理好代码与数据分离,把用户输入的数据当成代码运行了。

防止SQL注入:

  1. 使用参数化查询:将SQL语句和参数分开提交给DB,而不是自己拼完整的字符串,这个需要库的支持。
  2. 小心地对输入字符串进行escape,如使用mysql_real_escape_string

CRLF注入

CRLF也是一种注入攻击,一般是指在http header注入CRLF这两个字符,导致改变了HTTP包的语义。

在将数据设置为http header的时候,要注意这个问题。防止攻击的办法也很简单,过滤CRLF这两个字符即可。

网络安全基础入门需要学习哪些知识?

网络安全学习路线

这是一份网络安全从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v19T846c-1677167179814)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

阶段一:基础入门

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sRoDZu4K-1677167179814)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

网络安全导论

渗透测试基础

网络基础

操作系统基础

Web安全基础

数据库基础

编程基础

CTF基础

该阶段学完即可年薪15w+

阶段二:技术进阶(到了这一步你才算入门)

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-il25GFVz-1677167179815)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

弱口令与口令爆破

XSS漏洞

CSRF漏洞

SSRF漏洞

XXE漏洞

SQL注入

任意文件操作漏洞

业务逻辑漏洞

该阶段学完年薪25w+

阶段三:高阶提升

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ITOSD3Gz-1677167179816)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

反序列化漏洞

RCE

综合靶场实操项目

内网渗透

流量分析

日志分析

恶意代码分析

应急响应

实战训练

该阶段学完即可年薪30w+

阶段四:蓝队课程

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SKCwwld2-1677167179818)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

蓝队基础

蓝队进阶

该部分主攻蓝队的防御,即更容易被大家理解的网络安全工程师。

攻防兼备,年薪收入可以达到40w+

阶段五:面试指南&阶段六:升级内容

img

需要上述路线图对应的网络安全配套视频、源码以及更多网络安全相关书籍&面试题等内容

< img src=“https://hnxx.oss-cn-shanghai.aliyuncs.com/official/1678694737820.png?t=0.6334725112165747” />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值