Rumah  >  Artikel  >  hujung hadapan web  >  Menggunakan HTML untuk melaksanakan skim penipuan tapak web mengundi yang mengehadkan pengeluaran halaman web IP_HTML/Xhtml_Web

Menggunakan HTML untuk melaksanakan skim penipuan tapak web mengundi yang mengehadkan pengeluaran halaman web IP_HTML/Xhtml_Web

WBOY
WBOYasal
2016-05-16 16:36:421529semak imbas

Mengenai skim penipuan laman web mengundi yang mengehadkan IP, kaedah ini mengambil kesempatan daripada beberapa kelemahan dalam laman web mengundi untuk memantau IP jauh Tidak ada alamat IP palsu yang sebenar adalah lapisan ketujuh di atas TCP yang memalsukan alamat IP sebenar baru-baru ini memerlukan perisian pengundian baru-baru ini saya menyelidik laman web pengundian ini mempunyai kod pengesahan dan setiap IP adalah terhad kepada satu undian. Saya mengkaji kod pengesahan dahulu:

Kod pengesahan laman web pengundian ini pada mulanya sangat mudah, dengan empat nombor standard dalam kedudukan standard, yang mudah dikenal pasti. Kemudian, ia berubah ke tahap di mana bilangan digit tidak semestinya pasti, dan terdapat juga huruf, dan kedudukannya tidak semestinya naik dan turun Sekarang pengiktirafan kod pengesahan bukan sahaja sukar untuk perisian, tetapi juga sukar untuk pengenalan manual. Tidak ada jalan keluar di pergunungan dan sungai, tetapi terdapat satu lagi kampung dengan pohon willow yang terang dan bunga yang terang Sila lihat pecahan dalam perenggan seterusnya!

Selepas analisis dan penyelidikan berterusan saya, saya mendapati terdapat celah dalam semakan kod pengesahannya. Saya mendapati kod pengesahan ini tidak berguna kerana dia hanya berada di halaman pilihan undian Tetapkan kod js yang menyemak sama ada kod pengesahan dijalankan pada klien Kesan pengesahan ini adalah sifar kemudahan pengguna. Sebagai laman web pengundian, hanya pengesahan jenis ini digunakan Dengan cara ini, halaman dinamik pemprosesan undian tidak menyemak sama ada kod pengesahan itu kosong, yang benar-benar tidak menyanjung dan membawa bahaya tersembunyi yang besar kepada keselamatan. daripada laman web tersebut.

Mengenai isu kod pengesahan, saya telah mengetahui tentang kaedah pemecahan selagi fail kod pengesahan tidak diakses secara langsung semasa mengundi, kod pengesahan akan kosong Memandangkan halaman dinamiknya tidak menyemak sama ada kod pengesahan itu kosong, jadi selagi Hanya biarkan parameter kod pengesahan kosong semasa menyiarkan.

Masalah lain ialah tapak web mengundi menyemak IP dan mengehadkan IP untuk hanya membenarkan satu undian Ini hanya boleh dicapai dengan menggunakan proksi atau dengan memutuskan sambungan dan mendail secara berterusan. Saya benar-benar tidak dapat memikirkan cara lain yang baik Kemudian, rakan ini menemui program yang boleh mengundi di laman web ini dengan sangat cepat saya ingin tahu tentang penyelesaian IP program ini, jadi saya meminta rakan saya menganalisisnya.

Pertama sekali, saya mengkaji perisian undian ini dengan menangkap paket Selepas saya bersedia, saya membuka program undian dan berkata, "Segarkan! Cepat untuk konflik perisian, kemudian saya akan menutup beberapa program menutupnya, hanya satu program penangkapan paket yang tinggal dan ia masih mencetuskan konflik Haha, ternyata program ini sebenarnya tahu bahawa seseorang mungkin menganalisis perisiannya, malah ia merentasi nama proses untuk memeriksa sama ada terdapat program yang mencurigakan. Jika ada program untuk menganalisisnya atau menangkap paket, , dia enggan menjalankan. Haha, pada masa ini saya tahu bahawa perisian yang dia hadkan termasuk perisian pengaturcaraan bahasa mudah dan perisian penangkapan paket WSockExpert_Cn. Haha, saya mematikan Bahasa Yi, menukar nama WSockExpert_Cn, dan berjaya melepasi ujian keselamatan perisian itu sendiri dan berjalan dengan jayanya.

