首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MSSQL不出网文件落地上线方式

0x01 前言 一个MSSQL非注入的场景:在内网扫描到一个MSSQL弱口令,支持xp_cmdshell,Administrator权限,但不能出网,DNS也出不了,那么我们该如何将文件落地到目标主机并执行上线呢...0x02 利用思路 我们可以通过当前这台能出网的主机开启一个Socks代理连接不出网主机的MSSQL,然后再利用以下方式将PE文件落地到不出网的MSSQL主机,最终通过出网主机来中转上线不出网主机。...0x03 启用OLE组件 在执行命令或写入文件时都需要用到sp_oacreate,这主要是用来创建OLE对象,所以需要先执行以下SQL语句来启用“OLE Automation Procedures”组件...0x05 EXE文件落地 将我们上边转换好的HEX编码放在第一行,加上0x,然后在本地的Navicat Premium数据库管理工具中执行即可,这时可以看到cs.exe文件已经成功落地到目标主机的磁盘。...注:xp_cmdshell组件调用的是cmd.exe,所以在利用这种方式写入大文件时可能会出现字符长度限制等问题。

92710

复习 - MSSQL注入

MSSQL MSSQL和MySQL注入类似,但在数据结构特定函数名称上存在差异。...且MSSQL与Windows平台的高契合度,使其可以使用Windows身份验证,导致其运行权限较高,若没有对权限进行限制,当存在SQL注入时,所造成的后果一般比MySQL更严重。...类型简称 含义 U 用户定义的 V 视图 P 存储过程 X 扩展存储过程 limit和top limit语法是MySQL自带的一个特性,而在MSSQL中并没有这个特性。...sp_configure 'show advanced options',1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell',1; RECONFIGURE; -- 写入文件...通过xp_cmdshell执行系统命令写入文件 exec xp_cmdshell 'whoami > C:/temp.txt' 读取文件:创建临时,将文件写入该,然后查询,最后删除 create

2K10

文件、目录_文件目录

下面是一些与文件有关的最常用的系统调用: CREATE: 创建没有任何数据的文件。 DELETE: 删除文件以释放磁盘空间。 OPEN :将文件属性和磁盘地址载入主存,便于以后系统调用的快速存取。...CLOSE: 关闭文件以释放内部空间。 READ:从文件中读取数据。一般,读出的数据来自当前位置。调用者必须指明需要读取多少数据,并且提供存放这些数据的缓冲区。...多数磁盘可以划分为一个或多个分区,该给出了每个分区的起点和重点地址。...不会因为磁盘碎片而浪费存储空间 缺点:指针占用块空间;顺序读取文件非常方便,但是随机存取相当缓慢 将文件保存为磁盘块的链表 目录项:文件名+起始块号+长度 使用内存的链表分配 链表分配使用内存中的一个文件分配...i-节点 记录各个文件分别包含哪些磁盘块的方法是给每个文件赋予一张称为i-节点的小,其中列出了文件属性和文件中各块在磁盘上的地址 目录项:文件名+I节点号 UNIX V7文件系统 UNIX

2.2K20

MSSQL横向移动

这篇博客文章介绍了如何通过MSSQL CLR自动执行横向移动,而无需接触磁盘*或不需要XP_CMDSHELL,以及如何防止和检测到这种情况。...为实现命令执行而对MSSQL服务进行后期开发通常会利用XP_CMDSHELL存储过程在MSSQL进程的上下文中运行操作系统命令。...SQL Server CLR集成 SQL Server 2005中引入了从MSSQL运行.NET代码的功能,并在后续版本中叠加了各种保护措施,以限制代码可以访问的内容。...为了简化CLR代码的创建和调用,制作了执行以下操作的GUI应用程序: 收集连接字符串数据 从原始二进制文件和单字节XOR读取Shellcode字节 生成一个MSSQL CLR DLL,该DLL对shellcode...通过调整文件权限以防止从C:\ Windows \ Temp \目录中删除文件,可以在sqlservr.exe进程删除该文件之前检索该文件的副本可以将其反编译以显示原始代码: ?

3K10

MSSQL手工注入总结

