SAHİBİNİN AÇIK İZNİ ÜZERİNE GÜVENLİK ALGORİTMASI ÇÖZÜLMÜŞTÜR...
@
anka; Güvenlik testi için bir talebimiz yok. İsterseniz kendiniz güvenlik testlerini yapabilirsiniz. Sonuçlarını burada paylaşabilirsiniz.
PHPkoru (v1.0.8) Decode Algoritması Aponkral PHPkoru / phpkoru.com basic encoder çıktısını çözme yöntemi 1. Ne şifreliyor?
Dosya iki kısımdan oluşuyor:
- Loader: üstteki eval + base64 zinciri — fonksiyon isimlerini ROT13/base64 ile gizliyor
- Payload: PHPkoru_Code bloğu — asıl PHP kaynağı AES-256-GCM ile şifreli
2. Genel çözüm fonksiyonu coz(dosya):
cipher_b64 = PHPkoru_Code blogu icerigi
ciphertext = base64_decode(cipher_b64)
line = "4" // eval string icindeki __LINE__
key = base64_decode(str_rot13(KEY_CONST)) + line // 32 byte
iv = line + base64_decode(str_rot13(IV_CONST)) // 12 byte
tag = base64_decode(str_rot13(TAG_CONST)) // 16 byte
plain = openssl_decrypt(ciphertext, "aes-256-gcm", key, RAW, iv, tag)
source = str_rot13( base64_decode( str_rot13(plain) ) )
return source
Kisaca:
Alıntı
AES-256-GCM decrypt -> ROT13 -> Base64 decode -> ROT13 -> orijinal PHP
3. Sabitler (v1.0.8) KEY_CONST = 3kp0r+oa0SdxCXwrQlMwD5SkB8sSh+VwZRZ00jFxhj==
IV_CONST = OTlL0kt55OB+7fx=
TAG_CONST = TA3o1LwSC5B2Qy9qRD5nSt==
CIPHER = aes-256-gcm
4. Hazir PHP decoder <?php
$src = file_get_contents('encoded.php');
// Regex: /\[PHPkoru_Code\](.*?)\[\/PHPkoru_Code\]/s
preg_match('/\x5BPHPkoru_Code\x5D(.*?)\x5B\/PHPkoru_Code\x5D/s', $src, $m);
$line = '4';
$key = base64_decode(str_rot13('3kp0r+oa0SdxCXwrQlMwD5SkB8sSh+VwZRZ00jFxhj==')) . $line;
$iv = $line . base64_decode(str_rot13('OTlL0kt55OB+7fx='));
$tag = base64_decode(str_rot13('TA3o1LwSC5B2Qy9qRD5nSt=='));
$plain = openssl_decrypt(
base64_decode(trim($m[1])),
'aes-256-gcm',
$key,
OPENSSL_RAW_DATA,
$iv,
$tag
);
if ($plain === false) {
exit("Decrypt failed - __LINE__ veya surum uyusmuyor.");
}
echo str_rot13(base64_decode(str_rot13($plain)));5. Loader'da isim maskeleme- onfr64_qrpbqr -> ROT13 -> base64_decode
- eha_pbqr -> ROT13 -> run_code
- fge_ebg13 -> ROT13 -> str_rot13
Icerideki run_code fonksiyonu ayni son adimi yapiyor:
eval('?>' . str_rot13(base64_decode(str_rot13($code))));Biz eval etmeden ayni zinciri uyguluyoruz.
Ozet:
Alıntı
PHPkoru_Code blogunu AES-256-GCM ile ac, sonra cift ROT13 arasina sikistirilmis base64'u coz -> kaynak kod.