网络安全(黑客)自学的一些建议

news2024/11/27 0:21:11

1.选择方向

首先是选择方向的问题,网络安全是一个很宽泛的专业,包含的方向特别多。比如 web安全,系统安全,无线安全
,二进制安全,运维安全,渗透测试,软件安全,IOT安全,AI安全等等,具体看你想学习哪方面,你一般听到的是web安全,搞个站,玩玩xss,命令注入等等。你可以从大纲中找到你要学习的方向和技能。

在这里插入图片描述

如图片过大被平台压缩导致看不清的话,大家记得点个关注,关注之后后台会自动发送给大家!

2.学习方法与思路

我的的学习方法论分为三个方面,很直接有效,贵在坚持。

明确目标
学以致用细化你的目标
制定具体的学习内容反馈

1.明确目标,学以致用

你首先要明确学习网络安全的目标,你是想打CTF比赛,还是当个白帽挖CVE洞,还是想写个软件保护壳,开源个安全项目等,目标不同,你的学习路径也是不同的。不建议立即从基础学起,肯定有人给你说学c,学数据结构,学算法,学汇编等等,其实这是不聪明的,目标导向:之前说的每一门都是个大学科,其实用到安全上的 并不多,如果你在暂时用的不多的内容上花费了很多时间,那么你什么时候才能实现自己的目标呀,人的精力是有限的,永远准备好再出发,那是小学生的学习思路。

2.细化你的目标,制定具体的学习内容

例如咱们定个目标,写一个PE的保护壳,那你首先要做的是什么呢? 先去google 搜索 PE的保护壳有哪些种?比如压缩壳,加密壳,虚拟机等等,难度高低怎么样?对于入门者来说,压缩壳相对简单,那就从这个开始学。接着去github或者google搜索 开源的PE压缩壳和相应的教程。发现PE压缩壳有用汇编写的,有用C,C++写的,这个时候咱们可以先选择汇编来写。然后就查询一下压缩壳原理的教程和书籍,比如书籍推荐《加密与解密》,对比着开源壳的代码去理解,如果汇编不懂,找到一本汇编书,比如王爽的汇编入门书籍,不要全看完,对比着壳代码 看到哪去学哪。整体的学习过程变成了:PE保护壳 -》 压缩壳 -》 汇编压缩壳 -》搜索开源代码和原理教程 -》 对比着壳代码,看汇编书籍理解将目标越来越细化,你就越清楚自己做什么。

3. 反馈

学习是一个不断反馈的过程,你在第2步的学习过程中,作为初学者肯定不会这么顺利,看看开源代码也会遇到不懂得地方,自己写的代码得时候肯定也会调试不通,这时候就接着去找资料,看书,调试,搞懂。

正常得学习过程一般是:

学习 -》应用-》反馈-》接着学习

5. 书单推荐

其实书籍是非常系统的,非常适合入门,可以让你掌握这个领域的基本内容,但是时效性可能不会很高。我建议选择看哪个方面的书,不要人云亦云,肯定很多人让你学操作系统原理,学算法等等,这其实是不符合学习规律的,学什么就找对应的书籍学习,而不是从最基础的开始学。下面是我推荐的几本书籍。

计算机及系统原理

  • 《编码:隐匿在计算机软硬件背后的语言》 【美】Charles Petzold
  • 《深入理解计算机系统》【美】Randal E.Bryant
  • 《深入理解Windows操作系统》【美】Russinovich,M.E.;Solomon,D.A.
  • 《Linux内核设计与实现》【美】Robert Love
  • 《深入理解Android内核设计思想》林学森
  • 《Android系统源代码情景分析》罗升阳
  • 《深入理解Mac OS X & iOS操作系统》【美】Jonathan Levin
  • 《深入理解Linux内核》 【美】DanielP.Bovet
  • 《代码揭秘:从C/C++的角度探秘计算机系统》左飞
  • 《Android Dalvik虚拟机结构及机制剖析(第1、2卷)》吴艳霞;张国印
  • 《Android Internals::Power User’s View》【美】Jonathan Levin,中译本《最强Android书:架构大剖析》
    在这里插入图片描述