之前搞mssql数据库的注入都是直接跑工具,但是总是有些注入点工具一扫就崩,关键时候还是要手工注入,因此总结学习mssql手工注入,写此文留作笔记。本次主要总结显错注入! payload: ?...ps:未测试成功可能是环境问题 获取名 获取所有名 1=convert(int,(select top 1 table_name from information_schema.tables where... table_name not in('V_ 获取指定数据库的名 1=convert(int,(select top 1 quotename(name) from [数据库名]..sysobjects... where name not in('table_name1','table_name2') and xtype='U') #逐条获取名,将报出来的名放入tuple 1=convert(int,(...select quotename(name) from [数据库名]..sysobjects where xtype='U' FOR XML PATH(''))) #一次性获取名,如果很多的话会失败

2.7K20

MSSQL日志安全分析技巧

0x01 MSSQL日志分析 首先,MSSQL数据库应启用日志记录功能,默认配置仅限失败的登录,需修改为失败和成功的登录,这样就可以对用户登录进行审核。 ?...双击日志存档文件即可打开日志文件查看器,并可以对日志进行筛选或者导出等操作。 ? 另外,MSSQ提供了一个工具SQL Server Profiler ,方便查找和发现SQL执行的效率和语句问题。 ?...创建了一个临时sqlmapoutput,调用存储过程执行系统命令将数据写入临时,然后取临时中的数据展示到前端。...通过查看数据库中最近新建的的结构和内容,可以判断是否发生过sql注入漏洞攻击事件。 检查方法: 1、数据库检查 ?...2、检查xp_cmdshell等存储过程 xp_cmdshell在mssql2005之后的版本中是默认禁止的,查看xp_cmdshell是否被启用。

1.6K30

Class文件字段

在经历过了魔数(u4)、文件版本(u2+u2)、常量池(u2(常量池元素的数量)+具体字节数)、类访问标记(u2)、类索引(u2)、父类索引(u2)、接口(u2(接口的数量) + 具体的字节数)之后,我们便进入了类的内部...对于数组类型,需要加一个前置的[,如果是二维数组则是[[ attributes 在字段的结尾有一个属性集合,用来描述一些额外的信息,这个属性集合我们在后面会详细详解,先给大家看一下属性都是有哪些类型...,每种属性作用的范围各不相同,有的是作用在方法上,有的则是作用在字段上,如下图所示: ?...首先前两个字节0x0001,通过这里我们知道该class文件有一个字段,其中他的访问标志是0x0002,说明该字段是个private字段,该字段的简单名称在常量池的索引为0x0005,通过下图(javap...-v 反编译的class文件)我们可以看出常量池中的第5项是m,该字段段的描述符为0x0006,在常量池重视个I,说明该字段的数据类型为int,紧接着后面该是该字段的属性,该字段没有属性,因此是0x0000

1K10

Class文件方法

类中除了字段以外就是方法,在熟悉了字段以后,我们来熟悉一下方法,方法表示描述了方法的返回值、参数列表、执行过程的集合,方法和字段采用一致的结构来进行表示,如下图: ?...name_index name_index的含义同字段一致,如果不清楚含义的请先看字段的介绍。...但是作为字节码层面的重载要求要低一些,因为Java虚拟机规范定义了方法的返回值以及受查异常也属于特征签名的一部分,因此两个仅仅返回值不同的方法在Class文件中也是可以共存的。...{ private int m; private int inc() { return m + 1; } } 下图红色部分是经过Class文件中方法的区域...通过Ox0002我们知道有该Class文件有两个方法,下面我们来看一下第一个方法,从Java类中命名只有一个方法,为什么到了Class文件会有两个方法,这是因为Java类在编译的时候会自动生成构造方法

60010

干货 | MSSQL 注入攻击与防御

这里使用的U表示用户,还有视图和存储过程分别表示为 U = 用户, V = 视图 , X = 扩展存储过程 获取列名 接收多条数据 临时 除了上述的查询方式在MSSQL中可以使用临时来查看数据...@S VARCHAR(4000) SET @S=CAST(0x44524f50205441424c4520544d505f44423b AS VARCHAR(4000)); EXEC (@S);-- MSSQL...,可以列举出目录下所有的文件文件夹 参数说明:目录名,目录深度,是否显示文件 execute master..xp_dirtree 'c:' execute master..xp_dirtree '...c:',1 execute master..xp_dirtree 'c:',1,1 OPENROWSET OPENROWSET 在MSSQL 2005及以上版本中默认是禁用的.需要先打开: 打开语句:...下面是收集来的sp_OACreate的一些命令: Agent Job 关于Agent job执行命令的这种情况是需要开启了MSSQL Agent Job服务才能执行,这里列出命令,具体的原理在安全客已经有过总结

1.6K40
领券