> For the complete documentation index, see [llms.txt](https://www.pentestwiki.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.pentestwiki.com/cloud/aws/undefined-1/s3-bucket-version.md).

# S3 Bucket Version

AWS 버전 관리는 동일한 S3 버킷 내의 모든 객체들의 상태를 버전 별로 저장하여 보존, 검색 및 복원을 지원하는 서비스입니다.

버킷 내 버전은 다음과 같은 특징을 가집니다.

1. 버킷의 버전은 버킷 내 저장된 각각의 객체들에 대해 개별적으로 관리한다.
2. 각 객체는 모두 연관성 없는 난수 형태의 버전을 가지며, 변경이 될 때마다 버전은 새로 생성된다.
3. 삭제된 객체는 DeleteMarkers 목록에 별도로 표시된다.

## Abuse

<pre class="language-bash"><code class="lang-bash"><strong># 버킷 내 객체 버전 열거
</strong>aws s3api list-object-versions --bucket '&#x3C;s3-bucket>' --no-sign-request

<strong># 버킷 내 저장된 특정 버전 가져오기
</strong>aws s3api get-object --bucket '&#x3C;s3-bucket>' --key '&#x3C;key-file>' --version-id '&#x3C;version-id>' '&#x3C;save-file>'
</code></pre>

{% hint style="info" %}
해당 시나리오는 다음과 같은 권한이 요구됩니다.

1. S3 버킷 버전 목록 열거 : s3:ListBucketVersions
2. 특정 버전 다운로드 : s3:GetObjectVersion
   {% endhint %}

## References

{% embed url="<https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Versioning.html>" %}
