溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

云主機(jī)accesskey泄露到圖形化工具開(kāi)發(fā)的示例分析

發(fā)布時(shí)間:2021-12-24 14:33:33 來(lái)源:億速云 閱讀:335 作者:柒染 欄目:網(wǎng)絡(luò)管理

本篇文章為大家展示了云主機(jī)accesskey泄露到圖形化工具開(kāi)發(fā)的示例分析,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

簡(jiǎn)介

在日常滲透過(guò)程中我們經(jīng)常遇到信息泄露出ALIYUN_ACCESSKEYID與ALIYUN_ACCESSKEYSECRET(阿里云API key),特別是laravel框架得debug信息。APP中也會(huì)泄露這些信息。

概述

我們說(shuō)下阿里API有什么用吧,以下是官方說(shuō)明:

云服務(wù)器(Elastic Compute Service,ECS),可以調(diào)用API管理您的云上資源和開(kāi)發(fā)自己的應(yīng)用程序。

ECS API支持HTTP或者HTTPS網(wǎng)絡(luò)請(qǐng)求協(xié)議,允許GET和POST方法。您可以通過(guò)以下方式調(diào)用ECS API

詳情參考阿里云官方API文檔:https://help.aliyun.com/document_detail/25484.html?spm=a2c4g.11186623.6.1276.12244f88jytZ8c

開(kāi)發(fā)思路

1、通過(guò)阿里云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

調(diào)用查詢ecs主機(jī)

#!/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'))

創(chuàng)建命令

#!/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'))

這里會(huì)返回一個(gè)云助手命令id,返回結(jié)果:

{

"RequestId": "E69EF3CC-94CD-42E7-8926-F133B86387C0",

"CommandId": "c-7d2a745b412b4601b2d47f6a768d3a14"

}

執(zhí)行命令

#!/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'))

返回結(jié)果

{

"RequestId": "E69EF3CC-94CD-42E7-8926-F133B86387C0",

"InvokeId": "t-7d2a745b412b4601b2d47f6a768d3a14"

}

安全組部分就省略了,根據(jù)API文檔

2、通過(guò)GET/POST 使用

這里先說(shuō)下公共請(qǐng)求參數(shù)

名稱

類型

是否必需

描述

Action

String

API的名稱。取值請(qǐng)參見(jiàn)API概覽。

AccessKeyId

String

訪問(wèn)密鑰ID。AccessKey用于調(diào)用API,而用戶密碼用于登錄 ECS管理控制臺(tái)。

Signature

String

您的簽名。取值請(qǐng)參見(jiàn)簽名機(jī)制。

SignatureMethod

String

簽名方式。取值:HMAC-SHA1

SignatureVersion

String

簽名算法版本。取值:1.0

SignatureNonce

String

簽名唯一隨機(jī)數(shù)。用于防止網(wǎng)絡(luò)重放攻擊,建議您每一次請(qǐng)求都使用不同的隨機(jī)數(shù)。

Timestamp

String

請(qǐng)求的時(shí)間戳。按照ISO8601標(biāo)準(zhǔn)表示,并需要使用UTC時(shí)間,格式為yyyy-MM-ddTHH:mm:ssZ。示例:2018-01-01T12:00:00Z 表示北京時(shí)間2018年01月01日20點(diǎn)00分00秒。

Version

String

API版本號(hào),格式為YYYY-MM-DD。取值:2014-05-26

Format

String

返回參數(shù)的語(yǔ)言類型。取值范圍:

·        json

·        xml

默認(rèn)值:xml

2.1 GET請(qǐng)求

https://ecs.aliyuncs.com/?Action=DescribeInstanceStatus

&RegionId=cn-hangzhou

&PageSize=1

&PageNumber=1

&InstanceId.1=i-bp1j4i2jdf3owlhe****

&<公共請(qǐng)求參數(shù)>

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請(qǐng)求

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****&<公共請(qǐng)求參數(shù)>

返回跟GET方式一樣

工具使用

圖形化界面,沒(méi)什么說(shuō)的。附一張截圖相信大家都明白了。

云主機(jī)accesskey泄露到圖形化工具開(kāi)發(fā)的示例分析

上述內(nèi)容就是云主機(jī)accesskey泄露到圖形化工具開(kāi)發(fā)的示例分析,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI