2026-01-01 22:17:14
渗透测试思路总结如下:
一、渗透测试流程概述渗透测试需遵循系统化流程,结合自动化工具与手动分析,核心步骤包括:
确定服务及版本:通过端口扫描(Nmap)和版本探测(如nmap -sV)获取服务名称及版本(如Tomcat 8.5.14)。
漏洞库查询:
CVE漏洞库:访问
Mitre CVE:通过
EXP获取途径:
漏洞详情页:在CVE Details或Mitre的“References”部分查找EXP链接(如Exploit-DB、Metasploit模块)。
专用数据库:
Metasploit:msfconsole中执行search <漏洞名>更新模块库后搜索。
Exploit-DB:使用searchsploit命令或访问
GitHub:通过关键词搜索(如CVE-2017-12617 exploit)。
系统扫描器:OpenVAS等工具可辅助发现已知漏洞,但需结合手动验证。
查询CVE Details,确认存在CVE-2017-12617(未授权上传WAR文件漏洞)。
在Exploit-DB下载对应EXP,或使用Metasploit模块exploit/multi/http/tomcat_mgr_upload。
配置模块参数(RHOST、RPORT、用户名密码等),执行攻击获取Shell。
信息收集:
基础信息:真实IP、CMS类型(如WordPress)、框架(如Struts)、中间件(如WebLogic)。
攻击面解析:使用AWVS爬虫、Dirb爆破目录、Nmap扫描端口,发现隐藏接口或参数。
业务漏洞检测:
身份认证:检测注册/登录逻辑(如短信炸弹、验证码复用)、密码重置漏洞。
会话管理:验证会话ID生成机制、自动退出功能、退出后ID失效性。
访问控制:测试水平/垂直越权(如普通用户访问管理员页面)。
业务逻辑:检查价格修改、多步功能跳过、请求次数限制绕过等。
技术型漏洞检测:
输入验证:SQL注入(and '1'='1)、XSS(<script>alert(1)</script>)、CSRF(伪造请求)。
文件操作:上传绕过(双扩展名)、目录遍历(../../etc/passwd)。
系统命令:命令注入(;cat /etc/passwd)、重定向注入(参数拼接URL)。
注册功能:测试重复注册、短信验证码爆破。
上传功能:尝试上传.jsp文件(若仅限制.jpg),或修改Content-Type绕过验证。
技术漏洞:在用户名输入框注入SQL语句,使用Burp Suite拦截请求并修改参数。
Browser Autopwd:构造恶意网页溢出浏览器。
MS10_087:生成畸形文件触发目标软件漏洞。
Adobe Cooltype Sing:攻击Adobe Reader的U3D解析漏洞。
木马生成:使用msfvenom生成含Payload的EXE/APK文件。
钓鱼网站:通过SEToolkit克隆登录页面,诱导用户输入凭证。
信息搜集:利用邮箱/手机号在社交平台、Pastebin等站点挖掘关联信息。
WiFi破解:使用Aircrack-ng捕获握手包并暴力破解密码。
假冒AP:通过Airmon-ng架设恶意热点,结合Karma攻击强制设备连接。
Meterpreter:替代系统Shell,支持文件上传/下载、端口转发。
日志清除:删除/var/log/或C:WindowsSystem32winevtLogs中的记录。
横向移动:使用PsExec、WMI命令控制内网其他主机。