2023全套网络安全资源,大家记得点个关注,关注之后后台会自动发送给大家!

在这里插入图片描述

编程开发

系统平台
Windows

  • 《Windows程序设计》【美】Charles Petzold
  • 《Windows核心编程》【美】Jeffrey Richter
  • 《Windows环境下32位汇编语言程序设计》罗云彬
  • 《Windows驱动开发技术详解》张帆

Linux/Unix

  • 《UNIX环境高级编程》【美】W.Richard Stevens;Stephen A.Rago
  • 《Linux程序设计》【美】Neil Matthew;Richard Stones
  • 《Linux设备驱动程序》【美】Jonathan Corbet;Alessandro Rubini;Gerg Kroah-Hartman

macOS/iOS

  • 《iOS编程》【美】Christian Keur;Aaron Hillegass
  • 《OS X与iOS内核编程)【澳】Halvorsen,O.H.;Clarke,D

Android

  • 《第一行代码——Android》郭霖
  • 《Android编程权威指南》【美】Brian Hardy;BillPhillips

编程语言

  • 《C语言程序设计》【美】Brian W.Kernighan;Dennis M.Ritchie
  • 《C Primer Plus》【美】Stephen Prata,入门书籍
  • 《C和指针》【美】Kenneth A.Reek
  • 《C陷阱与缺陷》【美】Andrew Koenig
  • 《C专家编程》【美】Peter van der Linden

C++

  • 《C++ Primer Plus》【美】Stephen Prata,入门书籍
  • 《C++ Primer》【美】Stanley B.Lippman;Josée Lajoie;Barbara E.Moo,进阶书籍

ASM

  • 《Intel汇编语言程序设计》【美】Kip Irvine
  • 《Intel开发手册》
  • 《汇编语言(第3版)》王爽
  • 《x86汇编语言:从实模式到保护模式》李忠

Java

  • 《Java核心技术》【美】Cay S.Horstmann;Gary Cornell,入门书籍
  • 《Java 编程思想》【美】Bruce eckel,进阶书籍

JavaScript

  • 《JavaScript DOM编程艺术》【美】Jeremy Keith;【加】Jeffrey Sambells
  • 《JavaScript高级程序设计》【美】Zakas.Bicholas C.
  • 《Vue.js项目开发实战》张帆

Python

  • 《Python核心编程(第2版)》【美】Wesley J·Chun

Shell

  • 《Linux Shell脚本攻略》【印】Sarath Lakshman

网络技术
《TCP/IP详解(卷1:协议)》【美】Kevin R.fall;W.Richard Stevens
《Wireshark数据包分析实战》【美】Chris Sanders

安全技术

安全开发

  • 《天书夜读:从汇编语言到Windows内核编程》谭文;邵坚磊
  • 《Rootkit:系统灰色地带的潜伏者》【美】Bill Blunden
  • 《Rootkits——Windows内核的安全防护》【美】Gerg Hoglund;James Butler
  • 《BSD ROOTKIT设计——内核黑客指引书》【美】Joseph Kong
  • 《寒江独钓:Windows内核安全编程》谭文;杨潇;邵坚磊

逆向工程

  • 《加密与解密》段钢
  • 《恶意软件分析诀窍与工具箱——对抗“流氓”软件的技术与利器》【美】Michael Hale Ligh;Steven Adair
  • 《C++反汇编与逆向分析技术揭秘》钱林松;赵海旭
  • 《IDA权威指南》【美】Chris Eagle
  • 《逆向工程权威指南》【乌克兰】Dennis Yurichev,多平台入门大全
  • 《Android软件安全与逆向分析》丰生强
  • 《macOS软件安全与逆向分析》丰生强
  • 《iOS应用逆向工程(第2版)》沙梓社;吴航

Web安全

  • 《黑客攻防技术宝典:Web实战篇》【美】Marcus Pinto,Dafydd Stuttard
  • 《白帽子讲Web安全》吴翰清
  • 《Web安全测试》【美】Paco Hope;Ben Waltber
  • 《Web前端黑客技术揭秘》钟晨鸣;徐少培
  • 《精通脚本黑客》曾云好

软件/系统安全

  • 《0day安全:软件漏洞分析技术(第2版)》王清,入门书籍
  • 《漏洞战争:软件漏洞分析精要》林桠泉,进阶书籍
  • 《捉虫日记》【德】Tobias Klein,进阶书籍
  • 《黑客防线2009缓冲区溢出攻击与防范专辑》
  • 《内核漏洞的利用与防范》【美】Enrico Perla;Massimiliano Oldani
  • 《Fuzzing for Software Security Testing and Quality Assurance(第2版)》【美】Charlie Miller,博文视点翻译中
  • 《iOS Hackers’s Handbook》【美】Charlie Miller,不推荐中文版
  • 《The Mac Hacker’s Handbook》【美】Charlie Miller
  • 《Android安全攻防权威指南》【美】Joshua J.Drake;【西】Pau Oliva Fora;【美】Collin Mulliner
  • 《The Art of Softwar Security Assessment:Identifying and Preventing Software Vulnerabilities》【美】Mark Dowd
  • 《Android Security Cookbook》【美】Keith Makan; Scott Alexander-Bown,中译本《Android安全攻防实战》
  • 《模糊测试-强制性安全漏洞挖掘》【美】Michael Mutton
  • 《Exploit编写系列教程》【美】Corelan Team
  • 《MacOS and iOS Internals,Volume Ⅲ: Security & Insecurity》【美】Jonathan Levin,博文视点翻译中
  • 《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术》【美】Allen Harper;Shon harris
  • 《威胁建模:设计和交付更安全的软件》【美】Adam Shostack

要学会对标,自己学了一些技能,看了一些书,怎么检验自己呢?可以对着余弦大佬提供的技能图表进行对标,这里面包含了一个安全人员必备的技能。
在这里插入图片描述
最后祝你早日成功,如果能帮助你,希望给个友情三连,同时关注我的动态,我最新的技术文章就可以看到!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/778183.html

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

相关文章

docker-compose搭建RocketMq集群

集群架构:双主 机器:172.50.2.41 172.50.2.42 一、创建目录 mkdir -p /docker/alibaba/rocketmq/logs/nameserver mkdir -p /docker/alibaba/rocketmq/logs/broker mkdir -p /docker/alibaba/rocketmq/store/broker mkdir -p /docker/alibaba/rocket…

通过Appium和Accessibility Inspector获取iOS应用元素定位的方法

在 iOS 移动应用程序上使用选择器查找元素定位是我们在移动端 UI 自动化测试的先决条件。 但是,由于应用程序内容在原生 iOS 应用程序中的呈现方式,我们可以用来定位应用程序元素的选择器与 Web 浏览器元素有很大不同。 在本文中,我们将了解 …

Spring Boot 日志文件有什么用

