Web安全测试概述
攻击系统软件可以直接获得root权限,因此黑客喜欢攻击系统软件。防火墙,ACL(访问路由列表)技术兴起,暴露在互联网的系统得到了保护。
所以黑客将目光转向Web应用。
过去直接针对目标进行攻击,比如端口扫描(端口有服务在使用,比如邮件mysql等,得到正在进行的服务便于攻击)、密码爆破、缓冲区溢出
入侵Web服务器手段
1.C段渗透压
2.Service
3.社会工程学:利用人性
渗透测试
通过实际的攻击进行安全测试与评估的方法
1.明确目标
2.信息收集:
收集域名信息:
收集IP信息:一个域名对应多个IP ping nslookup
ping www.baidu.com##命令
nslookup baidu.com##命令
服务器: UnKnown
Address: 111.11.1.1##DNS服务器(解析域名对应IP)
非权威应答:
名称: baidu.com ##域名服务器
Addresses: 220.181.38.251
220.181.38.148
网站工具https://site.ip138.com/
2.2搜索子域名
子域名探测可以帮助我们发现渗透测试中的更多服务,这将增加发现漏洞的可能性。
1.最简单搜索方法:site:baidu.com,这样就搜索到百度域名下的网站。这样会搜索不全。
2.点击Chrom域名前的小锁,点击详细信息,点使用者可选名称。
3.使用工具。
3.查询注册人信息
http://whois.chinaz.com/
查询www.qq.com,得到注册人信息。反差,可以查到邮箱注册了哪些域名。
4.收集web信息
关键字 | 说明 |
---|---|
site | 把搜索范围规定在特定的站点中 |
intext | 正文中存在关键字的网页 |
intitle | 标题中存在关键字的网页 |
inurl | URL存在关键字的网页 |
filetype | 搜索指定文件类型 |
百度搜索
intitle:软件测试 filetype:pdf
得到包含软件测试 的pdf文件。
5.搜集敏感目录
可以被利用的目录:后台目录、上传目录。
敏感目录:robots.txt文件
https://www.baidu.com/robots.txt 这个文件是规定搜索引擎
不允许爬虫的引擎,这些路径不能访问
User-agent: Baiduspider
Disallow: /baidu
Disallow: /s?
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh
扫描敏感目录的工具
DirBuster 输入网址http://www.baidu.com 选择字典 进行爆破。选择字典不同 搜索范围不同。
6.端口扫描
Nmap,也就是Network Mapper “扫描之王”。使用英文系统账户下载。
1.TCPConnect扫描
普通扫描,特点 扫描速度快,准确度高,对操作着没有权限上的要求。
容易被防火墙和防入侵系统发现
原理:三次握手
2.SYN扫描 TCP同步扫描。
秘密扫描的方式之一,缺点需要管理员权限,没有形成三次握手,只进行两次
3.UDP端口扫描(-sU)
对于UDP不存在监听这个概念。
4.Ping扫描
检测网络上哪些主机在运行。
##扫描指定IP所开放的端口
nmap -sS -p 1-65535 -v 10.7.10.7
##扫描www.baidu.com C段存活主机
nmap –sP www.baidu.com/24
##指定端口扫描
nmap –p 80,1433,22,1521 www.baidu.com
##探测主机操作系统
nmap –O 10.7.10.7
##全面系统探测
nmap –v –A 10.7.10.7
##穿透防火墙进行扫描
nmap –Pn –A 10.7.10.7
4.旁站C段
旁站:同服务器其他站点
主站防护比较强,通常很难挖掘到漏洞的。
C段:统一网段其他服务器。
当网站不存在旁站时。就需要进行C段探测,拿到分站管理员权限;比如密码然后去主站撞库。
通过拿下C段服务器进行ARP欺骗达到劫持域名的效果。
产生大量的ARP的包可以造成网络阻塞或者网络中断等危险。
怎么预防?让C段服务器少点
l旁站查询:https://dns.aizhan.com
工具:WebRobot
5.整站分析
服务器的操作系统
网站容器
脚本类型
数据库类型
查看操作系统类型
通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。所以大于100的一般是Windows,而几十的一般是Linux。
Nmap的-O参数
nmap –O 10.7.10.7
网站容器(Apache/Nginx/Tomcat/IIS)
抓包,看响应包中 server信息
云悉WEB资产梳理: www.yunsee.cn
工具whatweb
分析脚本类型(php/jsp/asp/aspx)
url后加 /index.php 或index.asp 或index.jsp
通过爬虫工具爬取网站目录判断网站脚本类型
数据库类型(Mysql/Oracle/Accees/SQL server)
SQL Server默认端口号1433
Mysql默认端口3306
Oracle默认端口1521
云悉WEB资产梳理: www.yunsee.cn
渗透测试铺垫
-
什么是敏捷软件开发(基于迭代) 理解12条原则
-
瀑布模型和敏捷的比较
-
敏捷测试和瀑布测试的比较
-
敏捷开发方法:scrum
3个角色:产品负责人、ScrumMaster、开发团队
3个工件:产品需求列表、sprint需求列表、产品增量
5个事件:sprint计划会议、每日站会、评审会议、回顾会议
5个价值:承诺、专注、开放、尊重、勇气 -
用户故事:三个要素:角色、活动、价值
六个特性:独立的、可讨论的、有价值的、可估算的、小的、可测试的 -
敏捷的测试方法:测试驱动开发、验收驱动开发、行为驱动开发
-
如何构建用户故事地图,优先级:MoSCoW法则,基于MVP的迭代交付
-
看板、看板的作用
-
持续集成、持续交付、持续部署
DevOps:文化观念的改变+自动化工具=不断适应快速变化的市场 -
测试左移和右移
左移:评审、自测、技术对齐、多角色的协作
右移:灰度、监控、问题归因