web渗透测试学习路线

2023-11-18

web渗透学习路线



前言

本文整理的学习路线,清晰明了,重点分明,能快速上手实践,相信想学的同学们都能轻松学完。都是干货啦,先收藏⭐再看吧。本文偏基础能让萌新们快速摸到渗透测试的门道,少走弯路,也能让正在学习的小伙伴们查漏补缺,也欢迎大佬们在评论区指正错误~
这里附上我之前学习的路线图
在这里插入图片描述


一、web渗透测试是什么?

Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况下对其渗透,相当于代码分析审计。而黑盒测试则是在对该网站系统信息不知情的情况下渗透,以下所说的Web渗透就是黑盒渗透。

二、web渗透步骤

Web渗透分为以下几个步骤,信息收集,漏洞扫描,漏洞利用,提权,内网渗透,留后门,清理痕迹。一般的渗透思路就是看是否有注入漏洞,然后注入得到后台管理员账号密码,登录后台,上传小马,再通过小马上传大马,提权,内网转发,进行内网渗透,扫描内网c段存活主机及开放端口,看其主机有无可利用漏洞(nessus)端口(nmap)对应服务及可能存在的漏洞,对其利用(msf)拿下内网,留下后门,清理痕迹。或者看是否有上传文件的地方,上传一句话木马,再用菜刀链接,拿到数据库并可执行cmd命令,可继续上大马…思路很多,很多时候成不成功可能就是一个思路的问题,技术可以不高,思路一定得骚。

1.前期工作

html+css+js

前端三要素 html、css、js是被浏览器解析的代码,是构成静态页面的基础。也是前端漏洞如xss、csrf的基础。

重点了解html和js

能力要求:能够写出简单表单,能够通过js获取DOM元素,控制DOM树即可。

apache+php
推荐使用phpstudy来进行傻瓜式安装,可以少走很多弯路。通过apache+php体会一下网站后端的工作,客户端浏览器通过请求apache服务器上的php脚本,php执行后生成的html页面返回给浏览器进行解析。

重点了解php

能力要求:了解基本网站原理,了解php基本语法,开发简单动态页面
mysql
之前已经安装的phpstudy可以轻易的安装mysql。mysql是一款典型的关系型数据库,一般来说,大部分网站都会带有数据库进行数据存储。

重点了解sql语句

能力要求: 能够用sql语句实现增删改查,并且能用php+mysql开发一个增删改查的管理系统(如学生管理系统)
python
虽然 “php是最好的语言”,但它主要还是应用在服务端做网站开发,我们搞安全经常需要写一些脚本或工具来进行诸如密码爆破、目录扫描、攻击自动化等操作,需要一个方便且趁手的编程语言,这里我推荐python

重点学习requests、BeautifulSoup、re这三个库

能力要求: 了解python基础语法,能够用python爬取网站上的信息(requests+BeautifulSoup+re)
burpsuite
web安全的工具很多,但我觉得必备的渗透工具还得是它

重点学习Proxy、Repeater、Intruder三个模块,分别用于抓包放包、重放包、爆破

初步使用即可,在中期的漏洞学习中去逐渐熟练它

能力要求: 能够用burpsuite抓包改包、爆破用户名密码

2.中期提高

此时我们对网站已经不再陌生,能够自己动手完成一个简单站点。但我们写出来的代码真的安全吗?进入中期,我们便要开始着眼经典漏洞的学习。

一个漏洞的学习,要搞明白三点(每学完一个漏洞就问自己这三个问题):

  • 如何利用这个漏洞进行恶意操作? 为什么会产生这个漏洞? 如何修复这个漏洞?

SQL注入
(1) 了解产生sql注入的原理
(2) Union注入
(3) POST类型注入
(4) 万能用户
(5) 盲注

能力要求: 能够手工注入出任意表的数据,熟悉三种盲注的手法,能够通过sql注入实现任意文件读取和任意文件写入,能够自己编写一个不含sql注入的查询功能

文件上传
(1) 了解原理
(2) 会编写一句话木马
(3) 会用cmd命令吧一句话木马与图片结合
(4) 利用一句话木马getshell

能力要求: 会写php的webshell,明白webshell的原理,熟悉常见的文件上传绕过方法(如过后缀检测、过文件头检测、过MIME类型检测),能够自己编写一个不含漏洞的上传功能

