网站安全测试
目标: 
 1. 发现网络系统中存在的安全隐患和可能被入侵者利用的安全漏洞 
 2. 与黑客区别: 
· 渗透测试是经过授权的 
· 可控制的、非破坏性的方法 
 3. 宏观上的分类: 
· 黑盒测试 
 不了解目标详细信息的情况,模拟黑客攻击. 
· 白盒测试 
 完全了解,代码审计. 
· 灰盒测试 
 了解一部分东西. 
 4. 思路和细节 
名词解释 
 * 漏洞 
 * POC 
 验证漏洞存在的代码片段 
 * exploit 
 利用(渗透攻击) 
 exp(利用一个漏洞完整的程序) 
 * 提权 
 权限提升 
 获取当前用户所拥有权限之外的权限 
 普通用户 > 管理员 垂直提权 
 普通用户A >普通用户B 水平提权 
 * 后门 
 为了长期控制主机,所种植一段程序或者”入口” 
 shell 命令接口 
 WebShell 从本质上来讲就是一个脚本文件,比如一句话木马 
 * 内网渗透 
 对目标主机所在内网进行渗透 
 * 旁站入侵 
 同一个服务器下运行多个网站 
 * C段入侵 
 同C段下服务器入侵 
 例如,192.168.1.1 
 192.168.1.0/24 
 * HTTP 协议 
 web 依赖于 HTTP 协议 
 * 服务端脚本 
 C/S > B/S (C客户端,B浏览器,S服务器) 
 浏览器——————服务器 
 窗口 提供服务 
 所有的资源(文本和多媒体)都放在服务器上 
 服务器端脚本实现”动态”功能,与浏览器(用户)交互 
 asp/php/jsp/aspx/py/js/… 
渗透测试的流程
渗透测试方法论:用来指导实验. 
 PTES 渗透测试执行标准 
一般简化渗透测试流程: 
 国内分六大步骤, 
 1. 明确目标 
确定范围 
 例如目标:news.baidu.com 
 授权 *.news.baidu.com 
 非授权 tieba.baidu.com www.baidu.com …
 **确定规则** 方法和工具(与客户交流) 例如中国菜刀(第三方工具/工具/后门/木马) 漏扫 AWVS...在数据库中留下垃圾数据 **时间** 
什么时候开始/什么时候结束 一天中的什么时间段 **确定需求** 达到什么样的目标/产出 
2. 信息收集 
 比较重要的一步,收集的信息越多,思路越开阔。 
 基础信息 DNS/IP 系统信息 win2008 linux 应用信息 技术架构: web容器 apache/iis/ 服务端脚本 
/php/asp/aspx/jsp 数据库信息 mysql/msSQL/... 网站源代码 (版权/开源) 网站模板 CMS(网站内容管理系统) 织梦 DZ 
WORDRESS SeaCMS METINFOcms 人员信息(为内网渗透做准备): 身份证号/姓名/年龄/手机号... 很多服务器 --> 账号和密码 
名字拼音+出生年月 公司内部职务 网络管理员 财务 人事 防护信息: 安全策略 安全设备 防火墙/WAF (网络应用防火墙) /IPS/IDS 
绕过设备的规则,进行渗透测试 
3. 漏洞检测(漏洞扫描/漏扫) 
 系统漏洞(永恒之蓝) 
 Web 服务漏洞 Web 容器 提供Web服务 解析漏洞 (apache/iis/nginx...) Web 应用漏洞 XSS 命令注入 文件上传 
文件包含 CSRF 暴力破解 ... 其他端口 通信安全 
4.漏洞验证 
 手工验证 
 工具验证 
 实验验证 
 5. 漏洞利用 
 定制EXP 
 防御绕过(绕过WAF) 
 深度利用(提权) 
 清理痕迹 
 (埋藏后门,客户不允许) 
 6. 形成报告(产出) 
 结果的整理/用汉语表达 
 补充内容 修复建议(重要) 漏洞影响/修补漏洞 漏洞报告 渗透测试报告 
核心围绕漏洞 (重要步骤3、4、5) 
 常见的漏洞及其利用方式
漏洞复现: 
 漏洞原理 
 漏洞危害/影响 
 漏洞的具体场景(比如 union select 1,2,3,… ) 
 漏洞防御方法 
热门工具 换一换
