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

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

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

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

相关文章:

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

1.选择方向 首先是选择方向的问题,网络安全是一个很宽泛的专业,包含的方向特别多。比如 web安全,系统安全,无线安全 ,二进制安全,运维安全,渗透测试,软件安全,IOT安全&a…...

全志F1C200S嵌入式驱动开发(基于usb otg的spi-nor镜像烧入)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面既然已经搞定了spi-nor驱动,那么下一步考虑的就是怎么从spi-nor flash上面加载uboot、kernel和rootfs。目前spi-nor就是一块白片,上面肯定什么都没有,那么这个时候,我们要做…...

如何恢复损坏/删除的 Word 文件

有关如何修复不可读的 Microsoft Word 文件或 Rich Text 文件中的文本的分步说明。这些说明有助于从损坏的*.doc、*.docx、*.dot、*.dotx、*.rtf文件(任何版本和大小)中提取文本,只需单击几下: 从此处下载奇客数据恢复 &#xff…...

【论文阅读】Feature Inference Attack on Shapley Values

摘要 研究背景 近年来,解释性机器学习逐渐成为一个热门的研究领域。解释性机器学习可以帮助我们理解机器学习模型是如何进行预测的,它可以提高模型的可信度和可解释性。Shapley值是一种解释机器学习模型预测结果的方法,它可以计算每个特征对…...

TDesign 中后台系统搭建

目录 1 模板安装2 启动项目3 添加页面总结 一般如果希望开发小程序,是要给使用的用户提供一套中后台系统来管理数据的。现在中后台系统开源项目也比较多,本篇我们介绍一个腾讯开源的TDesign模板。 1 模板安装 先要在电脑里安装好nodejs,搜索…...

Android 实现阅读用户协议的文字控件效果

开发中&#xff0c;经常要用到一些阅读隐私协议的场景&#xff0c;原生的textview控件很难做到在一个控件里有两个点击事件&#xff0c;那现在就来安利一个强大的组件——SpannableStringBuilder。 先看看效果&#xff1a; 直接上代码&#xff0c;布局文件&#xff1a; <Li…...

19.主题时钟

主题时钟 html部分 <div class"btn">黑色</div><div class"clock-container"><div class"time">21</div><div class"date">21</div><div class"clock"><div class&qu…...

ChatGPT在智能电子设备中的应用如何?

ChatGPT在智能电子设备中有着广泛的应用潜力&#xff0c;可以为电子设备提供更智能、更个性化的用户体验&#xff0c;并为用户提供更多便利和高效的功能和服务。智能电子设备是指通过集成计算机、传感器、网络和人工智能等技术&#xff0c;实现智能化的功能和交互的设备。ChatG…...

MGRE之OSPF实验

目录 题目&#xff1a; 步骤二&#xff1a;拓扑设计与地址规划​编辑 步骤三&#xff1a;IP地址配置 步骤四&#xff1a;缺省路由配置 步骤五&#xff1a;NAT的配置 步骤六&#xff1a;MGRE配置 中心站点R1配置 分支站点配置 中心站点R5 R1配置 分支站点配置 检测&…...

【Selenium+Pytest+allure报告生成自动化测试框架】附带项目源码和项目部署文档

目录 前言 【文章末尾给大家留下了大量的福利】 测试框架简介 首先管理时间 添加配置文件 conf.py config.ini 读取配置文件 记录操作日志 简单理解POM模型 简单学习元素定位 管理页面元素 封装Selenium基类 创建页面对象 简单了解Pytest pytest.ini 编写测试…...

如何负载均衡中的日志统一管理

详细部署步骤&#xff1a;将负载均衡中的日志统一管理 调研和规划 确定日志管理的需求和目标。调研可用的日志收集工具和中心化存储系统。 选择合适的日志收集工具 根据需求选择适合负载均衡环境的日志收集工具&#xff0c;如Logstash、Fluentd或Filebeat。 在负载均衡服务器…...

Java_26_Stream流

Stream 什么是Stream流&#xff1f; 在Java 8中&#xff0c;得益于Lambda所带来的函数式编程&#xff0c; 引入了一个全新的Stream流概念 &#xff0c;用于解决已有集合/数组类库有的弊端。 Stream流能解决什么问题? 可以解决已有集合类库或者数组API的弊端。 Stream认为集合…...

周四见 | 物流人的一周资讯

京东支付年活跃用户数超1.9亿 7月27日消息&#xff0c;京东科技发布2022年环境、社会及公司治理报告。报告显示&#xff0c;在推动社会公平方面&#xff0c;2022年京东科技帮助超207万家中小微企业实现数智化转型&#xff0c;为42万中小微企业提供贷款&#xff0c;节省融资成本…...

uniapp 即时通讯开发流程详解

今天我将为您详细介绍UniApp开发中的即时通讯流程。本文将向您展示如何在UniApp中实现即时通讯功能&#xff0c;为您的应用程序增添交互性和实时性。 1. 准备工作 在开始开发之前&#xff0c;确保您已完成以下准备工作&#xff1a; 确保您已经安装好UniApp开发环境&#xff…...

【Terraform学习】Terraform-docker部署快速入门(快速入门)

Terraform-docker部署快速入门 实验步骤 创建 EC2 IAM 角色 导航到IAM 在左侧菜单中&#xff0c;单击角色 。单击创建角色该按钮以创建新的 IAM 角色。 在创建角色部分&#xff0c;为角色选择可信实体类型&#xff1a; AWS 服务 使用案例:EC2 单击下一步 添加权限&#x…...

C# 全局响应Ctrl+Alt+鼠标右键

一、简述 某些应用&#xff0c;我们希望全局自定义热键。按键少了会和别的应用程序冲突&#xff0c;按键多了可定用户操作不变。因此我计划左手用CtrlAlt&#xff0c;右手用鼠标右键呼出我自定义的菜单。 我使用键盘和鼠标事件进行简单测试&#xff08;Ctrl鼠标右键&#xff…...

【Leetcode】54.螺旋矩阵

一、题目 1、题目描述 给你一个 m m m 行 n n n 列的矩阵 matrix,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例1: 输入:matrix =...

怎样计算一个算法的复杂度?

分析一个算法主要看这个算法的执行需要多少机器资源。在各种机器资源中&#xff0c;时间和空间是两个最主要的方面。因此&#xff0c;在进行算法分析时&#xff0c;人们最关心的就是运行算法所要花费的时间和算法中使用的各种数据所占用的空间资源。算法所花费的时间通常称为时…...

【问题记录】Ubuntu 22.04 环境下,打开 VS Code 老是访问密钥环该怎么解决?

目录 环境 问题情况 解决方法 环境 VMware Workstation 16 Pro &#xff08;版本&#xff1a;16.1.2 build-17966106&#xff09;ubuntu-22.04.2-desktop-amd64 问题情况 在Ubuntu下&#xff0c;每次运行 VS Code时&#xff0c;老是提示要输入密钥密码来解锁保存在密钥环&am…...

format格式化输出语法详解

hello&#xff0c;这里是Token_w的文章&#xff0c;主要讲解python的基础学习&#xff0c;希望对大家有所帮助 整理不易&#xff0c;感觉还不错的可以点赞收藏评论支持&#xff0c;感谢&#xff01; 使用 % 操作符对各种类型的数据进行格式化输出&#xff0c;这是早期 Python提…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

若依登录用户名和密码加密

/*** 获取公钥&#xff1a;前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...