文件包含
(1) 了解原理
(2) 会利用文件包含与文件上传文件相结合来getshell
(3) 会访问容易文件
(4)file协议、php伪协议的利用

命令执行
(1) 了解原理
(2) 了解一些cmd的基本命令
(3) 知道哪些特殊字符有特殊作用
(4)php常见的代码执行(eval)、命令执行(system)函数

XSS
(1) 了解原理
(2) 学一下javascript的基本语法
(3) 然后会利用xss获取cookie
(4) 编写一个简单的xss蠕虫

CSRF
(1) 了解原理
(2) 可以利用CSRF进行一些小操作(通过csrf让用户点击恶意链接就触发敏感操作)
(3) 结合xss来利用

变量覆盖
(1) 了解原理
(2) 利用变量覆盖来getshell

XEE
(1) 了解一些XML的语法
(2) 了解原理
(3) 会用XEE来getshell之类的

反序列化
(1) 了解序列化
(2) 了解反序列化
(3) 了解POP链

逻辑漏洞

3.后期打牢

多多参与CTF赛事
参与当下举行的ctf赛事是最好的学习方法之一,即使是初学者也能够找到一些适合自己能力的赛事,比如极客大挑战、UNCTF、各个大学的新生赛等等都是不错的选择,在比赛中去发现自己知识的不足,然后去针对的补充这部分知识,是很好的学习循环,无需迷茫的去到处获取知识,而是在需要时去学习。

Tips: 或许有人觉得直接刷题是一样的,但完全不是,当下比赛中的题往往更加前沿和流行,你可以找到当下的ctf题目趋势,紧跟技术热点,而且可以多多融入ctf竞技的氛围中,成长的更快。

ctfhub 可以很方便的查看最近举行的ctf赛事
多多看其他师傅的博客
打完ctf比赛的你肯定是想看writeup(答案)的,一般来说赛后过几天就会有很多师傅发出他的writeup,从比赛群、百度等途径都可以找到。多多看看其他师傅的解题思路,关注几个大牛,看看他们发的技术文章,都是很好的学习方法。

总结

web安全其实是个大坑,进去容易出去难,入门容易提升难,我们这行没有其他专业那么有趣,甚至可以说是枯燥乏味,但是还是希望选择web路线的学弟学妹们坚持web这条路线,不要中途放弃

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

web渗透测试学习路线 的相关文章

随机推荐

  • k8s Failed to create pod sandbox错误处理

    错误信息 Failed to create pod sandbox rpc error code Unknown desc failed to get sandbox image k8s gcr io pause 3 2 failed to
  • 华为机试 统计字符串中最长的数字串及统计字符串中字母出现最多的次数

    不多说 上代码 package com it thread import java util public class SoftTest public static void main String args Scanner sc new
  • 无法验证驱动程序的签名_无法安装最新版NVIDIA显卡驱动,从技术角度该怎么办?...

    一定会有众多网友 饱受无法更新NVIDIA驱动的困扰 你们一定也很奇怪 我凭实力从正规渠道购买的NVIDIA板卡 凭什么无法及时安装NVIDIA官网提供的驱动程序呢 因为无法更新到413以后的版本 一定也有众多因驱动程序 过时 而被 战地五
  • ACM-Java输入输出基本操作

    一 Java之ACM注意点 1 类名称必须采用public class Main方式命名 2 在有些OJ系统上 即便是输出的末尾多了一个 程序可能会输出错误 所以在我看来好多OJ系统做的是非常之垃圾 3 有些OJ上的题目会直接将OI上的题目
  • Framework层Android4.4锁屏流程分析

    前段时间刚接触到锁屏 我们自己做的锁屏时通过底层通过反射调过去的 所以还是得从framewoke层的启动和加载开始分析 所以画了一下这样的两个图 前面一个图是系统开机调到锁屏的一个流程 后面一个图我分开来画了 一个是按power键灭屏和亮屏
  • 【翻译】#拥抱行动和心理安全--思考根本原因而非根本人物

    本杰明 富兰克林曾经说过 生命中唯一的两个确定性是死亡和税收 但是 如果他是一名工程师 他可能会在这个名单上加上另一个 即故障 脸书的工程师们无疑会同意最近的故障 似乎是由于运行一个命令 无意中关闭了他们骨干网络的所有连接 不仅关闭了脸书
  • 【今日CV 计算机视觉论文速览 第149期】Tue, 30 Jul 2019

    今日CS CV 计算机视觉论文速览 Tue 30 Jul 2019 Totally 77 papers 上期速览 更多精彩请移步主页 Interesting MaskGAN人脸属性操作的新方法 为了克服先前方法受限于预定义的有限人脸特征操作
  • flutter 插件

    一 简介 Flutter 中调用这些能力就必须和原生平台进行通信 目前Flutter 已经支持 iOS Android Web macOS Windows Linux等众多平台 要调用特定平台 API 就需要写插件 插件是一种特殊的包 和纯
  • LeetCode234:回文链表

    题目描述 题目链接 请判断一个链表是否为回文链表 示例 1 输入 1 gt 2 输出 false 示例 2 输入 1 gt 2 gt 2 gt 1 输出 true 进阶 你能否用 O n 时间复杂度和 O 1 空间复杂度解决此题 解题思路
  • 贪吃蛇实验报告

    贪吃蛇实验报告 第一次写博客 这是中山大学软件工程导论的项目之一 对初学者可能有点难度 分享出来做参考 使用的C语言 如果你喜欢的话可以使用 就这样 直接上代码 智能蛇部分也发上来 include
  • 实现二维数组或多维数组排序得方法

    例 对数组 3 2 6 2 3 6 3 4 5 3 进行排序 方法一 import numpy as np a np array 3 2 6 2 3 6 3 4 5 3 ind np lexsort a 1 a 0 print a ind
  • Linux- 文件夹相关的常用指令

    1 统计文件夹下的文件数量 在 Linux 下 有几种方法可以统计文件夹下的文件数量 使用 ls 和 wc 命令 这种方式可以统计目录下的直接子文件 不包括子目录里的文件 ls l lt 目录路径 gt wc l 注意 这将也统计目录自身
  • Hugging Face PEFT 调优实战附代码

    Hugging Face PEFT 调优实战附代码 PEFT调优大模型 Hugging Face PEFT 调优实战附代码 使用Hugging Face PEFT Library 先快速上手使用PEFT LoRA详解 实际应用 Kaggle
  • 常见的Web漏洞——命令注入

    目录 命令注入简介 命令注入原理 漏洞利用 漏洞防范 总结 命令注入简介 命令注入漏洞和SQL注入 XSS漏洞很相似 也是由于开发人员考虑不周造成的 在使用web应用程序执行系统命令的时候对用户输入的字符未进行过滤或过滤不严格导致的 常发生
  • RBF网络的matlab实现

    一 用工具箱实现函数拟合 参考 http blog csdn net zb1165048017 article details 49407075 1 newrb 该函数可以用来设计一个近似径向基网络 approximate RBF 调用格式
  • python教程30-python2和python3的区别、is和isinstance的使用、字类重写父类方法、不使用多态的问题、多态的使用

    python教程 小白入门2021 4 19 学习目标 这里是对应的视频链接 目录 python教程 小白入门2021 4 49 P173 python2和python3的区别 P174 is和isinstance的使用 P175 子类重写
  • 第十三节:特殊的对象——数组的详解

    typeof null 为什么结果是Object JS解释器编译原则 如果二进制前三位是0 typeof查询的数据类型返回的就是Object 而null转换为二进制存储时 全部位数均为0 所以typeof查询结果为Object 这是早期开发
  • 计算机网络——传输层

    一 传输层概述 传输层功能 完成主机进程 主机进程之间的报文传输 传输层是真正的端对端的通信 传输层协议在端主机上运行 路由器一般没有传输层 传输层从主机层面上对网络层采取相应补救措施 可以提供更高质量的数据传输能力 传输层独立于网络设备
  • 设计模式——Visitor(访问者)模式

    目录 前言 1 定义 2 适用性 3 结构 3 1 结构图 3 2 参与者 4 Java实际应用举例 以ASM技术为例 4 1 被访问对象 ClassReader 4 2 Visitor ClassVisitor 4 3 具体visitor
  • web渗透测试学习路线

    web渗透学习路线 文章目录 web渗透学习路线 前言 一 web渗透测试是什么 二 web渗透步骤 1 前期工作 2 中期提高 3 后期打牢 总结 前言 本文整理的学习路线 清晰明了 重点分明 能快速上手实践 相信想学的同学们都能轻松学完