目录 一、自定义打印日志 1.1 日志框架说明 1.2 实现自定义打印日志 1.3 日志的格式说明 2.1 日志的级别 2.2 设置日志级别的作用: 2.3 如何设置日志的级别 二、 日志的持久化 3.1 设置日志保存路径 (在 .yml 配置文件中设置日志保存路径&…

一、二维前缀和算法

文章目录 前缀和模板724. 寻找数组的中心下标238. 除自身以外数组的乘积560. 和为 K 的子数组974. 和可被 K 整除的子数组525. 连续数组1314. 矩阵区域和 前缀和模板 一维前缀和: import java.util.*;public class Main {public static void main(String[] args) …

docker-compose启动minio

一、创建文件夹 mkdir -p /docker/stand-alone-minio/data mkdir -p /docker/stand-alone-minio/configchmod 777 -R /docker/stand-alone-minio/data chmod 777 -R /docker/stand-alone-minio/config 二、docker-compose.yml version: 3.9services:minio:image: minio/mini…

【Vue3基础】计算属性

一、需求 二、代码 1、创建项目 创建项目: 1、 npm init vuelatest 2、一路回车 3、输入项目名,不要大写,如vue3bilibili 4、 cd vue3bilibili 5、 npm install 6、npm run dev启动,可以获取网址 2、App.vue文件中:…

UNIX网络编程卷一 学习笔记 第二十五章 信号驱动式IO

信号驱动式IO指进程预先告知内核,当某个描述符上发生某事时,内核使用信号通知相关进程,它在历史上曾被称为异步IO,但信号驱动式IO不是真正的异步IO,真正的异步IO通常定义为进程执行IO系统调用告知内核启动某个IO操作&a…

Kafka-partition和消费者的关系

Kafka-partition 目录概述需求: 设计思路实现思路分析1.Kafka-partition2.消费者数量小于分区数量3. 拓展实现 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a…

五笔打字练习经验总结

背景 我之前对键盘不太熟悉,打字的速度我测了一下大概是在30/m的样子,于是想提高自己的打字速度,就练习了下,现在大概到了60/m。由于自己打字拼音打字错误率较高,因为手指键位练习不到位,已经很难纠正了。所…

LeetCode[148]排序链表

难度:Medium 题目: 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出&…

IOR的安装及使用

简介 IOR 是一种并行 IO 基准测试,可用于测试使用各种接口和访问模式的并行存储系统的性能。IOR存储库还包括mdtest基准测试,专门测试不同目录结构下存储系统的峰值元数据速率。两个基准测试都使用通用并行 I/O 抽象后端,并依赖 MPI 进行同步…

Vue复选框、下拉框使用案例,复选框选项元素(el-checkbox)换行竖向显示

一、复选框 1、<el-checkbox-group></el-checkbox-group>的选项元素默认是行横向显示 <el-checkbox-groupv-model"additionalPermissionsParams.permissionList"change"permissionChange($event)"><el-checkbox label"10"…

c++学习(红黑树)[20]

概念 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉搜索树&#xff0c;它在插入和删除节点时通过一系列的旋转和重新着色操作来保持树的平衡。红黑树的平衡性质使得它在插入、删除和查找等操作上具有较好的性能。 红黑树具有以下特点&#xff1a; 每个节…

【项目开发】商城 - 三级分类 - 简单笔记

目录标题 后端业务类实体类 前端最终实现效果排序变化批量删除 后端 业务类 // 省略其他简单的CRUDOverridepublic List<CategoryEntity> listWithTree() {// 1、查出所有分类List<CategoryEntity> list baseMapper.selectList(null);// 2. 找出所有的一级分类Li…

NOAA官网下载的气象雷达原始数据转化为NC文件详细步骤

一、准备工作 1.先在NOAA官网下载好气象雷达原始数据 NOAA官网下载气象雷达资料详细步骤_珞瑜的博客-CSDN博客 下载好的雷达数据有两种类型Level-2和Level-3。 如上图所示,为气象雷达数据的Level-2产品,站点名字:K

springboot mybatis-plus 多数据源配置(HikariCP)

1.导入依赖jar <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgres…

iOS--虚拟内存

参考文章 要想了解什么是VM Regions&#xff0c;就得先了解什么是虚拟内存。当我们向系统申请内存时&#xff0c;系统并不会给你返回物理内存的地址&#xff0c;而是给你一个虚拟内存地址。每个进程都拥有相同大小的虚拟地址空间&#xff0c;对于32位的进程&#xff0c;可以拥有…

【N32L40X】学习笔记06-串口dma空闲中断+dma接收数据

串口dma 8 个可独立配置的 DMA 通道。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VchCudlf-1689952378831)(./picture/dma.png)] 实例代码 串口dma使用的是串口绑定方式实现串口的dma数据传输 bsp_uart_dma.h #ifndef _BSP_UART_DMA_H_ #def…

STM32(HAL库)驱动(1.44寸)TFT-LCD彩屏

目录 1、简介 2、CubeMX初始化配置 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 屏幕引脚配置 2.3 项目生成 3、KEIL端程序整合 3.1 LCD驱动添加 3.2 函数修改 3.2.1 lcd.h修改 3.2.2 lcd_innit.h 修改 3.2.3 lcd.c修改 3.2.4 lcd_inut.c修改 3.3 主函数代码 3.3…