From c0c19b2ed37609245708d590ca300afdba2426e6 Mon Sep 17 00:00:00 2001 From: morzlee Date: Fri, 25 Oct 2024 22:09:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=81=B6=E6=84=8F=E6=90=9E?= =?UTF-8?q?=E4=BA=8B=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SendFileExploitFix_csgo_1_2_2021.txt | 29 ++++ .../plugins/fixes/SendFileExploitFixV3.3.smx | Bin 0 -> 5614 bytes .../SendFileExploitFix_csgo_1_2_2021.txt | 29 ++++ .../plugins/SendFileExploitFixV3.3.smx | Bin 0 -> 5614 bytes .../scripting/SendFileExploitFixV3.3.sp | 128 ++++++++++++++++++ .../scripting/SendFileExploitFixV3.3.sp | 128 ++++++++++++++++++ cfg/generalfixes.cfg | 1 + 7 files changed, 315 insertions(+) create mode 100644 addons/sourcemod/gamedata/SendFileExploitFix_csgo_1_2_2021.txt create mode 100644 addons/sourcemod/plugins/fixes/SendFileExploitFixV3.3.smx create mode 100644 addons/sourcemod/plugins/gamedata/SendFileExploitFix_csgo_1_2_2021.txt create mode 100644 addons/sourcemod/plugins/plugins/SendFileExploitFixV3.3.smx create mode 100644 addons/sourcemod/plugins/scripting/SendFileExploitFixV3.3.sp create mode 100644 addons/sourcemod/scripting/SendFileExploitFixV3.3.sp diff --git a/addons/sourcemod/gamedata/SendFileExploitFix_csgo_1_2_2021.txt b/addons/sourcemod/gamedata/SendFileExploitFix_csgo_1_2_2021.txt new file mode 100644 index 000000000..f81a9131e --- /dev/null +++ b/addons/sourcemod/gamedata/SendFileExploitFix_csgo_1_2_2021.txt @@ -0,0 +1,29 @@ +"Games" +{ + "csgo" + { + "Addresses" + { + "CheckReceivingList" + { + "windows" + { + "signature" "CheckReceivingListSig" + } + "linux" + { + "signature" "CheckReceivingListSig" + } + } + } + "Signatures" + { + "CheckReceivingListSig" + { + "library" "engine" + "windows" "\x55\x8b\xec\x81\xec\x30\x01\x00\x00\x69\x45\x08\x30\x01\x00\x00\x53\x56\x8d\xb1\x50\x01\x00\x00" + "linux" "\x55\x89\xE5\x57\x56\x53\x81\xEC\x2A\x2A\x2A\x2A\x8B\x5D\x0C\x65\xA1\x14\x00\x00\x00\x89\x45\xE4\x31\xC0\x8B\x75\x08\x69\xFB\x2A\x2A\x2A\x2A\x01\xF7" + } + } + } +} \ No newline at end of file diff --git a/addons/sourcemod/plugins/fixes/SendFileExploitFixV3.3.smx b/addons/sourcemod/plugins/fixes/SendFileExploitFixV3.3.smx new file mode 100644 index 0000000000000000000000000000000000000000..d64c651036461f8acb523bbc2ab23e941096ce7c GIT binary patch literal 5614 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 literal 0 HcmV?d00001 diff --git a/addons/sourcemod/plugins/gamedata/SendFileExploitFix_csgo_1_2_2021.txt b/addons/sourcemod/plugins/gamedata/SendFileExploitFix_csgo_1_2_2021.txt new file mode 100644 index 000000000..f81a9131e --- /dev/null +++ b/addons/sourcemod/plugins/gamedata/SendFileExploitFix_csgo_1_2_2021.txt @@ -0,0 +1,29 @@ +"Games" +{ + "csgo" + { + "Addresses" + { + "CheckReceivingList" + { + "windows" + { + "signature" "CheckReceivingListSig" + } + "linux" + { + "signature" "CheckReceivingListSig" + } + } + } + "Signatures" + { + "CheckReceivingListSig" + { + "library" "engine" + "windows" "\x55\x8b\xec\x81\xec\x30\x01\x00\x00\x69\x45\x08\x30\x01\x00\x00\x53\x56\x8d\xb1\x50\x01\x00\x00" + "linux" "\x55\x89\xE5\x57\x56\x53\x81\xEC\x2A\x2A\x2A\x2A\x8B\x5D\x0C\x65\xA1\x14\x00\x00\x00\x89\x45\xE4\x31\xC0\x8B\x75\x08\x69\xFB\x2A\x2A\x2A\x2A\x01\xF7" + } + } + } +} \ No newline at end of file diff --git a/addons/sourcemod/plugins/plugins/SendFileExploitFixV3.3.smx b/addons/sourcemod/plugins/plugins/SendFileExploitFixV3.3.smx new file mode 100644 index 0000000000000000000000000000000000000000..d64c651036461f8acb523bbc2ab23e941096ce7c GIT binary patch literal 5614 zcmXw)cOcaNAIDFMd^0Mf6A7j4Y-e4PknD`?Eji=tahyw(oxKyz-Yc8S$W~VN-C12q z4re?3KK1*4|9F0$kN4}I@7MeF{`_&D$B(u3&QVZoFoQsO4?!SCG6)3fqW~WNIujTK zq5^oH6$Eml2Z3k-e##311p^N30Sy5x4fst!=lMV&Bf#$hG6k68A_yb|u$d?b^bPPo zIWaMy2hd*`V5m3<)C#yRpksie05=2lMgjz40^A8u2Edkp`vW=#I0o=AK;e=gkSgGD zfJOms1cuD~QDW7on>t4YQq&V)K+kpEmha~zF-Qmgq#A~SHTa?(cKA6EVzvM`oJt5 z%>y@1kP*rLGDi$(@M%tB@7$@p_Z;aBbwvjHbhI2V_~0DM>&gxu&MjG#=ARav*Slzu z=*In!ev!h@-ie%ug1*Fah-}8*H~>?gm7$QIFxe8D1Ufm!-2;2dZ1GJ;%8nk){*412 zO5%+JZmLsG%Com9UI$F9He zA{5ja4>Sehew0wCL3YPyOd%a28^s~9*^Yu*<72@GDs*H=%Co3H$9KT+<-URKlbA}$ z%?vt32Z}>#^9>zYgc8|_0p=;BBa2a;`cWc3W3t6IzqKAAT2K~t_;ISBS`<-iGlVK= z0>eT}wxUE%U^v7!@6wXhD3P-ms2v`N10yI?;u7xcTp)g;{)i(3smivc%sy1FD==ID(Eu?>VUTp-DIIfj3c_5T=6Zmf9@gq z=N>M2E${*1=O%+{CUW1c!fAa+BGF`9LKWMz-F;iDt=T$WIQIUlDwI!f!Ov|tuLW_Y zHQfQ0m*5|Iz@>znwioLpG~T?%zo9NidHYHP|B!Afws#q(?w{Xg@91pRx`kU#=|A?H^}BkOt)3z@Y&nEGf0Od` zqBMQ$#d%u9rDI8$)j6r~3iD96kRJhp4UavA*9R#@B}uo57u*JYHJ`|e zG>PG!X22Ykky`3!M|Gz?Xki(PfR2w?#mrr!*~a$)Cei#X`i-CG>I2rh;t6a6nJOOy zSnOI&>{?mgwk8tXYD)->J4wIGzo!kI=p9s5IN8EFk7n&?XRviqj?#sf@;eqyXLY5B z6N^R*dR>!08RxBQMoYly5-5l)e5bd8?! z!|DaM@HRK+pKPDdOznN)O1!Lq0D}#}2l z=G+5L9L=))GFU2#Au7cbSCZINy7ImAV52|$EzbO&-424XJwrG~e{3!y2n&6t<|-J& z%qED`3THMPQ_?ihN!rKl!fGwOK{!H$&@)GLaRl{7> zQ*Bx`6>C-FaL(VVNN{Ykg_`<)z5DwT>e|TfGd8Y;wO=axQc8w&1zFx24)cnXLekp! zG{en?dA9%@{dqLu_6#n1TR(Hi#p|qd>uck{{o$pqnfGRucWqK5c+9l;7b4mVuN9^$Q7?sQdLXv{Mr~Hz5;1tA+Q2MLvM>C&A*P>e zj@1n@d4V}ahjuA#4>6QbNVHqg$ z$SDJ?%p+%Ah9%|`Ofy=!Zz_9xz$5J_U0k_jsWUX+gG-m0Q z=p0jmO&W~~e}IEXZ3F)HiS8JK`^dswVgGLlyfqK??=>~7IIVhr!ag}#PP49g=7~m^ z^waDSP*^Qm>z5%OvxC3)!CDYK#W~^5>+&rRW@2e6HLoxR-*m~~V|n5SZIXv3nFf9k zn{4_#o6)}kO@(`y-)|qG@V-BjCzC$Ek<8Qikjc_*UJd)awb;Uo8&XwR=yMA^DfD@M zc17Fas@Te%ed*`aU2Jk}sRAkR*8CSOxmHf|`-2S?CO(_^PfW0mp-0z3??y`J>Ao!= zBz)6g<8zQB-ujYt*yw=1V!+9!;%l3;i^T;Xi6@hXmkjgDjLUZ7%A^cfpF_t)Ud`c- z@S0K^w)>?$;rhdaEQ3wdYz@7`zRS9vr9@dqJE+8dtzM%Xsco5r5yh2)km1B;w;Zw< zb`;Lh*5_lWF6cxpnfE3g-awsfQuQ7Vm+$DT2@CGxpJ*A%YJ9EGx1*oDn}Iooe+s-R z9dT)EDwribN%%5OQL=lYgA6aKc0@=eExc^aa(>SDJ_0sd^V6U zlEqCK65zewuF>=6<1Q_>y_XgINkRUqX_3D8d`DcjbikqRXu5Qw@CN_$;uwt#8QlQO z&c4M8Wrp*GjwNCX)gnD$tzD)k?`~1p2D=elH7Q8B_$^Gj=@%?b6reH?e z-Nkude$$aTh(J6{G?&49nT-fiWLlR z1fP=9JpL@!c}cF6As8=VGt6!>C)3(MBk@S;a^+Ni^T_!URyH3;2iWjYCP{(q{W}#Z zj~eN<#Ucly*{{9apGvOS!Q@-U-xz8`wT|vueJ%+#_Iq^UoznF7Ip-q(Zkpm%AG?7$ z%+EE7>-UTUPD0ga-*b@;h-_$uXu+P~>R4f*@ z%jMn&CmqvoNsPby5%gg>B!5AZDyj2HuF&B0`eqT@x`k%g3>vHx6`T!S60v##1QO)hThY_EDmywLiH6Db^ z^kDO$=y1m(Lc}C>2-1}~$8_~ zN_@`lacU3W+)DXtvkjNG3x+&XY+ZSG!u_I_kqxpNJoDX%4EUpYo|ITdbt1pvteW_m zvqZ1VtFY!9Op-p+uYG-#^eQJatC|Tj3j)($*?+m*;<@Y?mDFMrzVVsou&M3&eDRCD z(Usbsg>ZO!5E;C>-%X3A>C09=RU1-Fe^pjEYyeMxT}IUV7%?u6UfWAf4Hw`2(fm*> z?mL&pgHv&-+xFZV-5T4B(!(n5PoekhZzCOMV7y}Se*GdR=+q>EaU0&+c&~(CR}4Kq z4oe1f4`m9A?)Pckd0Kf{%snIjX@7QIBBWm=N3B0w?S+9m?FKX2Z^o6Ek>sMDmX>|3 z!KIy0&~!MSEDGV39Ujq37M0gB86cBw)YCp7U-F9WR0`NdoR;Sg>3k$T|KzBcUT`wD zZ@+ftIXszDnj>>En!a;GVhtCgU%0&WbB9i1P4?y3qO^OfxuRJI*Sy41Go~Z#F-gC$ zw0fJQ{~ISP$=Bp`mfjt$($pgGpyK-o@oV6n2s8Gcib!jxT%-K%-aI3%JXXCSUnZNG z(OY|NiNvYAX;-zVu`^9m$8Y@b`iLK2hbNbZ^-9BHhD`;xUK`)>WcvP7I$7KJ=uPyK z65+w2(>Q6_KxHB2iEA%s8Izko$n$bYozT=jRM5_~*U5NaJCPsFapR=VB8n$acZp4d{}~bN-9I#CP{ggoC}Js#eS$u;;60~j>c4y zE--BpSC$hx3TuTn{bUkA9iNyllBvy?f^msS0}KU1pbq839LY1)LzJ*?5FV-*gzwM> z1Tc8uOJr7AJF<|Ban%bl7g)7bqf{A)TLu-%$2C^$qj|S?6WYWYNvwcb&u%82H&%g`ad?j7lp>~LZ=8|c=X3Xgj zk=vBG0y0K@Nqht%|4$w2ZZI8Y9CLjWV#(%vP5O(0c@&MMY}Kg2$P5V;XljPhxz*8; zaZYHdLc^>sX?(}p1fnKP(GD{GM{cT!ZTY*>R?5sknjgfCyXwL;18mjtzD3s6eM-aW zfx}c8RfpxI2?%}?BZk?h5C&CJNZRywa5S7Ql+YLaZzg{6 zLfIXGk*Q4D z_uDpsKH5Q+cUP&sb%OB2i5!inZAw>QlLn@jrPxodO?4P|DKb%MI5IMEnL_Fn3BQct z0G;r78Ea99E&Ui^nes&B+lT`n)t_HQ_7sA|&t;-d1r0|2@kE~p?D|&AtOisw1Wp-f zUc}izQI%Cl3~_E?bXNk;h?zo_R#~(u9tK0}lJeFvFz4Lpw084!pT3uB+-CFt-d81mDY=n0FTnlcge?RWRa-B<>n}ub1X91Nvt>VR?Cv{L^ag zAEod*P|HZ054#U0a`*Pz{oKj%SfVz%>02(1*|O8cx$km?$GFYgWLs2Ziu}0OJ3dS8 z?bd2C5m}@sIDlG)MYjf5QKw{cy*(_!GCoWZuGQT8#p+H8EXvnuoCQH4YMy)*aZ0M& z<*YvM!bJUTva>-gNQP*HOAe8An`=^F@#T45Iq}Xjv<6$oWfI~O{Y@j9Sv1g4&X?11 z;kok1l7`f#$6njiE2-&RYYkDpoXPH+@krd zId25ZhSpgNU#QTo){saE`>-o0LleOFA~54|OvK%WHjb4%_ueY&(l1|6=DeG{XdrwF zb&}3$j+_qNY15}*m(RwU{tUAgc>2<~ox+HdR`0a5I8@9@&11>P_dP)x+~p%X8pHsLyXQpVfbGXkdT~!YCb~h)dY)M&~rMF;h){b8?`7Um00Cf>6!<8sW_8k<9wPFT}S@7S8RtSi&8kGddqvKXAE+Eu|p z`rLV$$PZ>0^D-^I^}UG5rh-K8iZ(vv?zm7Bte{!%_>#oeXTV0?o9wg#d2e+qUNC~z eb4}u%)}kfYb@V49(np&!!D!^{(sq&6@BaafZu5=+ literal 0 HcmV?d00001 diff --git a/addons/sourcemod/plugins/scripting/SendFileExploitFixV3.3.sp b/addons/sourcemod/plugins/scripting/SendFileExploitFixV3.3.sp new file mode 100644 index 000000000..45eb644cb --- /dev/null +++ b/addons/sourcemod/plugins/scripting/SendFileExploitFixV3.3.sp @@ -0,0 +1,128 @@ +#include +#include + +public Plugin:myinfo = +{ + name = "SendFile Exploit Fix (v3.3)", + author = "backwards", + description = "Prevents Clients From Exploiting The Un-Patched SRCDS SendFile Command, V3 Adds ReceiveFile Support.)", + version = "3.3", + url = "http://www.steamcommunity.com/id/mypassword" +} + +#define MAX_FILES_ALLOWED_WHILE_ACTIVE_PER_MAP 256 +#define MAX_FILES_ALLOWED_UPLOAD 32 + +bool InLevel[MAXPLAYERS+1] = {false, ...}; +int RequestCount[MAXPLAYERS+1] = {0, ...}; +int SendCount[MAXPLAYERS+1] = {0, ...}; + +public OnPluginStart() +{ + CreateTimer(5.0, DecrementThread, _, TIMER_REPEAT); + + if (GetEngineVersion() != Engine_CSGO) + return; + + Address addy = GameConfGetAddress(LoadGameConfigFile("SendFileExploitFix_csgo_1_2_2021"), "CheckReceivingList"); + if(addy == Address:0)// Not Vital + return; + + int OS = LoadFromAddress(addy + Address:1, NumberType_Int8); + switch(OS) + { + case 0x89: //Linux + { + for(int i = 0;i<5;i++) + StoreToAddress((addy + Address:0x474 + view_as
(i)), 0x90, NumberType_Int8); + } + case 0x8B: //Windows + { + for(int i = 0;i<2;i++) + StoreToAddress((addy + Address:0x270 + view_as
(i)), 0x90, NumberType_Int8); + } + default: + { + return; // Not Vital + } + } +} + +public Action:DecrementThread(Handle:timer, any:unused) +{ + for (new client = 0; client <= MaxClients; client++) + { + RequestCount[client] -= 32; + if(RequestCount[client] < 0) + RequestCount[client] = 0; + } + + return Plugin_Continue; +} + +public OnMapStart() +{ + for (new client = 1; client <= MaxClients; client++) + { + if(IsClientConnected(client)) + { + if(IsClientInGame(client)) + { + InLevel[client] = true; + RequestCount[client] = 0; + SendCount[client] = 0; + } + } + } +} + +public OnMapEnd() +{ + for (new client = 1; client <= MaxClients; client++) + { + InLevel[client] = false; + RequestCount[client] = 0; + SendCount[client] = 0; + } +} + +public OnClientPutInServer(client) +{ + InLevel[client] = true; + RequestCount[client] = 0; + SendCount[client] = 0; +} + +public OnClientDisconnect(client) +{ + RequestCount[client] = 0; + SendCount[client] = 0; +} + +public Action OnFileSend(int client, const char[] sFile) +{ + if(InLevel[client]) + { + RequestCount[client]++; + if(RequestCount[client] > MAX_FILES_ALLOWED_WHILE_ACTIVE_PER_MAP) + { + if(!IsClientInKickQueue(client)) + KickClient(client, "ServerCrashExploitAttempt."); + + return Plugin_Stop; + } + } + + return Plugin_Continue; +} + +public Action OnFileReceive(int client, const char[] sFile) +{ + SendCount[client]++; + + if(SendCount[client] > MAX_FILES_ALLOWED_UPLOAD) + { + if(!IsClientInKickQueue(client)) + KickClient(client, "ServerCrashExploitAttempt."); + } +} \ No newline at end of file diff --git a/addons/sourcemod/scripting/SendFileExploitFixV3.3.sp b/addons/sourcemod/scripting/SendFileExploitFixV3.3.sp new file mode 100644 index 000000000..45eb644cb --- /dev/null +++ b/addons/sourcemod/scripting/SendFileExploitFixV3.3.sp @@ -0,0 +1,128 @@ +#include +#include + +public Plugin:myinfo = +{ + name = "SendFile Exploit Fix (v3.3)", + author = "backwards", + description = "Prevents Clients From Exploiting The Un-Patched SRCDS SendFile Command, V3 Adds ReceiveFile Support.)", + version = "3.3", + url = "http://www.steamcommunity.com/id/mypassword" +} + +#define MAX_FILES_ALLOWED_WHILE_ACTIVE_PER_MAP 256 +#define MAX_FILES_ALLOWED_UPLOAD 32 + +bool InLevel[MAXPLAYERS+1] = {false, ...}; +int RequestCount[MAXPLAYERS+1] = {0, ...}; +int SendCount[MAXPLAYERS+1] = {0, ...}; + +public OnPluginStart() +{ + CreateTimer(5.0, DecrementThread, _, TIMER_REPEAT); + + if (GetEngineVersion() != Engine_CSGO) + return; + + Address addy = GameConfGetAddress(LoadGameConfigFile("SendFileExploitFix_csgo_1_2_2021"), "CheckReceivingList"); + if(addy == Address:0)// Not Vital + return; + + int OS = LoadFromAddress(addy + Address:1, NumberType_Int8); + switch(OS) + { + case 0x89: //Linux + { + for(int i = 0;i<5;i++) + StoreToAddress((addy + Address:0x474 + view_as
(i)), 0x90, NumberType_Int8); + } + case 0x8B: //Windows + { + for(int i = 0;i<2;i++) + StoreToAddress((addy + Address:0x270 + view_as
(i)), 0x90, NumberType_Int8); + } + default: + { + return; // Not Vital + } + } +} + +public Action:DecrementThread(Handle:timer, any:unused) +{ + for (new client = 0; client <= MaxClients; client++) + { + RequestCount[client] -= 32; + if(RequestCount[client] < 0) + RequestCount[client] = 0; + } + + return Plugin_Continue; +} + +public OnMapStart() +{ + for (new client = 1; client <= MaxClients; client++) + { + if(IsClientConnected(client)) + { + if(IsClientInGame(client)) + { + InLevel[client] = true; + RequestCount[client] = 0; + SendCount[client] = 0; + } + } + } +} + +public OnMapEnd() +{ + for (new client = 1; client <= MaxClients; client++) + { + InLevel[client] = false; + RequestCount[client] = 0; + SendCount[client] = 0; + } +} + +public OnClientPutInServer(client) +{ + InLevel[client] = true; + RequestCount[client] = 0; + SendCount[client] = 0; +} + +public OnClientDisconnect(client) +{ + RequestCount[client] = 0; + SendCount[client] = 0; +} + +public Action OnFileSend(int client, const char[] sFile) +{ + if(InLevel[client]) + { + RequestCount[client]++; + if(RequestCount[client] > MAX_FILES_ALLOWED_WHILE_ACTIVE_PER_MAP) + { + if(!IsClientInKickQueue(client)) + KickClient(client, "ServerCrashExploitAttempt."); + + return Plugin_Stop; + } + } + + return Plugin_Continue; +} + +public Action OnFileReceive(int client, const char[] sFile) +{ + SendCount[client]++; + + if(SendCount[client] > MAX_FILES_ALLOWED_UPLOAD) + { + if(!IsClientInKickQueue(client)) + KickClient(client, "ServerCrashExploitAttempt."); + } +} \ No newline at end of file diff --git a/cfg/generalfixes.cfg b/cfg/generalfixes.cfg index daf463ae7..c2d82cb84 100644 --- a/cfg/generalfixes.cfg +++ b/cfg/generalfixes.cfg @@ -63,6 +63,7 @@ sm plugins load fixes/weapon_spawn_duplicate_fix.smx sm plugins load fixes/l4d_fix_common_shove.smx sm plugins load fixes/l4d2_tank_flying_incap.smx sm plugins load fixes/l4d2_tank_spawn_antirock_protect.smx +sm plugins load fixes/SendFileExploitFixV3.3.smx // Anti-Cheat. sm plugins load anticheat/l4d2_noghostcheat.smx