Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Script AntiFlood MUEMU  (Visto 9072 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline kind Posteado: May 04, 2020, 06:12:01 PM | Modificado: May 05, 2020, 08:03:55 AM by kind

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 153
  • Gracias recibida: 1852
  • ar
Bueno muchachos, hace rato no aportaba nada.
PRIMERO QUE NADA, EL CÓDIGO ES MUY NOOB, AGRADEZCO SI ALGUIEN PUEDE TOMAR LA BASE Y MEJORARLO.

Como funciona? Verifica si recibe mas de X intentos de conexión por minuto, una vez se supere el maxipconnection. Este script lo probé con pocos usuarios online, no recibi falsos positivos aun, pero imagino en un reconnect de un ip con varias accs conectadas (digamos 5 el limite) podría llegar a detectarlo como ataque y bloquearlo, por eso no es bueno excederse con el tiempo de bloqueo, y quizás agregar a la interfaz del gs una opción para desbloquear ips de forma manual.
Ademas, falta agregar configuraciones para manejarlo desde el common, tanto el tiempo de baneo, como la cantidad de intentos antes de banear, o el tiempo permitido entre conexiones.

El método de ataque no fue la consolita que venden en fb, fue otro mas efectivo, pero se vio reducido x el bandwitch del VPS desde donde se efectuó el mismo y aprovecho para agradecer a quien me lo prestó para testear, arriesgandose a que se lo bloqueen obviamente, ya que es una actividad no permitida por el 99% de los host.

Videos de prueba (grabados con el celu jajajaj)
GS SIN PROTECCION:

GS CON PROTECCION:






Espero les sirva, abrazo.

Gracias:

Londes1, oswaldo159, eliasjxd, timaster, yokkjll, jonathadll, ninjanegro, pedroevil51, jkarlos, SkullDs, ellite3, Xysad, renatovips, Smudevelop, ichigo, rodrigoo22, lozlomoka, lehuuducmjnh, phuongcuongmsqm, Duvy, brahian1891, elmaspijudo, saturno, S!ngle, hieuvt, OBBY, anderson2702, trapmu, distuber1, BDCAM, Dubzy93, e911217, llxMafiall, Ryzenn, jeffzkie69, funkymmo, Omar356, Dieguinho, giveusatan, Ermes, paulinunix, bamban, Saige, josejose, toxicarg, Iostream0694, Zahamael, epokiss, Mizuki, powerpatic, Sandokan, newgame, antonionni, usersa, Nakamura, bamster89, Networks6, yan0153, gwarana, zekcrom, lFlasHerp, haintbn, max1musn1, afiqui, aidz21121, joelsobrin95, RifleMaN_, solar, NVPGame, zHammer, muccone, kailknight, angel321, teza123, stopk, nofeara, omars, mavine, caio007, son1xx2, MuThrones, ghost7828, ewtn, concac123, carper, Felipe0211, oxey.mu, microvn, gega, victhorinox, marcelin, UnCleanOne, Murilo, pretzel01, mengzky0514, Dizzy, xlichblack, PhantomKr, thesofer, yNot, zeroalenda, weberson, kove0816, bin9xhn2, zhujianhui, hanzel, sagamacus, Genius05, kimrubi, korron, rogeralexander, redf0x, 6atters, walkeny, josuelll, Mirc3a007, AnarkiaMu, mkslep, warrior, 10mauro10, djnansr, NghienMU, boylasd, fengyun52894, Phoenix666, invdzim69, Gaudinio, snopke, xtian01, Crowley, gabirc22, MageBlack2021, pachu1, lolz3976, ttmu, EraseR, tbnet91, jhampool13, rekis, heroviet2301, ziza, vipgale01, 153426, Erick05, mcalbert1, thang1987, tammadall, Senhor-D, banam8910, Shaper, rodriiigo, maty12, liron003, ByFredy, realman, RAGNAR111, lramon, VERNERON, davidrcj, kindz1, castle, ernesto2, mustx1, manu1395, louis, tutu100, KhongGianOL, ArcSyS, tuyendam, tcbaoanh, lstuan, lkt22, judes, DuskDemonS, MaxVoll, emerson2004, LightofHeaven, morpheo, draco425, zlericklz, aof10022535, theone38, vodka, shadukan, animator, frenzo2009, anh1pk, daniel0101, zodiacddos, DjGamer, whisky123, alexfy, russo1, zhangjianle865, birdy491, jamiones24, taovanluc, tiendoanit, CezarMaster, mugloves99, lechianh88, showmax, tdthanh95, javier981, AmericaHost, judakiss21, 980508204, ledemkhoc, lunaticodeveloper, mocorongo, Konnopny, Leito0h, vnshell, cobyzero, kimera, Ifreat, straiker23, vaultdañado, Gaboo;, GuilhermeSouza, flakita23, joaopaulobiesek, fivqt, manfromvn, RaduOnica, admmunowar, ruojing, lala123, wolffrox, z348870672, Believe, diamonds, deathsquad, gredy, lupart, fabilus, ycr4zy, longcon, Shaman, wizzard, MsotoC, PachoRasta, vanhung_1990, DESINGMASTHER, MarkoZz, gonzalok91, admkolla, universalmu4, sannea, forever3000, BladeKnight109, nhanphu200, ImportedPotato, pulsefire, Wendigo, Androjd123, duodie, antoniomuanjo, dark, zlethanhlong, Van_Bom, roxtste, herjuni, Kosh, ConejoMalo, marius02, neeck1234, felipe1, alanzn, myheart, TidusDW, luisrobles, waltervg91, igznoth, thanhdau95, sagat202, Yasser, nonnan005, blazemu, harry130, GabrielDevel, Templario89, JavixFer, kahleb, Tester1838a, Genilson23, thanhbinhqht, elmaxis1, demmian2, jhonhy, haziel, DIOSES, Lude, BeckerIbero, Luke Strike, EzeQ, Liaon, nic269, fenospro, kakalot981, clockbooster, RafhaelSouza, Denif, votam2x, leones55, mechaloco, GabrielDev, Censored, juan1997, xsntx, kangsookhi, psalazar, dizzys, neicer, jhonnyx, Ryuno, InFamous, alivejr, luciferlg, dreamboy7, Ravoc, ofignacio, jorginhuz, xtestx, LeeHenry, artem, Hiếu Đại Ca, h3yShOk, dlawls662, Foreveus, samsunggon, theanh27, cruz4d3r, nujd00, tornado10, romariols, MuOnlineWebZen, gacon201294, pAndevbs, yhoon, remamakiller, WayneXzki, xsojomx, jaime, boypost, pepeeh, RoldanHost, z3r0x, TheKing027, Hugo, boncha, the_surfer, Cagver, prano, chyozh, liltronick, jinfansub, jorge2016, 423646802, zeruskill, traxxx, andreyzz, DarkovaX, mckjohan2019, k12leito, shangxin, infinite, Daniel@, Chupulum, Nexus, dhaomao, leilo2000, laulinh2, BooM, catkevin, Peterox, zerosp, kaiocnx, Denis Alves, Pyke, luckydead, kaisudo, djagripnos, stark98, c4nhsatcodong, saske98, quique13, EmmaDCG, knight.php, fer1992, muzic25, binhchivn, 183358, cri0, comelon666, Peluuca, dasgrid, Nucanor, Almdar, mastermcy, npt.formu, thunwa1, NasLy, beecubin, gauyeutho, kayito, Llalex, spartacus, axeman192, beibei, AZURE, mukillah, TzCr4ck, smallz170, Kapocha33, darkjano, LTP Team, chuckhai, FuriaG, Amphe, dahouzi, ZabiinoOo, emersonx13, dsw_pool, Karuritoku, trkgncmg, matheusgom, takumi12, SetecSoft, pquintal, allhoy, Odisk, seedmaker, ailsoncost, SbaGomez, Cartman, Mathi, xxmenonxx, melo920, SaintZeus, Seya, felipexgyn

Offline Mathi #1 Posteado: May 04, 2020, 06:26:32 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 247
  • Gracias recibida: 1270
  • ar

Gracias:


Offline takumi12 #2 Posteado: May 04, 2020, 06:48:41 PM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.310
  • Gracias recibida: 39648
  • mx
ya hiciste la gran parte bro, trataré de armar la interfaz para manejarlo desde la ventana del gs y compartirla para complementarla un abrazo y #noalmonopolio


Las offset no se crea, ni se destruye, solo se transforma

Gracias:


Offline emersonx13 #3 Posteado: May 04, 2020, 07:16:55 PM | Modificado: May 09, 2020, 11:08:00 PM by emersonx13

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • 3D Maker
  • 0 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 523
  • Gracias recibida: 32793
  • br
NO AL MONOPOLIO
NO AL MONOPOLIO
NO AL MONOPOLIO

Donate for my Work

BTC: 1HnXqN1wAh3EUC2Gi4WVH5Cj8fmihgeQze

Offline chuckhai #4 Posteado: May 04, 2020, 08:35:51 PM

  • 0 puntos por ventas
  • *
  • Rank: Avanzado
  • Posts: 134
  • Gracias recibida: 1063
  • vn

Offline kayito #5 Posteado: May 04, 2020, 11:09:22 PM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • ar
Muy bueno hermano, estas cosas son muy útiles. Entre todos podríamos intentar aportar mejoras para la seguridad ya que un antiflood es bastante necesario para la mayoría de los files. Tremendo aporte

Gracias:


Offline AZURE #6 Posteado: May 04, 2020, 11:41:33 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 267
  • Gracias recibida: 3029
  • cl
HOLA BRO DISCULPA PORQUE ME SALE ESTE ERROR


Offline pquintal #7 Posteado: May 04, 2020, 11:51:04 PM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 94
  • Gracias recibida: 1630
  • pt
HOLA BRO DISCULPA PORQUE ME SALE ESTE ERROR


#include "Util.h"

Gracias:


Offline dasgrid #8 Posteado: May 05, 2020, 12:06:59 AM | Modificado: May 05, 2020, 12:22:00 AM by dasgrid

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 2650
  • uy
Se olvido de declarar IpFloodLastTime ?
Code: [Select]
DWORD IpFloodLastTime;

Gracias:


Offline LionRooT #9 Posteado: May 05, 2020, 12:24:09 AM

  • Php Coder
  • +1 puntos por ventas
  • *
  • *
  • Rank: Heroe
  • Posts: 171
  • Gracias recibida: 735
  • ve
Buen aporte @kind :D

Para @AZURE y los que tengan problemas para compilar, solo agreguen en "IpManager.cpp"

#include "Log.h"
#include "Util.h"

Y en "IpManager.h" agreguen "DWORD IpFloodLastTime;" dentro de "struct IP_ADDRESS_INFO"

Gracias:


Offline AZURE #10 Posteado: May 05, 2020, 01:49:28 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 267
  • Gracias recibida: 3029
  • cl
Buen aporte @kind :D

Para @AZURE y los que tengan problemas para compilar, solo agreguen en "IpManager.cpp"

#include "Log.h"
#include "Util.h"

Y en "IpManager.h" agreguen "DWORD IpFloodLastTime;" dentro de "struct IP_ADDRESS_INFO"
gracias amigo


Offline kind #11 Posteado: May 05, 2020, 08:09:54 AM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 153
  • Gracias recibida: 1852
  • ar
Se olvido de declarar IpFloodLastTime ?
Code: [Select]
DWORD IpFloodLastTime;
Lo cambie antes de publicarlo, en la struct me quedo IpLastTime, corregido.

HOLA BRO DISCULPA PORQUE ME SALE ESTE ERROR

Regla general, todo lo que diga "log" o tenga texto entre comillas en algún lado, podes comentarlo que no va a afectar en nada en la mayoría de los casos. Por otro lado, antes de pedirlo pueden buscar dentro de la solución el inicio de la función, para ver si ya la tienen en algún lado, y de esa forma no hace falta que posteen pidiendo un código tan básico.


Al código le falta chicos, le falta checks varios (offattack, reconnects), e inclusive seria bueno hacer un map aparte para los ips bloqueados, cosa de no ensuciar tanto la estructura y tener otra aparte, por eso digo que si alguien puede mejorar el código, bienvenido sea.


Offline dasgrid #12 Posteado: May 06, 2020, 02:47:04 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 2650
  • uy
Recomiendo también agregarlo al ConnectServer y MHPServer no solo atacan al GS


Offline Nexus #13 Posteado: May 06, 2020, 11:10:31 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 350
  • Gracias recibida: 1106
  • ve
Chicos ayúdenme a entender algo

Este es el Gameserver bajo un ataque al puerto



Lo que hace este código es banear la ip y de esta manera evita el lag que genera y las de conexiones no es así?

Por otra parte seguí el concejo de @dasgrid de ponerlo en mhp y connectserver pero este es el resultado bajo ataque de ambos



Dice que bloquea la ip pero también sale el error que ocasionaba las des conexiones. esto es normal que salga también el error? pasa en ambos, mhp y connectserver.



Offline dasgrid #14 Posteado: May 06, 2020, 11:50:22 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 2650
  • uy
Chicos ayúdenme a entender algo

Este es el Gameserver bajo un ataque al puerto



Lo que hace este código es banear la ip y de esta manera evita el lag que genera y las de conexiones no es así?

Por otra parte seguí el concejo de @dasgrid de ponerlo en mhp y connectserver pero este es el resultado bajo ataque de ambos



Dice que bloquea la ip pero también sale el error que ocasionaba las des conexiones. esto es normal que salga también el error? pasa en ambos, mhp y connectserver.

A mi también me aparece el mismo log, estuve probando desde un vps y no obtuve desconexiones la IP queda bloqueda de igual manera
Tambien hice una configuracion para jugar con el tiempo asi no estar modificando todo desde source
Code: [Select]
;==================================================
; Anti Flood System
; Time = Miliseconds
;==================================================
IpLimitConnectionTime = 1000
IpConnectionBlockedTime = 600000
IpMaxAttemptsConnectionTime = 60000

Gracias:


Offline Nexus #15 Posteado: May 07, 2020, 12:11:49 AM | Modificado: May 07, 2020, 12:17:38 AM by Nexus

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 350
  • Gracias recibida: 1106
  • ve
Chicos ayúdenme a entender algo

Este es el Gameserver bajo un ataque al puerto



Lo que hace este código es banear la ip y de esta manera evita el lag que genera y las de conexiones no es así?

Por otra parte seguí el concejo de @dasgrid de ponerlo en mhp y connectserver pero este es el resultado bajo ataque de ambos



Dice que bloquea la ip pero también sale el error que ocasionaba las des conexiones. esto es normal que salga también el error? pasa en ambos, mhp y connectserver.

A mi también me aparece el mismo log, estuve probando desde un vps y no obtuve desconexiones la IP queda bloqueda de igual manera
Tambien hice una configuracion para jugar con el tiempo asi no estar modificando todo desde source
Code: [Select]
;==================================================
; Anti Flood System
; Time = Miliseconds
;==================================================
IpLimitConnectionTime = 1000
IpConnectionBlockedTime = 600000
IpMaxAttemptsConnectionTime = 60000


Podrías compartir tu configuración? intente hacerla pero no me toma los miliseg :( XD Gracias


Offline dasgrid #16 Posteado: May 07, 2020, 12:27:15 AM | Modificado: May 07, 2020, 12:31:27 AM by dasgrid

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 108
  • Gracias recibida: 2650
  • uy
stdafx.h
Code: [Select]
extern long MaxIpConnection;
extern long IpLimitConnectionTime;
extern long IpConnectionBlockedTime;
extern long IpMaxAttemptsConnectionTime;

ConnectServer.cpp
Code: [Select]
char CustomerName[32];
long MaxIpConnection;
long IpLimitConnectionTime;
long IpConnectionBlockedTime;
long IpMaxAttemptsConnectionTime;

MaxIpConnection = GetPrivateProfileInt("ConnectServerInfo","MaxIpConnection",0,".\\ConnectServer.ini");

IpLimitConnectionTime = GetPrivateProfileInt("ConnectServerInfo","IpLimitConnectionTime",0,".\\ConnectServer.ini");

IpConnectionBlockedTime = GetPrivateProfileInt("ConnectServerInfo","IpConnectionBlockedTime",0,".\\ConnectServer.ini");

IpMaxAttemptsConnectionTime = GetPrivateProfileInt("ConnectServerInfo","IpMaxAttemptsConnectionTime",0,".\\ConnectServer.ini");

IpManager.cpp
Code: [Select]
return ((MaxIpConnection==0)?0:1);
if(abs((int)((it->second.IpTime-it->second.IpTime2)) < IpLimitConnectionTime))
if(it->second.IpBlockedTime != 0 && abs((int)((GetTickCount()-it->second.IpBlockedTime))) > IpConnectionBlockedTime)
if(it->second.IpFloodAttemps > 0 && (abs((int)((GetTickCount()-it->second.IpFloodLastTime))) < IpMaxAttemptsConnectionTime))

En GameServer y MHPServer es igual solo cambian algunos parámetros nomas

Gracias:


Offline axeman192 #17 Posteado: May 07, 2020, 05:32:22 AM

  • 3D Maker
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 287
  • Gracias recibida: 11887
  • vn
¿Cómo puedo probar este código con mi servidor funcionando?


Offline melo920 #18 Posteado: May 07, 2020, 11:19:14 AM | Modificado: May 07, 2020, 12:29:32 PM by melo920

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 281
  • Gracias recibida: 6445
  • co
stdafx.h
Code: [Select]
extern long MaxIpConnection;
extern long IpLimitConnectionTime;
extern long IpConnectionBlockedTime;
extern long IpMaxAttemptsConnectionTime;

ConnectServer.cpp
Code: [Select]
char CustomerName[32];
long MaxIpConnection;
long IpLimitConnectionTime;
long IpConnectionBlockedTime;
long IpMaxAttemptsConnectionTime;

MaxIpConnection = GetPrivateProfileInt("ConnectServerInfo","MaxIpConnection",0,".\\ConnectServer.ini");

IpLimitConnectionTime = GetPrivateProfileInt("ConnectServerInfo","IpLimitConnectionTime",0,".\\ConnectServer.ini");

IpConnectionBlockedTime = GetPrivateProfileInt("ConnectServerInfo","IpConnectionBlockedTime",0,".\\ConnectServer.ini");

IpMaxAttemptsConnectionTime = GetPrivateProfileInt("ConnectServerInfo","IpMaxAttemptsConnectionTime",0,".\\ConnectServer.ini");

IpManager.cpp
Code: [Select]
return ((MaxIpConnection==0)?0:1);
if(abs((int)((it->second.IpTime-it->second.IpTime2)) < IpLimitConnectionTime))
if(it->second.IpBlockedTime != 0 && abs((int)((GetTickCount()-it->second.IpBlockedTime))) > IpConnectionBlockedTime)
if(it->second.IpFloodAttemps > 0 && (abs((int)((GetTickCount()-it->second.IpFloodLastTime))) < IpMaxAttemptsConnectionTime))

En GameServer y MHPServer es igual solo cambian algunos parámetros nomas


yo tambien ando haciendo test no quería aportar algo hasta no tenerlo completo, pero les recomiendo trabajarlo en potencia y no tenener que andar escribiendo 60000 numeros exagerados.

Code: [Select]
if(abs((int)((it->second.IpTime-it->second.IpTime2)) < IpLimitConnectionTime* 1000))
if(it->second.IpBlockedTime != 0 && abs((int)((GetTickCount()-it->second.IpBlockedTime))) > IpConnectionBlockedTime* 1000)

entonces seria asi


IpLimitConnectionTime = 1
IpConnectionBlockedTime = 600


// IpLimitConnectionTime = Seconds 1000  ahora 1
// IpConnectionBlockedTime = Seconds 600000  ahora 600



hay que hacer unas reglas supongamos que es donde básicamente permites las múltiples conexiones y por eso comienza a registrar el mensaje de error. solo que mi Internet a estado pésimo y no me abre ni el vps para seguir revisando y poder completar algo

Code: [Select]
		if((index=GetFreeClientIndex()) == -1)
{
closesocket(socket);
lpSocketManager->m_critical.unlock();
continue;
}


Code: [Select]
		if(socket == SOCKET_ERROR && WSAGetLastError() != WSAEWOULDBLOCK)
{
lpSocketManager->m_critical.lock();
LogAdd(LOG_RED,"[SocketManager] WSAAccept() failed with error: %d",WSAGetLastError());

lpSocketManager->m_critical.unlock();
continue;
}

Gracias:


Offline pquintal #19 Posteado: May 07, 2020, 02:51:18 PM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 94
  • Gracias recibida: 1630
  • pt
yo agregue a la condicionate lo siguiente y me ha funcionado sin fallas, solo que testee con una sola ip hasta 8 mains consecutivos en reconexion sin errores
bueno seria testearlo con varias ip's a la misma vez

Code: [Select]
&& it->second.IpAddressCount > gServerInfo.m_MaxIpConnection

Gracias:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
6 Replies
4645 Views
Last post August 14, 2022, 10:01:45 PM
by Shrimp
19 Replies
4571 Views
Last post March 27, 2022, 11:06:34 PM
by louis
2 Replies
752 Views
Last post June 03, 2021, 11:40:55 PM
by markxj6
6 Replies
1868 Views
Last post September 10, 2023, 12:10:35 PM
by mehralion
9 Replies
1007 Views
Last post January 13, 2024, 06:51:10 PM
by Duvy