Rumah >Peranti teknologi >AI >ChatGPT menulis PoC dan mendapat kelemahan!

ChatGPT menulis PoC dan mendapat kelemahan!

WBOY
WBOYke hadapan
2023-04-07 14:54:031438semak imbas

0×01 Kata Pengantar

ChatGPT (Chat Generative Pra-trained Transformer) ialah salah satu chatbot AI pintar yang paling dinanti-nantikan hari ini. Ia bukan sahaja membolehkan komunikasi bahasa asas, tetapi juga mempunyai banyak fungsi yang berkuasa, seperti penulisan artikel, skrip kod, terjemahan dan banyak lagi. Jadi bolehkah kami menggunakan ChatGpt untuk membantu kami menyelesaikan beberapa kerja? Sebagai contoh, apabila produk mempunyai risiko keselamatan dan memerlukan pengesanan kelemahan, kita perlu menulis POC yang sepadan untuk melaksanakannya. Melalui berbilang pengesahan, pada mulanya kami telah mengesahkan kebolehlaksanaan percubaan ini ChatGPT boleh dilatih untuk menulis PoC mudah, tetapi kawalan butirannya tidak cukup sempurna, seperti menulis ungkapan biasa untuk memadankan kandungan output dan beberapa Terdapat ralat tertentu dalam. pemprosesan logik yang kompleks, dan campur tangan dan pengubahsuaian manual diperlukan. Selain itu, kami menggunakan kaedah perbandingan untuk mengesahkan ketepatan beberapa sangkaan keselamatan dan model latihan ChatGPT. Berikut ialah kesan pelaksanaan menggabungkannya dengan serangan rangkaian praktikal Goby dan alat pertahanan untuk pengesanan eksploitasi.

ChatGPT menulis PoC dan mendapat kelemahan!

Proses latihan 0×02

Kami menggunakan ChatGPT dan Goby untuk menulis PoC dan EXP dalam dua cara: penulisan separa automatik dan penulisan automatik sepenuhnya (dalam proses Gunakan akaun ChatGPT-Plus).

Penulisan separa automatik menggunakan ChatGPT untuk penukaran format bahasa Kod yang dijana selepas penukaran mungkin mempunyai masalah terperinci dan memerlukan penyelesaian masalah dan penambahbaikan lagi Akhirnya, penyataan dan kandungan fungsi yang sepadan diubah suai untuk melengkapkan penulisan PoC dan EXP.

Penulisan automatik sepenuhnya dengan memberikan templat kod terpakai dan butiran kelemahan kepada ChatGPT, supaya ia secara automatik boleh menjana PoC yang sepadan dengan templat Apabila memberikan maklumat terperinci, anda perlu memberi perhatian kepada kesempurnaan dan ketepatan maklumat tersebut. Pada masa ini, adalah mungkin untuk menulis PoC mudah secara automatik Untuk EXP, latihan lanjut tentang penggunaan fungsi terbina dalam ChatGPT diperlukan.

0×03CVE-2010-2861

Adobe ColdFusion ialah persekitaran pembangunan pelayan aplikasi web yang cekap. Kerentanan traversal berbilang direktori wujud dalam konsol pentadbiran Adobe ColdFusion 9.0.1 dan lebih awal. Penyerang jauh boleh membaca fail sewenang-wenangnya melalui parameter setempat yang dihantar ke /CFIDE/administrator/enter.cfm, /CFIDE/administrator/archives/index.cfm, dsb.

3.1 Penulisan separa automatik

Mula-mula cuba benarkan ChatGPT menukar EXP format Python daripada kelemahan traversal direktori CVE-2010-2861 ke dalam kod format bahasa Go digunakan untuk menggantikan tafsiran kod manual dan Proses penukaran kod.

Kami memilih kod EXP bagi kerentanan dalam platform pendedahan kerentanan:

ChatGPT menulis PoC dan mendapat kelemahan!

Sebelum menggunakan ChatGPT untuk menukar kod EXP bagi kerentanan yang sepadan, tunjukkan dahulu yang asal Kesan pelaksanaan kod Python adalah seperti berikut:

ChatGPT menulis PoC dan mendapat kelemahan!

Mula menukar format:

ChatGPT menulis PoC dan mendapat kelemahan!

Selain itu , beliau juga menyediakan Bagaimana untuk menggunakan program. Walau bagaimanapun, jawapan ChatGPT mungkin tidak sama setiap kali. Jawapan sebelumnya tidak menerangkan penggunaan khusus fungsi secara terperinci, tetapi penjelasan berikut diberikan dalam jawapan lain: (Jika perlu, anda boleh menambah "dan memperkenalkan penggunaan khusus fungsi" pada soalan)

ChatGPT menulis PoC dan mendapat kelemahan!

Selepas akhirnya menyahpepijat kod, saya mendapati ia tidak boleh digunakan serta-merta dan gagal membaca kandungan fail yang diperlukan:

ChatGPT menulis PoC dan mendapat kelemahan!

Kemudian anda perlu mula menyusun Salah, berikut ialah proses penyelesaian masalah:

Semak sama ada rentetan kosong selepas pemadanan biasa:

ChatGPT menulis PoC dan mendapat kelemahan!

ChatGPT menulis PoC dan mendapat kelemahan!

Semak pemulangan Periksa sama ada kandungan pakej adalah normal dan sama ada terdapat kandungan yang diperlukan Paket data yang dikembalikan dipaparkan seperti biasa:

ChatGPT menulis PoC dan mendapat kelemahan!

. Adalah dinilai bahawa terdapat masalah dengan ungkapan biasa dan kandungan yang sepadan tidak dapat dipadankan:

Melalui penyiasatan, didapati tiada padanan yang betul dalam ungkapan biasa, jadi kandungan fail boleh tidak dapat diambil dengan betul Pengubahsuaian berikut telah dibuat

ChatGPT menulis PoC dan mendapat kelemahan!

Sebelum pengubahsuaian:

ChatGPT menulis PoC dan mendapat kelemahan!

Hasil pelaksanaan akhir, lengkapkan penukaran Python-Go:

ChatGPT menulis PoC dan mendapat kelemahan!

Sebelum ini kami telah berjaya menukar EXP dalam format Python kepada format bahasa Go. Kini kami cuba menukarnya kepada PoC dan EXP dalam format Goby.

Memandangkan Goby menggunakan rangka kerja kerentanan yang dibangunkan sendiri berdasarkan bahasa Go, untuk kemudahan pengguna, terdapat banyak fungsi terbina dalam tersedia untuk pengguna, jadi anda hanya perlu menggunakan bahagian kod di atas untuk melengkapkan PoC dan EXP , berikut ialah penerangan umum dan butiran pengubahsuaian EXP:

ChatGPT menulis PoC dan mendapat kelemahan!

ChatGPT menulis PoC dan mendapat kelemahan!

Ubah suai kandungan import:

ChatGPT menulis PoC dan mendapat kelemahan!

Memandangkan EXP yang dihasilkan perlu dimasukkan secara manual apabila menggunakan baris arahan:

ChatGPT menulis PoC dan mendapat kelemahan!

Kemudian apabila menukar PoC, anda perlu mentakrifkan semula pemalar dan menggunakan httpclient.FixUrl.IP dan httpclient.FixUrl.Port Goby mendapatkan IP ujian dan nombor port, dan tentukan laluan laluan fail ujian:

ChatGPT menulis PoC dan mendapat kelemahan!

Kemudian tambahkan pernyataan penghakiman bersyarat dalam PoC, Tentukan ciri-ciri kerentanan dan kembalikan benar (terdapat kelemahan):

ChatGPT menulis PoC dan mendapat kelemahan!

Akhir sekali, padamkan kod cetakan keluaran berlebihan kepada lengkapkan penukaran PoC, seperti:

ChatGPT menulis PoC dan mendapat kelemahan!

Apabila menukar EXP, anda perlu mentakrifkan semula pembolehubah Gunakan expResult.HostInfo.IP dan expResult.HostInfo.Port dalam Goby untuk mendapatkan nombor IP dan port ujian, dan gunakan ss.Params["filePath"] (rentetan) Dapatkan input parameter EXP oleh pengguna - laluan fail ujian filePath:

ChatGPT menulis PoC dan mendapat kelemahan!

Kemudian tambahkan pernyataan penghakiman bersyarat dalam kod EXP untuk menentukan sama ada EXP berjaya dilaksanakan dan output hasil pelaksanaan EXP, lengkapkan penukaran EXP:

ChatGPT menulis PoC dan mendapat kelemahan!

3.2 Penulisan automatik sepenuhnya

Selepas menggunakan ChatGPT digabungkan dengan penulisan manual, kami terus mencuba menggunakannya untuk menulis PoC dalam format Goby.

Mula-mula berikan templat dalam format Goby:

ChatGPT menulis PoC dan mendapat kelemahan!

Kemudian berikan nombor kelemahan, produk, jenis, Url, fail kerentanan, parameter dan syarat kejayaan Diberi dan menerangkan format medan yang berkaitan, akhirnya kami mendapat kod berikut, yang boleh disusun oleh bahagian hadapan Goby dan boleh berjaya menjana PoC mudah:

ChatGPT menulis PoC dan mendapat kelemahan!

Latihan model ialah pada mulanya selesai. Teruskan menggunakan kes kedua untuk mengesahkan kesempurnaan model:

ChatGPT menulis PoC dan mendapat kelemahan!

Didapati bahawa medan Nama masih mempunyai ralat format, dan latihan diubah suai sekali lagi (jika medan Nama dan output lain dalam pengesahan Betul, maka anda boleh melangkau langkah pembetulan ralat ini):

ChatGPT menulis PoC dan mendapat kelemahan!

Akhir sekali, gunakan kes ketiga untuk mengesahkan latihan terakhir keputusan, dan latihan berjaya:

ChatGPT menulis PoC dan mendapat kelemahan!

