您好,登錄后才能下訂單哦!
本篇文章為大家展示了云主機accesskey泄露到圖形化工具開發的示例分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
在日常滲透過程中我們經常遇到信息泄露出ALIYUN_ACCESSKEYID與ALIYUN_ACCESSKEYSECRET(阿里云API key),特別是laravel框架得debug信息。APP中也會泄露這些信息。
我們說下阿里API有什么用吧,以下是官方說明:
云服務器(Elastic Compute Service,ECS),可以調用API管理您的云上資源和開發自己的應用程序。
ECS API支持HTTP或者HTTPS網絡請求協議,允許GET和POST方法。您可以通過以下方式調用ECS API
詳情參考阿里云官方API文檔:https://help.aliyun.com/document_detail/25484.html?spm=a2c4g.11186623.6.1276.12244f88jytZ8c
SDK下載地址:https://github.com/aliyun/aliyun-openapi-python-sdk
pip安裝
# Install the core library pip install aliyun-python-sdk-core # Install the ECS management library pip install aliyun-python-sdk-ecs # Install the RDS management library pip install aliyun-python-sdk-rds |
調用查詢ecs主機
#!/usr/bin/env python #coding=utf-8 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.acs_exception.exceptions import ServerException from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = DescribeInstancesRequest() request.set_accept_format('json') response = client.do_action_with_exception(request) # python2: print(response) print(str(response, encoding='utf-8')) |
創建命令
#!/usr/bin/env python #coding=utf-8 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.acs_exception.exceptions import ServerException from aliyunsdkecs.request.v20140526.CreateCommandRequest import CreateCommandRequest client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = CreateCommandRequest() request.set_accept_format('json') response = client.do_action_with_exception(request) # python2: print(response) print(str(response, encoding='utf-8')) |
這里會返回一個云助手命令id,返回結果:
{ "RequestId": "E69EF3CC-94CD-42E7-8926-F133B86387C0", "CommandId": "c-7d2a745b412b4601b2d47f6a768d3a14" } |
#!/usr/bin/env python #coding=utf-8 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.acs_exception.exceptions import ServerException from aliyunsdkecs.request.v20140526.InvokeCommandRequest import InvokeCommandRequest client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = InvokeCommandRequest() request.set_accept_format('json') response = client.do_action_with_exception(request) # python2: print(response) print(str(response, encoding='utf-8')) |
{ "RequestId": "E69EF3CC-94CD-42E7-8926-F133B86387C0", "InvokeId": "t-7d2a745b412b4601b2d47f6a768d3a14" } |
安全組部分就省略了,根據API文檔
這里先說下公共請求參數
名稱 | 類型 | 是否必需 | 描述 |
Action | String | 是 | API的名稱。取值請參見API概覽。 |
AccessKeyId | String | 是 | 訪問密鑰ID。AccessKey用于調用API,而用戶密碼用于登錄 ECS管理控制臺。 |
Signature | String | 是 | 您的簽名。取值請參見簽名機制。 |
SignatureMethod | String | 是 | 簽名方式。取值:HMAC-SHA1 |
SignatureVersion | String | 是 | 簽名算法版本。取值:1.0 |
SignatureNonce | String | 是 | 簽名唯一隨機數。用于防止網絡重放攻擊,建議您每一次請求都使用不同的隨機數。 |
Timestamp | String | 是 | 請求的時間戳。按照ISO8601標準表示,并需要使用UTC時間,格式為yyyy-MM-ddTHH:mm:ssZ。示例:2018-01-01T12:00:00Z 表示北京時間2018年01月01日20點00分00秒。 |
Version | String | 是 | API版本號,格式為YYYY-MM-DD。取值:2014-05-26 |
Format | String | 否 | 返回參數的語言類型。取值范圍: · json · xml 默認值:xml |
2.1 GET請求
https://ecs.aliyuncs.com/?Action=DescribeInstanceStatus &RegionId=cn-hangzhou &PageSize=1 &PageNumber=1 &InstanceId.1=i-bp1j4i2jdf3owlhe**** &<公共請求參數> |
XML返回格式:
<DescribeInstanceStatusResponse> <PageNumber>1</PageNumber> <InstanceStatuses> <InstanceStatus> <Status>Running</Status> <InstanceId>i-bp1j4i2jdf3owlhe****</InstanceId> </InstanceStatus> </InstanceStatuses> <TotalCount>58</TotalCount> <PageSize>1</PageSize> <RequestId>746C3444-9A24-4D7D-B8A8-DCBF7AC8BD66</RequestId> </DescribeInstanceStatusResponse> |
JSON返回格式
{ "PageNumber": 1, "InstanceStatuses": { "InstanceStatus": [ { "Status": "Running", "InstanceId": "i-bp1j4i2jdf3owlhe****" } ] }, "TotalCount": 58, "PageSize": 1, "RequestId": "746C3444-9A24-4D7D-B8A8-DCBF7AC8BD66" } |
2.2 POST請求
POST / HTTP/1.1 Host: ecs.aliyuncs.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 0 Action=DescribeInstanceStatus&RegionId=cn-hangzhou&PageSize=1&PageNumber=1&InstanceId.1=i-bp1j4i2jdf3owlhe****&<公共請求參數> |
返回跟GET方式一樣
圖形化界面,沒什么說的。附一張截圖相信大家都明白了。
上述內容就是云主機accesskey泄露到圖形化工具開發的示例分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。