Heim  >  Artikel  >  Web-Frontend  >  HTML implementiert ein Betrugsschema für Abstimmungswebsites, das IP-Adressen einschränkt

HTML implementiert ein Betrugsschema für Abstimmungswebsites, das IP-Adressen einschränkt

高洛峰
高洛峰Original
2017-02-25 13:48:231424Durchsuche

In Bezug auf das Betrugsschema für Abstimmungswebsites, das IP-Adressen einschränkt, nutzt diese Methode einige Lücken in Abstimmungswebsites aus, um Remote-IPs zu überwachen. Es gibt keine echte gefälschte IP-Adresse, was unmöglich ist Wer kürzlich eine echte IP-Adresse gefälscht hat, brauchte eine Abstimmungssoftware. Diese Abstimmungswebsite hat einen Bestätigungscode und jede IP ist auf eine Stimme beschränkt. Es scheint eine Standard-Abstimmungswebsite zu sein. Ich habe zuerst den Bestätigungscode studiert:

Der Bestätigungscode dieser Abstimmungswebsite ist zunächst sehr einfach, mit standardmäßigen vier Zahlen an Standardpositionen, was leicht zu identifizieren ist. Später kam es zu einem Punkt, an dem die Anzahl der Ziffern nicht unbedingt sicher war und es auch Buchstaben gab und die Positionen nicht unbedingt auf und ab waren. Nun war die Erkennung des Verifizierungscodes für die Software nicht nur schwierig, sondern auch schwierig zur manuellen Identifizierung. Es gibt keinen Ausweg in den Bergen und Flüssen, aber es gibt ein anderes Dorf mit dunklen Weiden und leuchtenden Blumen. Die Aufschlüsselung finden Sie im nächsten Absatz!

Nach meiner kontinuierlichen Analyse und Recherche habe ich festgestellt, dass es eine Lücke in der Überprüfung des Bestätigungscodes gibt. Es besteht keine Notwendigkeit, den Code zu identifizieren oder zu überprüfen Er hat es direkt umgangen, weil er nur den JS-Code festlegt, der prüft, ob der JS-Code auf dem Client ausgeführt wird. Im Allgemeinen ist diese Art der JS-Überprüfung gleich Null Als Abstimmungswebsite wird nur dies verwendet. Eine Überprüfungsmethode, bei der nicht überprüft wird, ob der Bestätigungscode auf der dynamischen Seite für die Abstimmungsverarbeitung leer ist, ist wirklich nicht schmeichelhaft und birgt große versteckte Gefahren für die Sicherheit der Website.

Bezüglich des Verifizierungscodeproblems habe ich von der Cracking-Methode erfahren. Solange auf die Verifizierungscodedatei nicht direkt zugegriffen wird, ist der Verifizierungscode leer, da seine dynamische Seite nicht überprüft Der Bestätigungscode ist leer, solange der Bestätigungscode-Parameter beim Posten leer ist.

Ein weiteres Problem besteht darin, dass diese Abstimmungswebsite die IP überprüft und eine IP darauf beschränkt, nur eine Abstimmung zuzulassen. Dies kann nur durch die Verwendung eines Proxys oder durch ständiges Trennen und Einwählen erreicht werden. Mir fiel wirklich kein anderer guter Weg ein. Später fand dieser Freund ein Programm, das auf dieser Website abstimmen konnte. Ich war sehr neugierig auf die IP-Lösung dieses Programms und bat meinen Freund, es zu analysieren.

Zuerst habe ich diese Abstimmungssoftware durch Erfassen von Paketen studiert. Nachdem ich fertig war, öffnete ich das Abstimmungsprogramm und „Aktualisierte! Prompt-Softwarekonflikt!“ Haha, nein, dann werde ich einige nach dem Schließen ausschalten Alle Programme, nur ein Paketerfassungsprogramm war übrig und es kam immer noch zu einem Konflikt. Haha, es stellte sich heraus, dass dieses Programm tatsächlich wusste, dass jemand seine Software analysieren könnte, um zu überprüfen, ob es verdächtige Programme gab. Wenn es ein Programm gäbe, würde es es analysieren. Wenn das Paket erfasst wird, wird die Ausführung verweigert. Haha, derzeit weiß ich, dass die von ihm eingeschränkte Software einfache Programmiersoftware und die Paketerfassungssoftware WSockExpert_Cn umfasst. Haha, ich habe Yi Language deaktiviert, den Namen WSockExpert_Cn geändert und den eigenen Sicherheitstest der Software erfolgreich bestanden und erfolgreich ausgeführt.

Das Folgende ist das Datenpaket, für das er während meiner Verwendung gestimmt hat:

POST /vote/view.php?sid=33act=vote HTTP/1.1   
Accept: */*   
Referer: http://www.qdnfy.gov.cn/vote/vote.php   
Content-Type: application/x-www-form-urlencoded   
X-Forwarded-For: 218.20.218.200   
CLIENT_IP: 218.20.218.200   
VIA: 218.20.218.200   
REMOTE_ADDR: 218.20.218.200   
Accept-Language: zh-cn   
Accept-Encoding: text   
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)   
Host: www.qdnfy.gov.cn   
Cookie: PHPSESSID=pldjnb6scereodjm5niqb9q990  
Content-Length: 49   
Connection: Close

-Forwarded-For 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, lasst uns ihn auf Baidu suchen.

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:

Es können mehrere durch Kommas getrennte Header-Informationen vorhanden sein. Das erste Element ist die tatsächliche Client-IP, der Rest ist Die Proxy- oder Load-Balancing-IP-Adressen, die mehrere durchlaufen haben, werden nach dem Passieren mehrerer 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, lassen Sie uns zunächst Folgendes tun Schauen Sie sich an, wie die Client-IP-Adresse im Allgemeinen erhalten wird (nehmen Sie PHP als Beispiel). Die meisten Websites verwenden diesen Code.

$user_IP = ($_SERVER["HTTP_VIA"]) ? //是否使用了代理    
$_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];    
//获取失败则从REMOTE_ADDR获取   
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];    
?>

Stellen Sie zunächst fest, ob der HTTP_VIA-Header vorhanden ist. Wenn nicht, ermitteln Sie die IP-Adresse des Clients. Holen Sie sich die IP-Adresse des Clients von X -Forwarded-Um die Client-IP zu erhalten, verwenden viele Programmierer vermutlich einen ähnlichen Code wie

Server Code:

//输出HTTP_X_FORWARDED_FOR    
echo "HTTP_X_FORWARDED_FOR:".$_SERVER["HTTP_X_FORWARDED_FOR"];    
//输出REMOTE_ADDR echo "REMOTE_ADDR:". $_SERVER["REMOTE_ADDR"];    
?>
Sie können sehen, dass die erhaltene Client-IP-Adresse unterschiedlich ist.

Wenn also eine Website die Client-IP-Adresse von X-Forwarded-For ermittelt, dann können wir diese logische Lücke nutzen, um Stimmen zu klauen.

Weitere Artikel zur HTML-Implementierung des Betrugsschemas für Abstimmungswebsites zur Einschränkung von IP-Adressen finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn