当前位置: 首页 > news >正文

快速入门web安全

一.确定初衷

1.我真的喜欢搞安全吗?
2.我只是想通过安全赚钱钱吗?
3.我不知道做什么就是随便。
4.一辈子做信息安全吗

这些不想清楚会对你以后的发展很不利,与其盲目的学习web安全,不如先做一个长远的计划。

否则在我看来都是浪费时间。如果你考虑好了参照我的计划进行学习,我不敢保证你实践完多牛逼,但是找5k-8k的工作绝对不成问题。
在这里插入图片描述

1.目的

本问目的是带大家快速入门web安全,不会搞些虚张声势的东西都是我的学习经验. 不会涉及到特别详细的技术,而是指导你去如何系统的学习少走弯路,节约时间。要有自信。不要觉得任何人和任何事有多牛逼,不低估自己,不高估别人。认真学习。\

2.经验

我们在学习web安全或者任何东西时都需要分阶段专注学习,比如研究XSS那么这段时间大部分精力只研究XSS。XSS通常结合CSRF来达到更好的利用效果,但是不要把太多时间放到csrf上,研究透彻xss后在研究下一个漏洞类型,要有重点的研究东西。

3.多看书和分析文章

学习代码审计时我认为最有效的方法,先去阅读相关的书籍然后找两篇分析0day的文章,照葫芦画瓢分析文章中一样版本的代码,这对你成长很有帮助,进步也非常快。

4.整理笔记

这个我觉得最重要,这是一个好习惯 可以让我们重新把学习的技术做一个总结和巩固。在总结的过程形成自己对技术的理解与创新。从而让书本上的知识变成自己的东西。

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

在这里插入图片描述

2.1 HTTP协议请求

(TIME: 一周)对以下下知识点做了解学习

  • http协议请求
  • http状态码
  • post / get 区别
    可以使用Chrome浏览器中F12查看“Network”标签中的HTTP请求响应,来了解HTTP协议请求.

2.2.危险的HTTP头参数

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

  • user_agent
  • X-Forwarded-For
  • Referer
  • clien_ip
  • Cookie

2.3 专业术语天

(TIME: 一天)了解如下专业术语的意思webshell

  • 菜刀
  • 0day
  • SQL注入
  • 上传漏洞
  • XSS
  • CSRF
  • 一句话木马

2.4 专业黑客工具使用

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

  • sqlmap
  • Burpsuite
  • nmap
  • w3af
  • nessus
  • Appscan
  • AWVS

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. 宽字节注入

6.CSRF 跨站点请求

(TIME: 3天)为什么会造成csrf,GET型与POST型CSRF 的区别, 如何防御使用 token防止 csrf?
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天)了解ssrf的原理,以及ssrf的危害。
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引入外部实体时,通过构造恶意内容,可以导致文件读取、命令执行、内网探测等危害
http://blog.sina.com.cn/s/blog_8194b04f0102wsoe.html

15 XPath注入

(TIME: 5天)path注入攻击本质上和SQL注入攻击是类似的,都是输入一些恶意的查询等代码字符串,从而对网站进行攻击
https://blog.csdn.net/quiet_girl/article/details/50588130
16 服务器解析漏洞
Iis 解析漏洞
nginx 解析漏洞
tomcat 后台上传漏洞
jboss 上传漏洞
如果上述漏洞原理掌握的都差不多那么你就可以去找个工作实践一下了.

相关文章:

快速入门web安全

一.确定初衷 1.我真的喜欢搞安全吗? 2.我只是想通过安全赚钱钱吗? 3.我不知道做什么就是随便。 4.一辈子做信息安全吗 这些不想清楚会对你以后的发展很不利,与其盲目的学习web安全,不如先做一个长远的计划。 否则在我看来都是浪费时间。如果你考虑好了…...

rabbitMq两种消费应答失败处理方式

在rabbitMq消费端,有三种应答模式: none:不处理。即消息投递给消费者后立刻 ack 消息会立刻从MQ删除。非常不安全,不建议使用 manual:手动模式。需要自己在业务代码中调用api,发送 ack 或 reject&#xff…...

Qt C++(一) 5.12安装+运行第一个项目

安装 1. Download Qt OSS: Get Qt Online Installer 在该链接中下载qt在线安装程序 2. 安装时候,注意关键一步,archive是存档的意思,可以找到旧的版本, 比如5.12 3. 注意组件没必要全选,否则需要安装50个g, 经过请教…...

【RISC-V CPU Debug 专栏 1 -- RISC-V debug 规范】

文章目录 RISC-V Debug调试用例支持的功能限制和不包括的内容RISC-V 调试架构的主要组件用户与调试主机调试翻译器调试传输硬件调试传输模块(DTM)调试模块(DM)调试功能触发模块版本介绍RISC-V Debug RISC-V 调试规范为 RISC-V 处理器提供了一套标准化的调试接口和功能,旨…...

使用Gradle编译前端的项目

使用Gradle编译前端的项目 前言项目结构根项目(parent-project)的 settings.gradle.kts后端项目(backend)的 build.gradle.kts前端项目(frontend)的 build.gradle.kts打包bootJar 前言 最近的项目都是使用…...

网络爬虫——常见问题与调试技巧

在开发网络爬虫的过程中,开发者常常会遇到各种问题,例如网页加载失败、数据提取错误、反爬机制限制等。以下内容将结合实际经验和技术方案,详细介绍解决常见错误的方法,以及如何高效调试和优化爬虫代码。 1. 爬虫过程中常见的错误…...

【AI绘画】Midjourney进阶:色调详解(下)

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AI绘画 | Midjourney 文章目录 💯前言💯Midjourney中的色彩控制为什么要控制色彩?为什么要在Midjourney中控制色彩? 💯色调纯色调灰色调暗色调 &#x1f4af…...

springboot+redis+lua实现分布式锁

1 分布式锁 Java锁能保证一个JVM进程里多个线程交替使用资源。而分布式锁保证多个JVM进程有序交替使用资源,保证数据的完整性和一致性。 分布式锁要求 互斥。一个资源在某个时刻只能被一个线程访问。避免死锁。避免某个线程异常情况不释放资源,造成死锁…...

【Petri网导论学习笔记】Petri网导论入门学习(十一) —— 3.3 变迁发生序列与Petri网语言

目录 3.3 变迁发生序列与Petri网语言定义 3.4定义 3.5定义 3.6定理 3.5例 3.9定义 3.7例 3.10定理 3.6定理 3.7 有界Petri网泵引理推论 3.5定义 3.9定理 3.8定义 3.10定义 3.11定义 3.12定理 3.93.3 变迁发生序列与Petri网语言 对于 Petri 网进行分析的另一种方法是考察网系统…...

docker-compose文件的简介及使用

Docker Compose是Docker官方的开源项目,主要用于定义和运行多容器Docker应用。以下是对Docker Compose的详细介绍: 一、主要功能: 容器编排:Docker Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML格…...

[护网杯 2018]easy_tornado

