1、渗透测试范围
-
操作系统:windows、solaris、aix、linux等
-
应用系统:web、ftp、mail、dns、网盘等应用系统
-
网络设备:各种防火墙、入侵检测系统、网络路由交换设备
-
数据库系统:mysql、oracle、db2等数据库
-
安全管理:安全管理的规章制度、业务流程等
2、渗透测试流程
- 明确目标–>信息收集–>信息整理–>信息分析–>漏洞探测–>漏洞验证–>获取所需–>形成报告
3、各类信息收集手段
3.1、whois信息
-
whois信息可以获取关键注册人的信息,包括注册公司、注册邮箱、管理邮箱、管理员联系手机等。
-
kali下集成whois工具,例:whois baidu.com
3.2、目标IP
-
子域名搜集的越完整,那么挖到的漏洞就可能更多
-
kali下可以使用host进行解析域名,例:host www.baidu.com
3.3、旁站C段查询
-
旁站是和目标网站在同一台服务器上的其他的网站
-
www.webscan.cc可以实现爬取旁站
3.4、子域名信息
- 子域名搜集的越完整,那么挖到的漏洞就可能更多
- layer-子域名挖掘机
3.5、邮箱收集
- 首先确定目标的邮件服务器所在的真实位置,看看邮件服务器自身有没有什么错误配置
3.6、CMS类型
- 有了目标的CMS,就可以利用相关的bug进行测试,进行代码审计
3.7、端口信息
- 每开启一个端口,那么攻击面就大了一点,开启的端口越多,也就意味着服务器面面临的威胁更大
3.8、服务器与中间件信息
- 通过Nmap、Zmap等端口和指纹识别功能的收集,也可以使用nc和telnet获取Banner信息进行识别
4、sql注入原理及代码解析
-
客户端:参数值等数据被修改
-
服务端:未经检查和过滤即将被修改的数据注入到SQL命令中,SQL命令功能被修改
-
数据库引擎:执行被修改后的SQL命令
-
服务端:将注入的结果返回给客户端
-
客户端:根据上一次注入获取到的敏感信息构造注入语句进行进一步注入
5、反序列化漏洞
- 在OSI七层协议模型中展现层(presentationLayer)的主要功能是把应用层的对象转换成一段连续的二进制串,或者反过来,把二进制串转换成应用层的对象----这两个功能就是序列化和反序列化
6、任意文件读取
6.1、权限过大
- 赋予应用层的权限过大,导致漏洞产生后可以访问敏感文件
6.2、控制不严
- 控制不严格导致恶意用户可以访问额外的资源
7、逻辑漏洞大概思路
7.1、重置任意用户密码
- 验证码类缺陷、未校验权限、HOST头伪造、找回密码的凭证脆弱
7.2、支付逻辑漏洞
- 无验证步骤跳跃、金额修改、数量修改、sign值可逆
7.3、验证码绕过
- 图形类验证码绕过、短信类验证码绕过、短信/语言验证码重放、无限制发送
7.4、加密算法脆弱
- 前端呈现加密算法代码、算法脆弱,明文可判断
7.5、逻辑校验问题
- 代码层逻辑校验问题、手机号可遍历发送
8、后渗透及内网漫游
8.1、信息收集
- 内网服务器数量、内网服务器开放端口、内网安全设备、内网域控服务器、内网网络拓扑
8.2、内网穿透
- 搭建SOCKS5代理、FRP端口映射
8.3、资料回传
- 内网信息、敏感文件
8.4、权限维持
- meterpreter、木马后门