Masukkan kod ke dalam Goby dan isikan maklumat perihalan kerentanan yang tiada (anda boleh terus berlatih secara mendalam kemudian kesan berjalan adalah seperti berikut:

ChatGPT menulis PoC dan mendapat kelemahan!

0×04 Kajian sendiri

Apabila kami menggunakan ChatGPT untuk membantu menulis kerentanan 0hari baharu atau PoC pengesanan kerentanan sulit lain, adakah proses ini akan membawa kepada suntikan program atau kebocoran maklumat, dsb. Apa masalahnya? Maksudnya, apabila latihan model selesai dan pengguna lain bertanya soalan berkaitan, adakah ChatGPT akan mengeluarkan model atau data terlatih secara langsung?

Untuk mengesahkan sama ada tekaan pembelajaran kendiri ChatGPT wujud, latihan telah dijalankan melalui "sesi yang berbeza" dan "akaun yang berbeza". Selepas amalan berikut, kesimpulannya ialah ChatGPT tidak melakukan pembelajaran kendiri merentas akaun dan model dan data terlatih berada di tangan OpenAI, dan pengguna lain tidak akan mendapat model yang berkaitan, jadi ia tidak. Masih wujud risiko keselamatan yang berkaitan dengan kebocoran data maklumat yang berkaitan, tetapi situasi masa depan masih perlu dinilai berdasarkan keputusan yang diambil oleh OpenAI.

4.1 Perbandingan sesi berbeza

Templat yang digunakan (gambar rajah skema ditiadakan di sini) dan maklumat kerentanan diberikan. Ia boleh dilihat bahawa medan Nama dan Penerangan dalam PoC tidak sama dengan sesi sebelumnya. akaun

Templat (gambar rajah skema ditiadakan di sini) dan maklumat kerentanan juga boleh dilihat bahawa medan yang berkaitan dalam PoC tidak diisi mengikut model latihan sebelumnya diketahui bahawa ChatGPT tidak akan merentas kajian kendiri Akaun: ChatGPT menulis PoC dan mendapat kelemahan!

0×05 ChatGPT3 dan 4

ChatGPT4 telah dikemas kini dan dilancarkan, kemudian gunakan ChatGPT4 untuk melakukan latihan menulis automatik sepenuhnya dan latihan ChatGPT3 yang sama Apakah perbezaan antara model yang keluar? Jawapannya ialah ChatGPT4 lebih "pintar dan fleksibel" daripada ChatGPT 3, dan penjanaan model lebih tepat. ChatGPT menulis PoC dan mendapat kelemahan!

Kami memberikan pelbagai maklumat yang kami perlukan, dan selepas sesi latihan (sebahagian daripada rajah skematik ditinggalkan di sini), kami mencapai kesan yang betul seperti yang ditunjukkan dalam gambar di bawah:

Selain itu, kami menjalankan 10 pusingan latihan dan membandingkan medan Nama dalam model untuk menilai ketepatan penulisan PoC ChatGPT3 dan 4. Kami mendapati bahawa akan terdapat ralat kebarangkalian dalam kedua-dua kes, antaranya ketepatan output model 3 Ia lebih rendah daripada 4, dan latihan pembetulan ralat masih diperlukan dalam keadaan tertentu, seperti yang ditunjukkan dalam jadual berikut:

ChatGPT menulis PoC dan mendapat kelemahan!

0×06 Ringkasan

Secara umum Dalam erti kata lain, ChatGPT sememangnya boleh membantu menyelesaikan sebahagian daripada kerja Untuk kerja harian seperti menulis PoC kerentanan, anda boleh menggunakan keupayaan penukaran kodnya untuk mempercepatkan penulisan anda juga boleh memberikan maklumat terperinci tentang kelemahan , gunakan ChatGPT untuk melatih model yang sesuai, dan secara langsung mengeluarkan Kod PoC pengesahan kerentanan yang mudah adalah lebih mudah dan lebih pantas. Walau bagaimanapun, kandungan jawapan yang diberikannya mungkin tidak semestinya disalin dan digunakan secara langsung, dan beberapa pembetulan manual diperlukan untuk memperbaikinya. Di samping itu, pada masa ini kami boleh menggunakan ChatGPT dengan ketenangan fikiran yang relatif Ia tidak akan mengeluarkan data model latihan pengguna tunggal kepada pengguna lain untuk digunakan (sesi tidak mengelirukan mungkin disebabkan oleh kebimbangan mengenai pencemaran bersama data pengguna), tetapi dalam masa depan, kita perlu membuat keputusan berdasarkan ibu pejabat OpenAI untuk pertimbangan selanjutnya. Oleh itu, penggunaan ChatGPT yang munasabah boleh membantu meningkatkan tahap kecekapan kerja tertentu Jika latihan dan pembangunan lanjut boleh diteruskan pada masa hadapan, contohnya, sama ada ia boleh digunakan untuk menulis PoC yang standard dan lebih kompleks atau pun EXP dengan penerangan maklumat. spesifikasi, atau ia boleh direka bentuk untuk melengkapkan kandungan dalam kelompok Untuk meneroka lebih banyak senario dan potensi aplikasi. ChatGPT menulis PoC dan mendapat kelemahan!

Rujukan

[1] https://gobysec.net/exp

[2] https://www.exploit-db.com/exploits/14641

[3] https://zhuanlan.zhihu.com/p/608738482?utm_source=wechat_session&utm_medium=social&utm_oi=1024775085344735232

dan menyokong Webshell

[4]

Artikel itu berasal daripada ahli komuniti Goby: LPuff@白hathui Security Research Institute Sila nyatakan sumber semasa mencetak semula.

Dapatkan versi: https://gobysec.net

  • Pengarang artikel ini: GobySec, sila nyatakan sumber cetakan semula adalah daripada FreeBuf.COM

Atas ialah kandungan terperinci ChatGPT menulis PoC dan mendapat kelemahan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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