Berikut ialah pakej data yang beliau undi semasa saya menggunakan:

Kod XML/HTMLSalin kandungan ke papan keratan
  1. POST /vote/view.php?sid=33 bertindak=undi HTTP/1.1
  2. Terima: */*
  3. Perujuk: http://www.qdnfy.gov.cn/vote/vote.php
  4. Jenis Kandungan: application/x-www-form-urlencoded
  5. X-Dimajukan-Untuk: 218.20.218.200
  6. IP_PELANGGAN: 218.20.218.200
  7. MELALUI: 218.20.218.200
  8. REMOTE_ADDR: 218.20.218.200
  9. Terima-Bahasa: zh-cn
  10. Terima-Pengekodan: teks
  11. Ejen Pengguna: Mozilla/4.0 (serasi; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)
  12. Hos: www.qdnfy.gov.cn
  13. Kuki: PHPSESSID=pldjnb6scereodjm5niqb9q990
  14. Panjang Kandungan: 49
  15. Sambungan: Tutup

  -Forwarded-For Ich habe diesen http-Header-Parameter gefolgt von IP gefunden, haha, dieser Parameter muss einen Hintergrund haben, es stellte sich heraus, dass ich ihn nie wusste, haha, beeilen Sie sich und suchen Sie auf Baidu.

Das Folgende ist ein erklärender Artikel von Baidu. Er erklärt es sehr gut.
Das X-Forwarded-For-Feld im HTTP-Header fälschen, um eine IP zu fälschen. Das ist das erste Mal, dass ich von X-Forwarded-For gehört habe. Forwarded-For: Abkürzung für XFF-Header, der den Client darstellt, dh die tatsächliche IP des HTTP-Anforderers. Dieses Element wird nur hinzugefügt, wenn der HTTP-Proxy oder der Lastausgleichsserver übergeben wird.

Es handelt sich nicht um die in RFC definierten Standard-Anfrage-Header-Informationen. Eine detaillierte Einführung zu diesem Element finden Sie in der Entwicklungsdokumentation für den Squid-Cache-Proxy-Server.

 Das Standardformat ist wie folgt:

X-Forwarded-For: client1, Proxy1, Proxy2

Wie aus dem Standardformat hervorgeht, kann es mehrere durch Kommas getrennte X-Forwarded-For-Header geben. Das erste Element ist die echte Client-IP, und der Rest sind die Proxy- oder Load-Balancing-IPs, die durchlaufen wurden . Nach der Übergabe mehrerer Adressen werden mehrere angezeigt.

X-Forwarded-For-Erklärung des Wikis http://en.wikipedia.org/wiki/X-Forwarded-For-Analyse:

Da wir die Client-IP fälschen möchten, schauen wir uns zunächst an, wie wir die Client-IP-Adresse erhalten (am Beispiel von PHP). Die meisten Websites verwenden möglicherweise diesen Code.

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. $user_IP = ($_SERVER["HTTP_VIA"]) ? //Ob ein Proxy verwendet wird
  2. $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
  3. //Wenn die Erfassung fehlschlägt, holen Sie sie von REMOTE_ADDR
  4. $
  5. user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
  6. ?>
  7. Stellen Sie zunächst fest, ob der HTTP_VIA-Header vorhanden ist. Wenn nicht, ermitteln Sie die IP-Adresse des Clients aus dem Feld REMOTE_ADDR . Ich vermute, dass der Code der Mitglieder alle von Baidu stammt.
Dann lass es uns testen

 

Servercode:

XML/HTML-Code

Inhalt in die Zwischenablage kopieren
//Ausgabe HTTP_X_FORWARDED_FOR
  1. echo „HTTP_X_FORWARDED_FOR:“.$_SERVER[“HTTP_X_FORWARDED_FOR“];
  2. //Ausgabe REMOTE_ADDR echo „REMOTE_ADDR:“.
  3. ?>
  4. Sie können sehen, dass die erhaltenen Client-IP-Adressen unterschiedlich sind Wenn also eine Website die Client-IP-Adresse aus X-Forwarded-For ermittelt, dann können wir diese logische Lücke nutzen, um die Stimmen zu erhöhen.
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn