本文目录一览:
- 1、新手小白想学习渗透和网络安全,从哪里入手?
- 2、如何进行Web渗透测试
- 3、一个完整挖洞/src漏洞实战流程【渗透测试】
- 4、如何学习渗透测试?
- 5、网络安全需要学习什么技术?
- 6、渗透测试学习些啥呀?
新手小白想学习渗透和网络安全,从哪里入手?
基础到入门的学习路线
一、网络安全
网络基础
网络概述
(行业背景+就业方向+课程体系结构)
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 反序列化
五、项目实战
漏洞复现
内网靶机实战
内网攻防对抗
安全服务规范
安全众测项目实战
外网渗透测试实战
六、安全素养
网络安全行业导论
网络安全岗位职责分析
网络安全法认知
网络安全认证
职业人素质
如何进行Web渗透测试
什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行Web渗透测试?
完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;
系统分析威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;
制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
测试执行漏洞挖掘:测试用例执行发散测试,挖掘对应的安全问题or漏洞;
问题修复回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;
项目总结评审:项目过程总结,输出文档评审,相关文档归档。
2、Web应用的渗透测试流程
主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等
脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等
测试方法:
1 爬取网站所有链接,查看后缀
2 直接访问一个不存在页面后面加不同的后缀测试
3 查看robots.txt,查看后缀
服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等
测试方法:
1 查看header,判断服务器类型
2 根据报错信息判断
3 根据默认页面判断
目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。
测试方法
1 使用字典枚举目录
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
数据库类型:对于不同的数据库有不同的测试方法。
测试方法
1 使应用程序报错,查看报错信息
2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)
所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。
测试方法
1 使用字典枚举页面
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
关于开源软件的漏洞发现
开源的软件:常见的开源软件有wordpress、phpbb、dedecms等
开源的框架:常见的开源框架有Struts2、 Spring MVC、ThinkPHP等
中间件服务器:常见的中间件服务器有jboss、tomcat、Weblogic等
数据库服务:常见的数据库服务mssql、mysql、oracle、redis、sybase、MongoDB、DB2等
对于开源软件的测试方法
1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试
2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作
3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan
关于自主开发的应用
手动测试:这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作
软件扫描:使用免费的软件扫描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp关键点
代码安全之上传文件
代码安全之文件包含
代码安全之SSRF
逻辑漏洞之密码重置
逻辑漏洞之支付漏洞
逻辑漏洞之越权访问
平台安全之中间件安全
三、漏洞利用
针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试
手工测试
手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。手工测试不需要额外的辅助工具,可由测试者独立完成,实现起来比较简单。但这种方法高度依赖于测试者,需要测试者对目标比较了解。手工测试可用于Web应用程序、浏览器及其他需要用户交互的程序。
这种方式对于有特殊过滤等操作,或者网络上没有成型的利用工具的时候可以使用。
工具测试
网络上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。
一个完整挖洞/src漏洞实战流程【渗透测试】
只要搞渗透,不就会听到很多行业内人前辈一直在重复:“信息搜集” 信息搜集有多重要,你搜集的到的多少资产信息,决定了你后续进行的一系列实战到什么程度!
要说SQL注入的漏洞咋找,逻辑漏洞咋找,支付漏洞咋找,越权漏洞咋找,等等
实这都一个道理,用谷歌语法,找通杀用fofa,这里演示几个类型的漏洞,其它的也是一个道理。
第一个: SQL注入漏洞
AS:首先是SQL注入的,这个漏洞说实话,基本就是谷歌语法找的快,
语法: inurl:asp?id=23公司,这时候你会问:不是inurl:asp?id= 就行了吗,当然!
这可以!如果你想找到一些奇奇怪怪的站可以用这个,比如:
这时候明白接公司的重要性了吧,这里找的是asp的站,为啥找asp的站?
其中一一个最重要的原因就是因为他,好挖!
当然这里只是找了一小部分站点的, 如果突然发现重复了咋办?
这个简单,换个id就行了同学!
inurl:asp?id-34公司,这里的id 值不断的变变变就行了,你们也可以对比一下
这是不是就不一样了,当然如果有兴趣的话,也可以搜搜inurl :php?id=12公司
这也是可以找到很多站的,不过加WAF的几率很大
我找了10个9个都加过,所以说要想上分上的快,asp 的站绝对不能落下!
这里我就不多叙述,因为这站好找,真的特别好找,但是要想能弱密码进去的却很少
直接上镜像站一放inurl:什么牛鬼蛇神都出来了,这后台管理的站可以说是非常多了
当然如果不想找到国外其它奇奇怪怪的站点的话,建议加个关键词公司
可以看到这里一堆后台,当然要渗透这些后台弱密码很少能进去了
你看到我打inur1: 它自动给我补齐关键词了吗,说明这玩意很多人挖
一般搞后台,先信息收集,这个等会说,反正我是没搞到过几个
这种漏洞咋找?商城,积分商城。
试试谷歌语法: info:商城AND积分商城
这不全是商城吗,当然对于一些大厂, 建议不要去搞
因为防护也会比一般的站点比较严格,况且现在做在线网上商城的站点也很少了
其实可以在漏洞挖掘的时候注意一下站点是否有paypal这个功能,有的话,可以搞一搞的,这还是有搞头的
再来就是逻辑漏洞,比如说平行,垂直越权,任意密码重置啊什么的。这类漏洞还是很多的,大家也可以去慢慢测的!
最后一个,通杀的漏洞咋找?
这时候就是要靠我们万能的fofaQ了,首先我们要知道有哪些cms有漏洞
这里大家可以去找网上的漏洞库,里面- -般都会有漏洞合集和这里我稍后会给大家推荐一两个
看到没有,就是这么多cms,杀一个准,上分必备漏洞
不过有些重复提交了,可以给你们看看学员们的战果!
当然,重复了几个,但还是相当不错了。
看完开头,相信你已经知道怎么找漏洞了,那我们就说说漏洞如何挖掘,这里分事件型和通用型漏洞
首先来的,肯定是我们的sq1注入了,首先使用我们的通用语法inurl:asp?id=xx 公司
直接点进去,不要害怕,只要不违法,咱不干坏事就行
看到报错了,说明啥,说明可能存在注入啊朋友,直接and 1=1 |and 1=2插进去
经过一番寻找,我们来到了这个网站:
看到网站直接插单引号,看他报不报错
看到效果十分明显,这种情况直接丢sqlmap9 ,反正我是丢的sqlmap , 大家如果时间充足的话可以上手
下一个站,这个站存在的漏洞是任意密码重置和CSRF漏洞
首先是CSRF漏洞,相信不用我说你们也应该会了,这里就是这点出现漏洞
你们可以自己去测测,这里说我主要说的是任意密码重置漏洞
(这个漏洞现在也已经被修复了)
在这一步的时候, 抓个包
这里再改成自己的邮箱,这样自己的邮箱就能接收到验证链接,直接点击就好
看到这里,支付漏洞 和验证码绕过之类的逻辑漏洞是不是感觉+分的好挖,有没有这种感觉!
这里类型比较多,篇幅太长不好阅读。举例这两种做参考~
三、提交报告
例如baidu.com发现了SQL注入
第一步:“标题”和“厂商信息”和“所属域名”
站长工具icp.chinaz.com/baidu.co...
查询域名备案信息,看到这个公司名了吗
这样写
漏洞类别啥的,如果不是0day的话,像图中一样就行了
所属域名要写该公司的“网站首页”或者“官网”
看到这个了吗
漏洞类型: -般都是Web漏洞,然后漏洞是什么写什么,这里是一个SQL注入。
漏洞等级: SQL注入-般都是高危,但如果厂商比较小的话,会降级,降成中危。
漏洞简述:描述一下SQL注入是什么、 有什么危害之类的。
漏洞url:出现漏洞的URL。
影响参数:哪个参数可以注入就写哪个
漏洞POC请求包: Burp抓个包复制粘贴。
如果你嫌每次打字麻烦,可以新建一个记事本, 把框架写好,提交的时候替换一些内容就可以了。
把标题、漏洞简述、复现步骤、修复方案,把标题、漏洞简述、复现步骤、修复方案,可以省不少时间!
今天的内容虽然偏长,但是都是干货呀!从找漏洞到提交直接一步到位! 安排的明明白白!
注:任何未经授权的渗透都是违法行为,咱们挖SRC,担心会违法,记住一点, 点到为止,不要动里面的数据,发现漏洞之后,尽快提交漏洞,联系厂商进行修复。
如何学习渗透测试?
首先要根据自己的实际情况、确定学习的路线和方向的。就像建大楼,从顶端最华丽的那个地方开始,不可能成功。学渗透测试也一样,没选对入手的地方,导致学习过程中由于欠缺很多的知识点、很多概念理解不了、学习举步维艰、很容易半途而废。
现在我来分析下:
渗透测试属于信息安全行业,准确的说是网络计算机/IT行业
知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机网络相关专业的同学想要学习渗透测试必须掌握的知识。
1)了解基本的网络知识、什么是IP地址(63.62.61.123),这个IP去掉点是扣扣学习群,可以免费获取学习课程。IP地址的基本概念IP地址的基本概念、IP段划分、什么是A段、B段、C段等
广域网、局域网、相关概念和IP地址划分范围。
2)端口的基本概念?端口的分类?
3)域名的基本概念、什么是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、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等
3)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等
2、Google hacker 语法学习
3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等
4、漏洞挖掘学习
5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。
6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习
7、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等
8、深入学习一门语言、Java或者Python等等,建议学习从Python开始学习、简单易学,容易上手。
9、提升自己的专业能力、把自己练成一个技术大牛、能给你带来一份稳定的高薪水工作,同时你还可利用自己的技术,额外的接些单子,做做副业,这个行业里是有很多单子可以接的。
10、当然想了解的可以来找我,我有时间会给你们答疑解惑的
网络安全需要学习什么技术?
如果你是零基础,且自制力较差,建议参加培训班学习;如果你有相关IT工作经验,且自学能力较强,可以考虑自学,根据个人的实际情况来决定。如需学习网络安全技术,可以来老男孩教育试听哦。主要需要学习以下内容:
第一部分,基础篇,包括安全导论、安全法律法规、web安全与风险、攻防环境搭建、核心防御机制、HTMLJS、PHP编程等。
第二部分,渗透测试,包括渗透测试概述、信息收集与社工技巧、渗透测试工具使用、协议渗透、web渗透、系统渗透、中间件渗透、内网渗透、渗透测试报告编写、源码审计工具使用、PHP代码审计、web安全防御等。
第三部分,等级保护,包括定级备案、差距评估、规划设计、安全整改、等保测评等。
第四部分,风险评估,包括项目准备与气动、资产识别、脆弱性识别、安全措施识别、资产分析、脆弱性分析、综合风险分析、措施规划、报告输出、项目验收等。
第五部分,安全巡检,包括漏洞扫描、策略检查、日志审计、监控分析、行业巡检、巡检总体汇总报告等。
第六部分,应急响应,应急响应流程、实战网络应急处理、实战Windows应急处理、实战Linux应急处理、实战、Web站点应急处理、数据防泄露、实战行业应急处理、应急响应报告等。
渗透测试学习些啥呀?
渗透测试需要的基础技能必须有网络基础、编程基础、数据库基础、操作系统等基本技能。学习的话可以从html、css、js、编程语言、协议包分析、网络互联原理、数据库语法等进入,学习了这些基础技能之后,就可以进行渗透测试的深入学习了,如web方面的学习OWASP TOP 10漏洞挖掘、主机系统服务漏洞检测、App漏洞检测、内网渗透等方面,最后当然是能够编写渗透测试报告啦。