1. Gambaran Keseluruhan
Projek sumber terbuka yang ditaja oleh Yayasan Perisian Apache (ASF) ialah Struts. Projek ini bermula sebagai percabangan projek Jakarta dan kemudiannya dinaikkan pangkat kepada projek peringkat tertinggi ASF. Dengan menggunakan teknologi Java Servlet/JSP, ia melaksanakan rangka kerja aplikasi [Web Framework] berdasarkan corak reka bentuk Model-View-Controller [MVC] bagi aplikasi Web Java EE Ia adalah produk klasik dalam corak reka bentuk klasik MVC.
Pada masa awal pembangunan aplikasi Web Java EE, selain menggunakan teknologi Servlet, ia secara amnya dibangunkan menggunakan campuran HTML dan kod Java dalam kod sumber JavaServer Pages (JSP). Kedua-dua kaedah ini tidak dapat dielakkan dalam mencampurkan prestasi dan kod logik perniagaan, yang membawa kerumitan besar kepada pembangunan awal dan penyelenggaraan kemudian. Untuk menyingkirkan kekangan dan batasan di atas dan memisahkan kod logik perniagaan dengan jelas daripada lapisan pembentangan, pada tahun 2000, Craig McClanahan menggunakan corak reka bentuk MVC untuk membangunkan Struts. Produk rangka kerja ini pernah dianggap sebagai rangka kerja aplikasi WEB JAVA yang paling luas dan popular
Struts2 ialah rangka kerja aplikasi Web berdasarkan corak reka bentuk MVC Ia pada asasnya setara dengan servlet dalam corak reka bentuk MVC, Struts2 berfungsi sebagai pengawal untuk mewujudkan interaksi data antara model dan pandangan. Struts 2 ialah produk generasi seterusnya Struts Ia merupakan rangka kerja Struts 2 baharu yang menggabungkan teknologi struts 1 dan WebWork
Masalah pelaksanaan kod Struts2 bermula sejak 2010, apabila Meder Kydyraliev daripada Pasukan Keselamatan Google mendapati bahawa pemintas parameter boleh dipintas dengan menggunakan pengekodan unicde untuk penapisan "#" menyebabkan masalah pelaksanaan kod Nombor kerentanan rasmi ialah S2-003
Melihat kembali sejarah kelemahan struts2, kami mendapati bahawa pegawai tidak boleh dipersalahkan. . Kedua, kami merasakan bahawa langkah-langkah pembaikan rasmi tidak mempunyai kekuatan dan nampaknya hanya biasa-biasa sahaja, tanpa benar-benar menyelesaikan punca masalah. Tambahan pula, semangat keterbukaan rasmi benar-benar mengejutkan Mereka malah secara langsung menyiarkan PoC kerentanan itu di laman web rasmi Ini memberi peluang kepada ramai orang untuk mengkaji lebih lanjut tentang kelemahan ini lebih serius.
2.2. Inventori kerentanan Struts2
Kerentanan Struts2 yang mempunyai impak yang agak besar dan dieksploitasi secara meluas:
CVE-2013-2251Struts2
Struts2
Struts2
CNVD-2016-02506, CVE-2016-3081, versi terjejas Struts 2.3.20 - Struts 2.3.20 - Struts.3.20 - Struts. .20.3 dan 2.3.24.3 kecuali)
Nombor CVE: CVE-2016-4438 Struts (S2-037) kerentanan pelaksanaan kod jauh, versi terjejas: Struts 2.3.20 - Struts Struts 2.3.28.1> 🎜>CVE-2017-5638 Versi terjejas: Struts 2.3.5 – Struts 2.3.31
Struts 2.5 –Struts 2.5.10
Untuk butiran lain, sila rujuk struts2 laman web rasmi Sejarah Kerentanan:https://cwiki.apache.org/confluence/display/WW/Security+Bulletins
3. Pengedaran
Memandangkan rangka kerja Struts2 dengan kerentanan yang kerap, kami menjalankan tinjauan dan statistik mengenai pengedaran rangka kerja Struts di wilayah Dengan cap jari tapak di setiap bandar, kami memetakan penggunaan daripada Strust2 di pelbagai bandar di wilayah itu Carta pengedaran rangka kerja adalah seperti berikut:
Menggabungkan analisis data besar dan pengenalan kata kunci, kami menganalisis yang dikumpul. keadaan industri di mana tapak Strust2 digunakan dan dilukis Output carta berikut:
Data jadual khusus:
序号 | 行业类型 | 数量 | 百分比 |
1 | 政府部门 | 447 | 28.29% |
2 | 教育机构 | 155 | 9.80% |
3 | 金融行业 | 110 | 6.96% |
4 | 保险行业 | 28 | 1.77% |
5 | 证券行业 | 14 | 0.88% |
6 | 能源行业 | 8 | 0.50% |
7 | 交通行业 | 93 | 5.88% |
8 | 电信运营商 | 114 | 7.21% |
9 | 互联网企业 | 398 | 25.18% |
10 | 其他企业 | 213 | 13.48% |
Seperti yang dapat dilihat daripada gambar di atas, tiga syarikat teratas (nota: tidak termasuk syarikat lain ) ialah jabatan Kerajaan (memperakaunkan 28.29%), syarikat Internet (25.18%), institusi pendidikan (9.8%)
Kami menjalankan pengesanan kelemahan pada tapak yang dikumpul menggunakan perisian tengah Struts2 Penggunaan ini memberi kesan yang lebih besar kepada Internet. Mengesahkan beberapa kelemahan berisiko tinggi, mengesan kewujudan kelemahan (S2-045, S2-037, S2-032, S2-016) dan membaiki situasi tetulang Selepas menguji 1580 sampel tapak, didapati masih ada Kerentanan Struts2 di beberapa tapak Ia belum dibaiki Statistik tapak dengan kelemahan yang dikesan adalah seperti berikut:
序号 | 行业 | 存在漏洞数量 |
---|---|---|
1 | 政府部门 | 3 |
2 | 教育机构 | 2 |
3 | 金融行业 | 1 |
4 | 互联网企业 | 2 |
5 | 其他 | 2 |
Semasa pengesanan, kami mendapati terdapat banyak laman web dengan kelemahan lama sebelum Stuts2 yang belum dibaiki. Oleh itu, antara kelemahan Stuts2, laman web Pengguna berdaftar terdedah kepada serangan penggodam.
Apabila keadaan menjadi semakin kompleks, keselamatan maklumat telah menjadi isu yang melibatkan lebih daripada teknologi. Perkembangan sains dan teknologi adalah pedang bermata dua Ia boleh memberi manfaat kepada manusia, tetapi ia juga boleh membawa kesan yang merosakkan. Dan perkara ini, sebagai tambahan kepada teknologi itu sendiri, mungkin lebih difahami dari tahap kesedaran kita. Kesan kerentanan yang besar sudah cukup untuk memberi amaran kepada pengamal keselamatan maklumat dalam industri Internet: panggilan bangun untuk keselamatan maklumat terus berdering sepanjang masa.
1. Kita harus membangunkan tabiat pembangunan yang baik dalam pembangunan sistem maklumat risiko.
2. Sandaran data tapak web yang tepat pada masanya Apabila sistem diserang, sistem yang diserang boleh dipulihkan secepat mungkin.
3 Pasang perisian anti-virus pada perkhidmatan latar belakang, lakukan imbasan virus dan semakan keselamatan lain pada pelayan dengan kerap.
4. Beri perhatian kepada kelemahan Internet terkini dalam masa nyata dan membaiki kelemahan dalam sistem maklumat dengan tepat pada masanya.
5 Sentiasa menjalankan ujian penembusan, ujian kelemahan dan kerja lain pada sistem untuk menemui masalah dengan segera dan membaikinya tepat pada masanya untuk mengelakkan kelemahan daripada terdedah kepada Internet.
6. Ambil sistem yang tidak lagi digunakan di luar talian tepat pada masanya Secara amnya, terdapat lebih banyak isu keselamatan dalam sistem lama dan pengurusan yang lemah mungkin membocorkan sejumlah besar maklumat sensitif.
Atas ialah kandungan terperinci Contoh analisis risiko tapak rangka kerja Struts2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!