零基础想学习 Web 安全,如何入门?

devtools/2024/11/14 16:15:58/

学习 Web 安全,如何入门?

一.开始前的思考

1.我真的喜欢搞安全吗?

2.我想通过安全赚钱钱?

3.我不知道做什么就是随便?

4.一辈子做安全

这些不想清楚会对你以后的发展很不利,与其盲目的学习 web 安全,不如先做一个长远的计划。否则在我看来都是浪费时间。

一. 首先你得了解 Web

Web 分为好几层,一图胜千言:

![](https://img-
blog.csdnimg.cn/img_convert/6655bbc17542890ec6063b714aa79eeb.png)

事实是这样的: 如果你不了解这些研究对象是不可能搞好安全研究的。

这样看来,Web 有八层(如果把浏览器也算进去,就九层!每层都有几十种主流组件!!!)这该怎么办?

一法通则万法通 ,这是横向的层,纵向就是 数据流 !搞定好数据流:从横向的层,从上到下→从下到上,认真看看这些数据在每个层是怎么个处理的。

二,零基础 web 安全学习计划

2.1 HTTP 协议请求 (TIME: 一周)

对以下下知识点做了解学习 http协议请求  http状态码               post / get 区别       

![](https://img-
blog.csdnimg.cn/img_convert/d1555a6c83aa7037dd3140206586a74b.png)

可以使用 Chrome 浏览器中 F12 查看“Network”标签中的 HTTP 请求响应,来了解 HTTP 协议请求.

2.2.危险的 HTTP 头参数 (TIME: 一周)

HTTP 请求时需对一些必要的参数做一些了解,这些参数也会造成很严重的安全安全问题如下:

user_agent X-Forwarded-ForRefererclien_ipCookie      
2.3 专业术语 (TIME: 一天)

了解如下专业术语的意思

  • webshell

  • 菜刀

  • 0day

  • SQL 注入

  • 上传漏洞

  • XSS

  • CSRF

  • 一句话木马

![](https://img-
blog.csdnimg.cn/img_convert/d1d3b9fffbdc65fcd46a672118dcdb16.png)

2.4 专业黑客工具使用 (TIME: 10 天)

熟悉如何渗透测试安全工具,掌握这些工具能大大提高你在工作的中的效率。

sqlmap     Burpsuite  nmap      w3af       nessus  Appscan AWVS

![](https://img-
blog.csdnimg.cn/img_convert/7f9f80b94774f190bb3e1ce8ea283370.png)

4.脚本语言+代码审计入门 (TIME: 10 天)

推荐 php 不用学的太灵通,我们又不是搞开发,了解基本语法和一些危险函数即可如:open exec 等函数会造成什么漏洞,了解了 php
中的危险函数会造成那些漏洞可举一反三套用到别的脚本当中 asp aspx java
这些语言的危险函数可能只是写法不一样功能是相同的,了解这些后就可以来做一些 web 漏洞的代码审计了.

php入门学习  php代码审计   

5.Sql 注射 (TIME: 3 天)

** 零基础就先用最有效的办法注入推荐注入工具 sqlmap 如何使用?**

如果你不想只停留在使用工具的层面,那么你需要学习一下数据库,mysql sqlserver 随便先学一个前期学会 selsct 就行,php
尝试自己写一个查询数据库的脚本来了解手工 sql 注入的原理,这样进步会很快,如果想深入可以把各种数据库注入都温习一边。关于需要掌握的技术点:

1\. 数字型注入 2.字符型注入 3.搜索注入 4.盲注(sleep注入) 5.sqlmap使用 6.宽字节注入mysql入门  Sqlmap     sleep原理    盲注sleep函数执行sql注入攻击
**6.CSRF 跨站点请求 (TIME: 3 天)**

为什么会造成 csrf,GET 型与 POST 型 CSRF 的区别, 如何防御使用 token 防止 csrf?

7.XSS (TIME: 7 天)

要研究 xss 首先了解同源策略 ,Javascript 也要好好学习一下 ,以及 html 实体 html 实体的 10 或 16 进制还有
javascript 的 8 进制和 16 进制编码,

xss     进制编码  同源策略  

8.文件上传漏洞 (TIME: 7 天)

了解下开源编辑器上传都有那些漏洞,如何绕过系统检测上传一句话木马上传绕过

9 php-远程/本地 文件包含 (TIME: 10 天)

学习下 include() include_once() require() require_once() fopen() readfile() 这些
php 数是如何产生文件包含漏洞, 本地包含与远程包含的区别。以及利用文件包含时的一些技巧如:截断 /伪 url/超长字符截断 等 。

10 php-命令执行 (TIME: 3 天)

PHP 代码中常见的代码执行函数有:

eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。了解这些函数的作用然后些搞清楚如何造成的代码执行漏洞。

12 ssrf (TIME: 3 天)

1\了解 ssrf 的原理,以及 ssrf 的危害。2\ssrf 能做什么。

当我们在进行 web 渗透的时候是无法访问目标的内部网络的,那么这个时候就用到了 ssrf 漏洞,利用外网存在 ssrf 的 web 站点可以获取如下信息。

1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的 banner 信息;

2.攻击运行在内网或本地的应用程序(比如溢出);

3.对内网 web 应用进行指纹识别,通过访问默认文件实现;

