
🏰 سكربت Python لتعداد buckets AWS S3.
مستوحى من محادثة مع @nickelser من Instacart على HackerOne، قمت بتحسين ونشر Sandcastle – وهو سكريبت Python لتعداد حزم AWS S3، كان يُعرف سابقًا باسم bucketCrawler.
يأخذ السكريبت اسم الهدف كوسيطة أساسية (مثل shopify) ويتكرر عبر ملف من تباديل أسماء الحزم، مثل التالية:
-training
-bucket
-dev
-attachments
-photos
-elasticsearch
[...]
إليك كيفية البدء:
sandcastle.py مع اسم الهدف وملف الإدخال (احصل على مثال من هذا المستودع).usage: sandcastle.py [-h] -t targetStem [-f inputFile]
arguments:
-h, --help show this help message and exit
-t targetStem, --target targetStem
Select a target stem name (e.g. 'shopify')
-f inputFile, --file inputFile
Select a bucket permutation file (default: bucket-
names.txt)
____ __ __ __
/ __/__ ____ ___/ /______ ____ / /_/ /__
_\ \/ _ `/ _ \/ _ / __/ _ `(_-</ __/ / -_)
/___/\_,_/_//_/\_,_/\__/\_,_/___/\__/_/\__/
S3 bucket enumeration // release v1.2.4 // ysx
[*] Commencing enumeration of 'shopify', reading 138 lines from 'bucket-names.txt'.
[+] Checking potential match: shopify-content --> 403
An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
| رمز الحالة | التعريف | ملاحظات |
|---|---|---|
| 404 | لم يتم العثور على الحزمة | ليس هدفًا للتحليل (مخفي افتراضيًا) |
| 403 | تم رفض الوصول | هدف محتمل للتحليل عبر CLI |
| 200 | متاح للعامة | هدف محتمل للتحليل عبر CLI |
إليك مرجع سريع لبعض أوامر AWS CLI المفيدة:
aws s3 ls s3://bucket-nameaws s3 cp s3://bucket-name/<file> <destination>aws s3 cp/mv test-file.txt s3://bucket-nameaws s3 rm s3://bucket-name/test-file.txtمن توثيق أمازون، العمل مع حزم Amazon S3:
Amazon S3 [خدمة التخزين البسيطة] هي تخزين سحابي للإنترنت. لرفع بياناتك (صور، فيديوهات، مستندات إلخ)، عليك أولاً إنشاء حزمة في إحدى مناطق AWS. يمكنك بعد ذلك رفع أي عدد من الكائنات إلى الحزمة.
من حيث التنفيذ، الحزم والكائنات هي موارد، وتوفر Amazon S3 واجهات برمجة تطبيقات لإدارتها.