
一、网络安全
网络基础
网络概述
(行业背景+就业方向+课程体系结构)
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
远程访问
网络安全基线
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 工作机制
>
什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行Web渗透测试?
完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;
系统分析&威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;
制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
测试执行&漏洞挖掘:测试用例执行&发散测试,挖掘对应的安全问题or漏洞;
问题修复&回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;
项目总结评审:项目过程总结,输出文档评审,相关文档归档。
2、Web应用的渗透测试流程
主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等
脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等
测试方法:
1 爬取网站所有链接,查看后缀
2 直接访问一个不存在页面后面加不同的后缀测试
3 查看robotstxt,查看后缀
服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等
测试方法:
1 查看header,判断服务器类型
2 根据报错信息判断
3 根据默认页面判断
目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。
测试方法
1 使用字典枚举目录
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robotstxt是否泄漏
使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
数据库类型:对于不同的数据库有不同的测试方法。
测试方法
1 使应用程序报错,查看报错信息
2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)
所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。
测试方法
1 使用字典枚举页面
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robotstxt是否泄漏
用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
关于开源软件的漏洞发现
开源的软件:常见的开源软件有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等。
新建一个文本文件,更改扩展名为aabbudl双击此文件,选数据库类型、设置ip、用户名、密码,数据库可进行连接测试 ,当然对方要开sql服务的测试成功后,点确定将这个文件以文本方式打开, 里面有连接字符串,装sql 查询分析器。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)