4.攻击内外网的 web 应用,主要是使用 get 参数就可以实现的攻击(比如 struts2,sqli 等);

5.利用 file 协议读取本地文件等。

13 逻辑漏洞 (TIME: 7 天)

常见的逻辑漏洞一般都会在如下地方出现

1.订金额任意修改--购物站经常出现2.验证码回传 3.越权操作,其主要原因是没对ID参数做cookie验证导致。4.找回密码存在设计缺陷5.接口无限制枚举
**14 xee(XML 外部实体注入) (TIME: 5 天)**

当允许 xml 引入外部实体时,通过构造恶意内容,可以导致文件读取、命令执行、内网探测等危害

15 XPath 注入 (TIME: 5 天)

path 注入攻击本质上和 SQL 注入攻击是类似的,都是输入一些恶意的查询等代码字符串,从而对网站进行攻击

16 服务器解析漏洞

Iis 解析漏洞  nginx 解析漏洞 tomcat 后台上传漏洞jboss 上传漏洞
**如果上述漏洞原理掌握的都差不多那么你就可以去找个工作实践一下了.**

# 加分项目-渗透信息搜集 (TIME: 15 天)#

子域名搜集 利用 DNS 域名传送漏洞搜集二级域名

Liunx 测试命令如下:

Dns服务器 1.1.1.1  测试域名http://wooyun.orgdig @1.1.1.1 http://sechook.org axfrnmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=http://wooyun.org -p 53 -Pn 1.1.1

实例查询苏宁 DNS 服务器

D:\deep>nslookup默认服务器:  localhostAddress:  10.11.0.1> set type=ns> http://suning.com服务器:  localhostAddress:  10.11.0.1非权威应答:http://suning.com      nameserver = http://lns1.zdnscloud.infohttp://suning.com      nameserver = http://gns2.zdnscloud.net.cnhttp://suning.com      nameserver = lns2.zdnscloud.bizhttp://suning.com      nameserver = http://gns1.zdnscloud.net>

查询苏宁 IP

C:\Users\jack>nslookup http://suning.com服务器:  localhostAddress:  10.11.0.1非权威应答:名称:    http://suning.xdwscache.ourwebcdn.comAddresses: 203.130.60.48   //对应ip         203.130.60.49  //对应ip         203.130.60.50  //对应ipAliases:  http://suning.comhttp://Suning.com.wscdns.com //别名

在线二级域名爆破网站

https://dnsdumpster.com/Netcraft - Search Web by Domain

工具获取二级域名

渗透测试中常用的在线工具--SecWiki 专题  参考链接subDomainsBrutewydomain theHarvester.py FierceDigknockdnsspiderSubDomainscollectSubBrutedirfuzzy因篇幅受限不一一展示啦~

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

如果想学技术看看


http://www.ppmy.cn/devtools/133234.html

相关文章

JavaScript 观察者设计模式

观察者模式:观察者模式(Observer mode)指的是函数自动观察数据对象,一旦对象有变化,函数就会自动执行。而js中最常见的观察者模式就是事件触发机制。 ES5/ES6实现观察者模式(自定义事件) - 简书 先搭架子 要有一个对象&#xff…

UE5 材质篇 1 如何偏移顶点

顶点偏移 start content里的plane长这样 我们进行一点顶点偏移就能长这样 XY加起来乘个缩放系数扔给sin结果乘个缩放系数即可

PHP API为什么要使用多种提交方式

在探讨PHP API为何使用多种提交方式时,我们首先要理解不同的提交方式(如GET和POST)在功能和安全性上的特点。以下是使用多种提交方式的主要原因: 1. 功能差异 GET方式: 信息量限制:GET传输的数据量较小&am…

JavaScript 高阶总结

一、闭包 1.怎么理解闭包: 闭包:内层函数外层函数的变量 2.闭包的作用: 封闭数据,实现数据私有化,外部可以访问函数内部变量 3.闭包引起的问题: 内存泄漏 二、变量和函数提升 1.变量提升 (1&#…

ArkTS--应用状态

应用状态 应用状态相关的内容需要使用模拟器或真机调试,在API 11开始也支持preview 1.LocalStorage LocalStorage是页面级的UI状态存储,通过Entry装饰器接收参数可以在页面内共享数据 1.1 页面内共享数据 import {MyUser} from ../model/MyUser //用户对…

Rust安全性与最佳实践————安全编程技巧

第九章:安全性与最佳实践 第一节:安全编程技巧 随着互联网应用的复杂性不断增加,安全问题成为了现代软件开发中的重要课题。安全性不仅仅是简单的漏洞修复,更是从代码设计到实际应用全生命周期的考量。开发人员在编写代码时&…

关于word 页眉页脚的一些小问题

去掉页眉底纹: 对文档的段落边框和底纹进行设置,也是页眉横线怎么删除的一种解决方式,具体操作如下: 选中页眉中的横线文本; 点击【开始】选项卡,在【段落】组中点击【边框】按钮的下拉箭头; …

vue2,vue3,uniapp,小程序实现前端url生成二维码

最近遇到一个项目,api返回url地址,前端通过地址生成二维码。 话不多说直接上代码,亲测有效,希望能帮助大家,同时如果有更好的方法希望大家能够分享 1、第一步,在项目的utils文件夹下面创建一个weapp-qrco…