这里有一个hint点进去看看,他说md5(cookie_secretmd5(filename)),所以我们需要获得cookie_secret的value 根据题目tornado,它可能是tornado的SSTI 这里吧filehash改为NULL. 是tornado的SSTI 输入{{handler.settings}} (settings 属性是一个字典&am…...

基于STM32的智能风扇控制系统

基于STM32的智能风扇控制系统 持续更新,欢迎关注!!! ** 基于STM32的智能风扇控制系统 ** 近几年,我国电风扇市场发展迅速,产品产出持续扩张,国家产业政策鼓励电风扇产业向高技术产品方向发展,国内企业新增投资项目投…...

决策树——基于乳腺癌数据集与cpu数据集实现

决策树——乳腺癌数据实现 4.1 训练决策树模型,并计算测试集的准确率 1. 读入数据 from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix …...

探索空间自相关:揭示地理数据中的隐藏模式

目录 一、什么是空间自相关? 类型 二、空间自相关的数学基础 空间加权矩阵 三、度量空间自相关的方法 1. 全局自相关 2. 局部自相关 四、空间自相关的实际应用 五、Python实现空间自相关分析 1. 数据准备 2. 计算莫兰指数 3. 局部自相关(LISA 分析&…...

echarts使用示例

柱状图折线图 折柱混合:https://echarts.apache.org/examples/zh/editor.html?cmix-line-bar option {title:{show: true},tooltip: {trigger: axis,axisPointer: {type: cross,crossStyle: {color: #999}}},toolbox: {feature: {dataView: { show: true, readOnl…...

Flink高可用配置(HA)

从Flink架构中我们可以看到,JobManager这个组件非常重要,是中心协调器,负责任务调度和资源管理。默认情况下,每个Flink集群只有一个JobManager实例。这会产生单点故障(SPOF):如果JobManager崩溃,则无法提交新程序,正在运行的程序也会失败。通过JobManager的高可用性,…...

如何编写出色的技术文档

目录 ​编辑 1. 明确文档目的和受众 目的的重要性 了解受众 2. 收集和组织信息 信息收集的技巧 组织信息 3. 规划文档结构 结构规划的重要性 结构规划的步骤 4. 编写内容 语言和风格 内容的组织 编写技巧 5. 审阅和测试 审阅的重要性 测试的必要性 6. 版本控…...

学习日记_20241126_聚类方法(谱聚类Spectral Clustering)

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…...

图书系统小案例

目前就实现了分页查询,修改,删除功能 这个小案例练习到了很多技能,比如前后端交互、异步请求、三层架构思想、后端连接数据库、配置文件、基础业务crud等等 感兴趣的小伙伴可以去做一个试试 准备工作 1、使用maven构建一个web工程 打开i…...

目标检测之学习路线(本科版)

以下是为一名计算机科学与技术本科大四学生整理的“目标检测”学习路线,结合了从基础到高级的内容,适合初学者逐步深入。每个阶段都有明确的学习要求、学习建议和资源推荐。 阶段一:基础知识学习 学习要求: 掌握编程语言 Pytho…...

C#调用C++ DLL方法之C++/CLI(托管C++)

托管C与C/CLI前世今生 C/CLI (C/Common Language Infrastructure) 是一种用于编写托管代码的语言扩展,它是为了与 .NET Framework 进行互操作而设计的。C/CLI 是 C 的一种方言,它引入了一些新的语法和关键字,以便更好地支持 .NET 类型和垃圾…...

免费搭建一个属于自己的个性化博客(Hexo+Fluid+Github)

文章目录 0.简介1. 下载安装fluid主题2. 创建文章3. 添加分类及标签3.1 创建“分类”选项3.2 创建“标签”选项4. 文章中插入图片5. 添加阅读量统计6. 添加评论功能7. 显示文章更新时间8. 为hexo添加latex支持小结参考文献0.简介 通过HEXO模板和Fluid主题搭建自己的博客,预览…...

vue3 开发利器——unplugin-auto-import

这玩意儿是干啥的? 还记得 Vue 3 的组合式 API 语法吗?如果有印象,那你肯定对以下代码有着刻入 DNA 般的熟悉: 刚开始写觉得没什么,但是后来渐渐发现,这玩意儿几乎每个页面都有啊! 每次都要写…...

开发需求总结19-vue 根据后端返回一年的数据,过滤出符合条件数据

需求描述: 定义时间分界点:每月26号8点,过了26号8点则过滤出data数组中符合条件数据下个月的数据,否则过滤出当月数据 1.假如现在是2024年11月14日,那么过滤出data数组中日期都是2024-11月的数据; 2.假如…...

人工智能如何改变创新和创造力?

王琼工作室 输出的力量 有了GPT这样的人工智能平台,创新和创造力的机会在哪里? 我们是否有信心: 面对效率,超越效率。 把问题拓展为机会? 把机会拓展为价值? 让智能更好地和我们协作,走心、走…...

Github 基本使用学习笔记

1. 基本概念 1.1 一些名词 Repository(仓库) 用来存放代码,每个项目都有一个独立的仓库。 Star(收藏) 收藏你喜欢的项目,方便以后查看。 Fork(克隆复制项目) 复制别人的仓库&…...

群论入门笔记

群的基本定义 群由一组元素 G 和一个运算(常用符号包括 ,x , 或 ∗)组成。 封闭性 对于任意两个元素 x,y∈G,运算 x * y 的结果仍然属于集合 G,即: ∀x,y∈G,x∗y∈G. 结合律 对于任意 a,b,c∈G&…...

2024最新python使用yt-dlp

2024最新python使用yt-dlp下载YT视频 1.获取yt的cookie1)google浏览器下载Get cookies.txt LOCALLY插件2)导出cookie 2.yt-dlp下载[yt-dlp的GitHub地址](https://github.com/yt-dlp/yt-dlp?tabreadme-ov-file)1)使用Pycharm(2024.3)进行代码…...

Python + 深度学习从 0 到 1(00 / 99)

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【深度学习从 0 到 1】谢谢你的支持! ⭐ 什么是深度学习? 人工智能、机器学习与…...

单点登录深入详解之设计方案总结

基于cookie的单点登录解决方案 概述 用户登录之后 , 将认证信息存储至 Cookie ,当再次访问本服务或者访问其他应用服务时,直接从 Cookie 中传递认证信息,进行鉴权处理。 问题 1. 如何保障Cookie内用户认证信息的安全性? 第一, Cookie…...

免费简历制作网站推荐/营销方式有哪几种

3.hibernate 进行多表查询每个表中各取几个字段&#xff0c;也就是说查询出来的结果集没有一个实体类与之对应如何解决&#xff1f; 可以将查询返回一个DynaBean比如List<DynaBean>liststatement.executeSQLQuery("select a.aa,b.bb from a,b");for(DynaBean d…...

wordpress 在线聊天主题/网站转让出售

遇到了一个问题&#xff0c;需要将DataGridView的一行拖到另一个DataGridView中。搜索了一下&#xff0c;找到了风卷残云的文章C#如何实现DataGridView到DataGridView的拖拽。写的很详细。 由于当时手头的程序比较麻烦&#xff0c;Datagridview有好几个&#xff0c;遇到了一点问…...

app网站的优点/北京网站营销与推广

C语言代码 #include <stdio.h>void Function() {}int main() {Function();return 0; }汇编代码&#xff1a; //没有参数 003517C8 call 00351023 //调用函数00351023 jmp 0035174000351740 push ebp //保存进函数前的栈底到堆栈 0035…...

商业网站开发 流程/如何提高搜索引擎优化

按照微软的计划&#xff0c;Edge在Windows 10的部署应当算是公司发展迈出的重要一步&#xff0c;不过新的研究结果可能会让这个计划变得不那么顺利。据悉&#xff0c;Edge的InPrivate(隐私)可能并没有看起来那么隐私。根据Ashish Singh的研究了解到&#xff0c;InPrivate下的访…...

个人网站设计提纲/推广普通话心得体会

均值为0&#xff0c;方差为0.01 均值为0&#xff0c;方差为0.09 代码如下&#xff1a; %imnoise demo f imread(cameraman.tif); %fnoise imnoise(f, gaussian); %增加均值为0&#xff0c; 方差为0.01得噪声 fnoise imnoise(f, gaussian, 128); %增加均值为2&#xff0c; …...

企业管理生产管理系统/合肥网络优化推广公司

Problem E: 最大数与数列最后一个数交换 分析 先确定最大数的下表&#xff0c;然后交换数值。 Description 输入一个正整数n( 1 < n < 100),再输入n个整数&#xff0c;将最后一个数与数列最大数交换位置&#xff08;若最大数在数列最后&#xff0c;就不用交换&#x…...