一、网站渗透测试流程
1、明确目标
1.1 确定范围:测试目标的范围
1.1.1 IP:ip地址有哪几个
1.1.2 域名:域名包含子域名还是www.abc.com
1.1.3 内外网:挖掘到注入漏洞其他的SSRF是否还要检查内网的服务
1.2 确认规则:能渗透到什么程度,时间(白天、晚上)?能否修改上传?能否提权(拿到root权限)等
1.3 确定需求:web应用的漏洞(新上线程序)?业务逻辑漏洞(针对业务的)?人员权限管理漏洞(针对人员、权限)?
1.4 根据需求和自己技术能力来确定能不能做,能做多少
2、信息收集
2.1 方式:主动扫描,开放搜索等
2.2 开放搜索:利用搜索引擎获得,后台,未授权页面,敏感url等
2.3 基础信息:IP,网段,域名,端口
2.4 系统信息:操作系统版本
2.5 应用信息:各端口的应用,例如web应用,邮件应用等等
2.6 版本信息:所有这些探测到的东西的版本
2.7 服务信息
2.8 人员信息:域名注册人员信息,web应用中网站发帖人的id,管理员姓名等
2.9 防护信息:试着看能否探测到防护设备
- 通过ip地址获取安装的操作系统是什么
- 测试安装了什么服务,mysql(开启3306端口等等)
- 域名注册信息,填写邮箱或填写某些信息注册了账号
- 有无安装防护墙(加密狗等等)
3、漏洞探测
3.1 利用上一步中列出的各种系统,应用等使用相应的漏洞
3.2 方法:
- 漏扫,awvs,IBM,appscan等
- 结合漏洞去exploit-db等位置找利用
- 在网上寻找验证poc
3.3 内容:
- 系统漏洞:系统没有及时打补丁(可根据某些系统没有及时打补丁有哪些漏洞,可根据这个看看是否能利用)
- webserver漏洞:webserver配置问题
- web应用漏洞:web应用开发问题
- 其他端口服务漏洞:各种21/8080(st2)/7001/22/3389
- 通信安全:明文传输,token在cookie中传输等
3.4 漏洞验证
将上一步发现有可能可以成功利用的全部漏洞多验证一遍。结合实际情况,搭建模拟环境进行试验,成功后再应用于目标中
- 自动化验证:结合自动化扫描工具提供的结果
- 手工验证,根据公开资源进行验证
- 试验验证:自己搭建模拟环境进行验证
- 登录猜测:有时可以尝试猜解一下登录口感的账号密码等信息
- 业务漏洞验证:如发现业务漏洞,要进行验证
3.5 形成报告
- 按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
- 补充介绍:要对漏洞成因,验证过程和带来危害进行分析
- 修补建议:当然要对所有产生的问题提出合理高效安全的解决方法
二、扫描器
1、什么是漏洞扫描器
1.1 漏洞扫描器是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测行为
1.2 漏洞扫描器包括网络漏扫、主机漏扫、数据库漏扫、web站点漏洞等不同种类
2、web站点漏洞
2.1 Appscan(漏洞数据库比较全面,扫描出来的漏洞比较多,但扫描速度比较慢)
2.2 AWVS(只有英文界面,扫描速度比appscan快)
2.3 Xray+rad(漏洞扫描速度比较快,没有图形化界面)
2.4 Burp Suite(安全检测平台,既有漏洞扫描的功能、同时结合手工分析)
三、sql注入
1、漏洞原理
1.1 使用用户的参数拼接sql语句
1.2 参数改变了原sql语句的结构
1.3 查询用户表的所有数据 select * from user_profile where id='1' or 1='1';
2、注入方式
2.1 回显注入 主要通过页面搜集一些数据信息
2.1.1 定义:利用注入漏洞可以改变页面返回数据,则称之为回显注入
2.2 报错注入 通过搜集页面的错误信息,搜集数据库的错误信息进一步利用
2.2.1 报错注入通过页面返回的异常信息,手机数据库的关键信息,如用户名,数据库地址
2.2.2 在URL加入一些错误的sql语句,被执行后返回了异常信息,异常信息当红包含了敏感信息,可以通过屏蔽数据库连接错误来防范此措施
2.3 盲注
2.3.1 盲注通过间接信息来获取数据,如:时间或逻辑判断,分为如下两类
2.3.2 布尔盲注:通过条件是否成立来判断,成立则页面返回数据
2.3.3 时间盲注:通过返回时间的长短判断,不成立延时5秒返回
2.4 漏洞类型
2.4.1 常规注入
2.4.2 宽字节注入
- 宽字节注入:利用了GBK等多字节编码的特性
2.4.3 其他注入
四、手工注入
1、手工注入技巧
1.1 寻找与数据库交互的相关页面
1.2 http://域名.asp?id=xx(ASP注入)
http://域名.php?id=xx(php注入)
http://域名.jsp?id=xx (jsp注入)
1.3 登录的地方、更新的地方、注册的地方、留言板等
可能出现注入的地方:http头、cookies、referee、user agent、post提交数据包的地方等
本文详细介绍了网站渗透测试的流程,包括明确目标、信息收集和漏洞探测。重点讨论了如何进行信息收集,如利用搜索引擎获取敏感信息,以及系统、应用和版本信息的探测。此外,还讲解了漏洞探测的方法,如漏扫工具的使用和sql注入的原理及验证。文章还提到了扫描器的作用和不同类型的扫描器,如AppScan、AWVS等。对于SQL注入,解释了其原理和常见注入方式。最后,强调了手工注入的重要性及技巧,如寻找注入点和利用HTTP参数进行测试。
3778

被折叠的 条评论
为什么被折叠?



