啦啦啦啦

3 阅读15分钟
  1. 渗透测试的完整流程是什么? 这是一道开场题,考察对渗透测试整体过程的理解和把控能力。一个规范的渗透测试通常遵循以下标准流程:
  • 前期交互阶段:与客户沟通,明确测试目标、范围、规则(是否可以社工、扫描强度等)和预期交付成果。
  • 情报搜集阶段:通过各种手段(包括主动扫描和被动信息收集)获取目标系统的信息,如域名Whois、子域名、开放端口、服务版本、服务器系统版本、容器版本、程序版本、敏感目录等。
  • 威胁建模阶段:根据收集到的信息,分析系统可能存在的薄弱点,制定攻击计划,确定最可行的攻击路径。
  • 漏洞分析阶段:结合扫描器和手动方式,对目标进行深入的漏洞探测和验证,寻找SQL注入、XSS、文件上传、命令执行等安全漏洞。
  • 渗透攻击阶段:尝试利用已发现的漏洞,突破目标系统的防御,获取一定的访问权限(如WebShell)。
  • 后渗透攻击阶段:在获得权限后,进行权限提升、内网横向移动、维持访问(植入后门)、收集敏感信息等操作,模拟攻击者在攻陷系统后的行为。
  • 报告阶段:整理整个测试过程,输出专业的渗透测试报告,包含发现的漏洞、风险等级、利用过程截图以及详细的修复建议。
  1. SQL注入漏洞的原理、分类及常见的判断方法? SQL注入是最经典的Web漏洞之一,此题考察对漏洞本质的理解和手动挖掘能力。
  • 原理:SQL注入是因为Web应用在接收用户输入后,未对输入的SQL特殊字符(如 ‘, “, or, union, #等)进行过滤或转义,直接将用户输入拼接进SQL查询语句,导致攻击者可以篡改SQL语句的执行逻辑,从而实现查询、修改、删除数据甚至控制服务器的目的。
  • 分类:可以从不同维度进行分类:
    • 按注入点位置:GET型、POST型(如表单)、Cookie型。
    • 按数据获取方式:联合查询注入(Union,有回显)、报错注入(有错误信息)、布尔盲注(页面返回True/False)、时间盲注(通过页面响应时间判断)、堆叠查询注入(;,可执行多条语句)。
  • 手工判断方法:以一个URL http://xxx.com/xxx?id=1为例:
    1. 加单引号:id=1‘,如果页面返回错误或与正常页面不一致,可能存在注入。
    2. 逻辑判断:id=1 and 1=1页面正常,id=1 and 1=2页面异常,则基本可以确定存在布尔盲注。
    3. order by 猜测字段数:通过递增order by后的数字,直到页面出错,可以判断出查询字段的数量。
  1. 什么是XSS漏洞?如何有效防御? XSS是与SQL注入并列的常见漏洞,此题考察对客户端攻击的理解和纵深防御思想。
  • 原理:XSS(跨站脚本攻击)是指Web应用未对用户输入的HTML/JavaScript脚本进行过滤或转义,导致恶意脚本在浏览器中执行,从而实现窃取Cookie、钓鱼欺诈、篡改页面等攻击。
  • 分类:
    • 反射型:恶意脚本不存储在服务器,而是通过URL参数传入,需要诱导用户点击恶意链接触发。
    • 存储型:恶意脚本被存储在服务器数据库(如评论区),所有访问该页面的用户都会触发,危害最高。
    • DOM型:通过篡改页面DOM结构触发,脚本执行在客户端,不经过服务器,隐蔽性较强。
  • 防御措施:
    • 输入过滤:对用户输入的内容进行严格过滤,移除或转义HTML标签和JavaScript关键字。
    • 输出编码:在将数据输出到HTML页面时,根据上下文(HTML属性、JavaScript代码区等)进行相应的编码,如将<转义为&lt;。
    • 使用HTTP Only标志:在设置Cookie时添加HttpOnly属性,禁止客户端的JavaScript脚本读取Cookie,从而有效降低XSS盗取Cookie的风险。
    • 内容安全策略(CSP):配置CSP响应头,限制浏览器只从可信来源加载资源(如脚本、样式表),即使攻击者注入了恶意脚本,浏览器也不会执行。
  1. 文件上传漏洞常见的绕过方式有哪些? 此题考察实战中对漏洞利用的深度和广度,以及面对WAF时的思路。
  • 测试流程与绕过方法:
    1. 前端JavaScript校验:直接抓包修改文件内容或后缀,绕过前端限制。
    2. 服务端MIME类型验证:抓包修改Content-Type头,例如从application/x-php改为image/jpeg。
    3. 服务端后缀黑名单验证:
    • 特殊后缀:尝试test.php5、test.phtml、test.asa等服务器可能解析的后缀。
    • 大小写混合:test.PhP。
    • 利用系统特性:test.php.(Windows系统会自动去除末尾点和空格)、test.php%00.jpg(%00截断,依赖PHP版本和配置)。
    • 双写绕过:test.pphphp(若程序只替换一次)。
    1. 文件内容验证:
    • 图片马:制作包含恶意代码的图片文件,例如copy 1.jpg/b + shell.php/a webshell.jpg,然后配合文件包含漏洞或服务器解析漏洞执行。
    • 二次渲染绕过:针对会二次渲染的图片上传功能,需要找到渲染后仍保留恶意代码的图片。
    1. WAF绕过:
    • 数据污染:构造filename=“test.php&filename=test.jpg”,让WAF和后台解析的变量名不一致。

    • 使用换行符或分块传输:在请求包中插入换行或使用分块传输编码,干扰WAF的规则匹配。

(六)CVE-2022-28524 (24分)

●形成原因:该漏洞存在于 post.php 组件中,由于程序对用户输入的数据过滤和验证不严格,导致攻击者可以通过特制的 SQL 查询注入代码,进而访问或篡改数据库中的数据。 ●影响范围:使用 ED01-CMS v20180505 版本的系统。 ●危险等级:该漏洞的 CVSS 3.1 基础评分为 9.8,属于 “严重” 级别。 ●检测工具:Sqlmap ●名称:SQL 注入漏洞 ●触发漏洞的代码

(七) 虚拟机漏洞查找(问答题部分8分 操作6分)

1.修复文档编写 当前虚拟机存在空口令用户,数据库存在弱密码、ftp未授权存在匿名 用户的情况、http服务存在目录遍历漏洞,为解决上述漏洞,需要删除对应的用户、更改数据库的密码、修改ftp配置文件,修改http配置文件(*注意,请把上述的文字用自己的方式写出来,避免雷同) 2.修复过程(需要截图)(注意视频中的操作顺序 做个笔记) (1).删除空用户 userdel kkk (2). 禁止匿名用户访问ftp anonymous_enable=NO

(九) 御剑扫描(22分)后台登录

测试过程中使用工具的名称 御剑和burpsuite 敏感文件名称 robots.txt、zidian.txt、admin.php 安全压力测试策略 (五句话是一个意思、选一个背自己再适当调整) 1.通过 Burp Suite 执行后台账户密码暴力破解时,逐步增加线程数量,观察网站在特定线程阈值以上是否出现崩溃现象 2.利用 Burp Suite 工具进行后台登录凭证破解过程中,调节并发线程数,测试服务器在超过某个线程数量时是否会发生宕机 3.在使用 Burp Suite 对后台账号密码进行爆破攻击时,改变线程配置参数,检验网站系统在高并发线程下的稳定性极限 4.运用 Burp Suite 工具实施后台账户密码破解测试,通过调整线程数量,评估网站在超过特定线程值时是否会崩溃 5.借助 Burp Suite 进行后台登录密码破解过程中,修改线程并发数,测试目标站点在达到某个线程阈值后是否会出现系统崩溃 修复意见(这10句话是一个意思、选一个背自己再适当调整) 1.为强化信息安全防护体系,企业应采取全方位防护策略:在防止信息泄露方面,需保障敏感文件存储位置的安全,实施严格的文件访问权限管理,定期清理冗余文件,并开展周期性安全审计与漏洞检测;在防范后台密码暴力破解方面,应建立账号登录失败次数限制机制,达到阈值后自动锁定账号,同时设置 IP 地址登录失败次数限制,超过标准后封锁 IP,推行多因素认证如 "密码 + 短信验证码" 组合,并要求用户创建复杂密码。 2.构建完善的信息安全防护机制,需要从多个维度着手:针对信息泄露风险,要确保敏感文件存放位置的安全性,严格管控文件访问权限,定期清理无用文件,并进行常态化安全审计和漏洞扫描;对于后台密码爆破威胁,应设置账号登录失败次数阈值,一旦触发立即锁定账号,同时设定 IP 地址登录失败次数阈值,超标后封锁 IP 地址,采用多因素认证方式如 "密码 + 短信验证码",并强制用户使用强度高的密码。 3.信息安全防护工作应实施全面覆盖策略:在信息泄露防护维度,需保障敏感文件存储位置的安全,严格控制文件访问权限,定期清理不必要的文件,并定期开展安全审计和漏洞扫描;在后台密码保护维度,应建立账号登录失败次数限制,达到阈值后锁定账号,同时设置 IP 地址登录失败次数限制,超过后封锁 IP,采用多因素认证如 "密码 + 短信验证码",并要求用户使用强密码。 4.加强信息安全防护需要多管齐下:在防止信息泄露方面,要确保敏感文件存放位置的安全性,严格管理文件访问权限,定期清理冗余文件,并定期进行安全审计和漏洞检测;在防范后台密码破解方面,应设置账号登录失败次数阈值,超过后自动锁定账号,同时设定 IP 地址登录失败次数阈值,超标后封锁 IP,推行多因素认证如 "密码 + 短信验证码",并强制用户使用复杂密码。 5.全面提升信息安全防护能力,应从以下方面着手:在信息泄露防护领域,需保障敏感文件存储位置的安全,严格控制文件访问权限,定期清理无用文件,并进行周期性安全审计和漏洞扫描;在后台密码保护领域,应建立账号登录失败次数限制机制,达到阈值后锁定账号,同时设置 IP 地址登录失败次数限制,超过后封锁 IP,采用多因素认证方式如 "密码 + 短信验证码",并要求用户使用高强度密码。 6.信息安全防护体系建设应采取综合措施:针对信息泄露风险,要确保敏感文件存放位置的安全性,严格管控文件访问权限,定期清理不必要的文件,并定期开展安全审计和漏洞检测;对于后台密码爆破攻击,应设置账号登录失败次数阈值,一旦超过立即锁定账号,同时设定 IP 地址登录失败次数阈值,超标后封锁 IP 地址,推行多因素认证如 "密码 + 短信验证码" 组合,并强制用户使用强密码。 7.强化信息安全防护需要全方位布局:在信息泄露防护方面,需保障敏感文件存储位置的安全,严格管理文件访问权限,定期清理冗余文件,并进行常态化安全审计和漏洞扫描;在后台密码保护方面,应建立账号登录失败次数限制,达到阈值后锁定账号,同时设置 IP 地址登录失败次数限制,超过后封锁 IP,采用多因素认证如 "密码 + 短信验证码",并要求用户使用复杂密码。 8.构建多层次信息安全防护体系,应重点关注:在信息泄露防护维度,要确保敏感文件存放位置的安全性,严格控制文件访问权限,定期清理无用文件,并定期进行安全审计和漏洞检测;在后台密码保护维度,应设置账号登录失败次数阈值,超过后自动锁定账号,同时设定 IP 地址登录失败次数阈值,超标后封锁 IP,推行多因素认证如 "密码 + 短信验证码",并强制用户使用高强度密码。 9.信息安全防护工作应实施立体化策略:针对信息泄露风险,需保障敏感文件存储位置的安全,严格管控文件访问权限,定期清理不必要的文件,并开展周期性安全审计和漏洞扫描;对于后台密码破解威胁,应建立账号登录失败次数限制机制,达到阈值后锁定账号,同时设置 IP 地址登录失败次数限制,超过后封锁 IP,采用多因素认证方式如 "密码 + 短信验证码",并要求用户使用强密码。 10.全面加强信息安全防护,需要从这些方面发力:在信息泄露防护领域,要确保敏感文件存放位置的安全性,严格管理文件访问权限,定期清理冗余文件,并进行常态化安全审计和漏洞检测;在后台密码保护领域,应设置账号登录失败次数阈值,超过后自动锁定账号,同时设定 IP 地址登录失败次数阈值,超标后封锁 IP,推行多因素认证如 "密码 + 短信验证码" 组合,并强制用户使用复杂密码。

(十)Sql注入测试

①访问服务器的IP地址进行SQL注入漏洞测试,提交flag字符串截图保存到桌面, 1.打开http://1.94.2.221:7002/sqlinject.php (实际考试的时候由考场给出) 在用户名出输入 : admin' # ,密码空着,出现下图(注意' #中间有空格,且为英文字符)

②写出测试过程中使用工具的名称。 sqlmap 、御剑 ③写出收集到的敏感文件名称。 sqlinject.php www.rar

(十一)简答题:Sqlmap的命令

(此题无需实操 。把红色的答案背下来打字,必须完全一致)

  1. 判断注入点的命令 python sqlmap.py -u <目标URL>
  2. 测试出数据库名字的命令 python sqlmap.py -u <目标URL> --dbs
  3. 测试出数据表名字的命令 python sqlmap.py -u <目标URL> -D 数据库名 --tables
  4. 测试出数据列名字的命令 python sqlmap.py -u <目标URL> -D 数据库名 -T 数据表名 --columns
  5. 测试出数据列具体数值的命令 python sqlmap.py -u <目标URL> -D 数据库名 -T 数据表名 -C 数据列名 --dump

(十二)测试报告数据整理 测试报告(根据下文大概改改) 一、基本信息 测试对象:IP 192.168.13.131(Windows 7 系统 ) 测试人员:[姓名 + 考生编号] 日期:考试日期 二、漏洞情况 信息泄露:phpinfo.php可查敏感配置 。 SQL 注入:SqlMap 爆出数据库,存在注入风险 。 补丁缺失:未装 KB4012212、KB4012215,139/445/3389 端口开放,易受攻击 。 三、修复建议 限制phpinfo.php访问;过滤输入,用预处理语句防注入;安装补丁,非必要则关闭端口

(十三)网络漏洞扫描
1.存在的漏洞:信息泄露(FLAG1 dir_clean一扫就出,根据文件名判断 ) 答题要求:漏洞名称+截有FLAG文字的图

2.存在的漏洞:弱口令(login.php 用户名admin 密码 admin123)答题要求: 漏洞名称+截有FLAG文字的图 3.存在的漏洞:备份文件泄露(config.php.bak一扫就出,根据文件名判断)答题要求:漏洞名称+ 截有FLAG文字的图 4.存在的漏洞 :日志漏洞(include.php) 答题要求:漏洞名称+截有FLAG文字的图 5.存在的漏洞:提权漏洞(压缩包的密码在压缩文件的注释里 自己找 不解答)

(十四)网站上传漏洞 1.使用工具 御剑 burpsuite 木马文件 2.收集到了www.rar uploadhere.php 注意:当前目录下截图可能一直在变,注意该服务器还用做病毒攻防靶场,不要下载该目录下的www.rar以外的任何文件。 3.flag截图(在www.rar里面)需要先下载winrar 软件打开后 观察备注部分

4.修复意见

  • 保障敏感文件存放位置安全;
  • 严控文件访问权限;
  • 定期清理无用文件。