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

news2024/12/26 17:12:20
一.开始前的思考

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     进制编码  同源策略  
  • 1

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.coloradmin.cn/o/2252993.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++知识整理day3类与对象(下)——赋值运算符重载、取地址重载、列表初始化、友元、匿名对象、static

文章目录 1.赋值运算符重载1.1 运算符重载1.2 赋值运算符重载 2.取地址重载2.1 const成员函数2.2 取地址运算符重载 3.类与对象的补充3.1 再探构造函数---初始化列表3.2 类型转换3.3 static成员3.4 友元3.5 内部类3.6 匿名对象3.7 对象拷贝时的编译器优化 1.赋值运算符重载 赋…

深入解析级联操作与SQL完整性约束异常的解决方法

目录 前言1. 外键约束与级联操作概述1.1 什么是外键约束1.2 级联操作的实际应用场景 2. 错误分析:SQLIntegrityConstraintViolationException2.1 错误场景描述2.2 触发错误的根本原因 3. 解决方法及优化建议3.1 数据库级别的解决方案3.2 应用层的解决方案 4. 友好提…

dns实验3:主从同步-完全区域传输

服务器192.168.234.111(主服务器),打开配置文件: 打开配置文件: 关闭防火墙,改宽松模式: 重启服务: 服务器192.168.234.112(从服务器),打开配置文…

LeetCode刷题 -- 分治快排

目录 颜色分类题目解析算法原理代码 排序数组题目解析算法原理代码 数组中第K个最大元素题目解析算法原理代码 LCR 159. 库存管理 III题目解析算法原理代码 颜色分类 题目链接 题目解析 数组分为三块 算法原理 1.如果nums[i] 0,left, i下标对应元素交换&#xff0c…

【论文笔记】Leveraging the Power of MLLMs for Gloss-Free Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Leveraging the Power of …

TsingtaoAI具身智能高校实训方案通过华为昇腾技术认证

日前,TsingtaoAI推出的“具身智能高校实训解决方案-从AI大模型机器人到通用具身智能”基于华为技术有限公司AI框架昇思MindSpore,完成并通过昇腾相互兼容性技术认证。 TsingtaoAI&华为昇腾联合解决方案 本项目“具身智能高校实训解决方案”以实现高…

如何抓取亚马逊页面动态加载的内容:Python爬虫实践指南

引言 在现代电商领域,数据的重要性不言而喻。亚马逊作为全球领先的电商平台,其页面上动态加载的内容包含了丰富的商品信息。然而,传统的爬虫技术往往难以应对JavaScript动态加载的内容。本文将详细介绍如何使用Python结合Selenium工具来抓取…

tcpdump抓包wireshark分析

背景 分析特定协议的数据包,如 HTTP、DNS、TCP、UDP 等,诊断网络问题,例如连接故障、延迟和数据包丢失。 大概过程 1.安装tcpdump yum update yum install tcpdump2.抓包,从当前时间起,一小时后停止&#xff0c…

如何进行Appium实现移动端UI自动化测试呢?

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 Appium是一个开源跨平台移动应用自动化测试框架。 既然只是想学习下Appium如何入门,那么我们就直奔主题。文章结构如下: 为什么要使用…

骨架行为识别-论文复现

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

Unity 设计模式-观察者模式(Observer Pattern)详解

观察者模式 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象之间的一对多依赖关系。当一个对象的状态发生变化时,它的所有依赖者(观察者)都会收到通知并自动更新。这种模式用于事件处理系…

【webApp之h5端实战】首页评分组件的原生实现

关于评分组件,我们经常在现代前端框架中用到,UI美观效果丰富,使用体验是非常不错的。现在自己动手使用原生js封装下评分组件,可以用在自己的项目中。 组件实现原理 点击的❤左侧包括自己都是高亮的样式,右侧都是灰色的样式,这样就能把组件的状态区分开了。右边再加上辅…

unity与android拓展

一.AndroidStudio打包 1.通过Unity导出Android Studio能够打开的工程 步骤 1.设置导出基本信息:公司名、游戏名、图标、包名等关键信息 2.在File——>Build Settings中,勾选 Export Project 选项 3.点击Export 导出按钮 2.在Android Studio中打开Un…

几种常见的javascript设计模式

摘要 最近开发HarmonyOSApp,使用的Arkts语言,此语言类似后端C#语言风格,同时兼顾写后端接口的我突然想总结一下近8年前端开发中无意中使用的设计模式,我们用到了却不知属于哪些,下面和大家分享一下。 什么是前端设计…

2.4特征预处理(机器学习)

2.4特征预处理 2.4.1 什么是特征预处理 通过 一些转换函数将特征数据转换成更加适合算法模型的特征数据过程。 1 包含内容 数值型数据的无量纲化: 归一化 标准化 2 特征预处理API sklearn.preprocessing 为什么要进行归一化/标准化? 特征的单…

学习笔记052——Spring Boot 自定义 Starter

文章目录 Spring Boot 自定义 Starter1、自定义一个要装载的项目2、创建属性读取类 ServiceProperties3、创建 Service4、创建自动配置类 AutoConfigration5、创建 spring 工程文件6、将项目打成 jar 包7、jar 打包到本地仓库8、配置application.yml Spring Boot 自定义 Starte…

重学设计模式-建造者模式

本文介绍一下建造者模式,相对于工厂模式来说,建造者模式更为简单,且用的更少 定义 建造者模式是一种创建型设计模式,它使用多个简单的对象一步一步构建成一个复杂的对象。这种模式的主要目的是将一个复杂对象的构建过程与其表示…

复现SMPLify-X: Ubuntu22.04, Cuda-11.3, GPU=3090Ti

Env: 3090Ti CUDA 最低支持版本需要>cuda-11.1 Ubuntu 22.04 Installation: Installing CUDA11.3 wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run sudo sh cuda_11.3.0_465.19.01_linux.run …

Milvus×OPPO:如何构建更懂你的大模型助手

01. 背景 AI业务快速增长下传统关系型数据库无法满足需求。 2024年恰逢OPPO品牌20周年,OPPO也宣布正式进入AI手机的时代。超千万用户开始通过例如通话摘要、新小布助手、小布照相馆等搭载在OPPO手机上的应用体验AI能力。 与传统的应用不同的是,在AI驱动的…

JAVA |日常开发中读写XML详解

JAVA |日常开发中读写XML详解 前言一、XML 简介二、在 Java 中读取 XML2.1 使用 DOM(Document Object Model)方式读取 XML2.2 使用 SAX(Simple API for XML)方式读取 XML 三、在 Java 中写入 XML3.1 使用 DOM 方式写入…