Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Włamanie do ACP


malyak

Rekomendowane odpowiedzi

Witam,

 

Dzisiaj przed aktualizacją forum mieliśmy włamania na acp. Przekierowanie zostało wrzucone w styl tzn zmodyfikowany został dokładnie core_front_global_globalTemplate

 

kod przesyłam jako link LINK do kodu jaki zainfokowali plik stylu

 

Czy ktoś może rzucić okiem czy coś ten plik modyfikował ponadto że było przekierowanie ?

 

Pozdrawiam

malyak

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Nie wiem co padło ofiarą ataku - czyjeś konto, serwer, serwerownia, forum itp.

Za dużo niewiadomych by tak od razu wskazywać jednoznacznie na forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

włamanie było na konto admina z dostępem do panelu. został zmodyfikowany plik skina tak że było przekierowanie na inna stronę jakieś serwerowni Cstrike. ogólnie tylko w logach i działaniach akurat tego admina była modyfikacja tego skina. ponadto nie zauważyłem żeby był jakiś inne plik modyfikowany. 

 

Dlatego też wkleiłem wyżej kod w postaci linka ale dam go tutaj. Chodzi mi o to czy coś mogło być modyfikowane tak aby ułatwić w przyszłości na kolejny atak lub wypływ danych.


<center>
<b><center><font size="7">
<script>
// ********** MAKE YOUR CHANGES HERE
var text="Zmiana sieci na Viva-Serv.PL" // YOUR TEXT
var speed=500 // SPEED OF FADE
// ********** LEAVE THE NEXT BIT ALONE!
if (document.all||document.getElementById){
document.write('<span id="highlight">' + text + '</span>')
var storetext=document.getElementById? document.getElementById("highlight") : document.all.highlight
}
else
document.write(text)
var hex=new Array("00","14","28","3C","50","64","78","8C","A0","B4","C8","DC","F0")
var r=1
var g=1
var b=1
var seq=1
function changetext(){
rainbow="#"+hex[r]+hex[g]+hex[b]
storetext.style.color=rainbow
}
function change(){
if (seq==6){
b--
if (b==0)
seq=1
}
if (seq==5){
r++
if (r==12)
seq=6
}
if (seq==4){
g--
if (g==0)
seq=5
}
if (seq==3){
b++
if (b==12)
seq=4
}
if (seq==2){
r--
if (r==0)
seq=3
}
if (seq==1){
g++
if (g==12)
seq=2
}
changetext()
}
function starteffect(){
if (document.all||document.getElementById)
flash=setInterval("change()",speed)
}
starteffect()
</script>
</b></font>
 
<script>
    TypingText = function(element, interval, cursor, finishedCallback) {
 
    if((typeof document.getElementById == "undefined") || (typeof element.innerHTML == "undefined")) {
 
    this.running = true; // Never run.
 
    return;
 
    }
 
    this.element = element;
 
    this.finishedCallback = (finishedCallback ? finishedCallback : function() { return; });
 
    this.interval = 70;
 
    this.origText = this.element.innerHTML;
 
    this.unparsedOrigText = this.origText;
 
    this.cursor = (cursor ? cursor : "");
 
    this.currentText = "";
 
    this.currentChar = 0;
 
    this.element.typingText = this;
 
    if(this.element.id == "") this.element.id = "typingtext" + TypingText.currentIndex++;
 
    TypingText.all.push(this);
 
    this.running = false;
 
    this.inTag = false;
 
    this.tagBuffer = "";
 
    this.inHTMLEntity = false;
 
    this.HTMLEntityBuffer = "";
 
    }
 
    TypingText.all = new Array();
 
    TypingText.currentIndex = 0;
 
    TypingText.runAll = function() {
 
    for(var i = 0; i < TypingText.all.length; i++) TypingText.all[i].run();
 
    }
 
    TypingText.prototype.run = function() {
 
    if(this.running) return;
 
    if(typeof this.origText == "undefined") {
 
    setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval); // We haven't finished loading yet. Have patience.
 
    return;
 
    }
 
    if(this.currentText == "") this.element.innerHTML = "";
 
    // this.origText = this.origText.replace(/<([^<])*>/, ""); // Strip HTML from text.
 
    if(this.currentChar < this.origText.length) {
 
    if(this.origText.charAt(this.currentChar) == "<" && !this.inTag) {
 
    this.tagBuffer = "<";
 
    this.inTag = true;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.origText.charAt(this.currentChar) == ">" && this.inTag) {
 
    this.tagBuffer += ">";
 
    this.inTag = false;
 
    this.currentText += this.tagBuffer;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.inTag) {
 
    this.tagBuffer += this.origText.charAt(this.currentChar);
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.origText.charAt(this.currentChar) == "&" && !this.inHTMLEntity) {
 
    this.HTMLEntityBuffer = "&";
 
    this.inHTMLEntity = true;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.origText.charAt(this.currentChar) == ";" && this.inHTMLEntity) {
 
    this.HTMLEntityBuffer += ";";
 
    this.inHTMLEntity = false;
 
    this.currentText += this.HTMLEntityBuffer;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.inHTMLEntity) {
 
    this.HTMLEntityBuffer += this.origText.charAt(this.currentChar);
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else {
 
    this.currentText += this.origText.charAt(this.currentChar);
 
    }
 
    this.element.innerHTML = this.currentText;
 
    this.element.innerHTML += (this.currentChar < this.origText.length - 1 ? (typeof this.cursor == "function" ? this.cursor(this.currentText) : this.cursor) : "");
 
    this.currentChar++;
 
    setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
 
    } else {
 
    this.currentText = "/";
 
    this.currentChar = 0;
 
    this.running = true;
 
    this.finishedCallback();
 
    }
 
    }
 
</script>
 
<p id="info">
<font size="6" face="Comic Sans MS, cursive" style="color:white;">
<br>
<br>
 
<script type="text/javascript">
 
new TypingText(document.getElementById("info"), 70, function(i){
 
var ar = new Array("_"," ","_","_"); return " " + ar[i.length %
 
ar.length]; });
 
//Type out examples:
 
TypingText.runAll();
 
</script>

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

@malyak

 

Kombinujesz jak koń pod górę.

 

1. Jeśli masz nulleda, to nie zabezpieczysz go przed kolejnymi atakami.

 

2. Jeśli masz oryginał, to procedury postępowania po ataku były wielokrotnie pisane. Zmieniasz hasła do bazy, ftp, acp, skanujesz FTP pod kątem złośliwych plików i kodu (programem WinMerge np. porównujesz zawartość oryginalnej paczki IPB z twojej wersji + tego co masz na ftp), aktualizujesz forum do najnowszej wersji + wszystkie łatki, skanujesz swój komputer w poszukiwaniu zagrożeń ( to samo robią inni admini). To są podstawy... Serio poczytaj bo temat był poruszany wielokrotnie.

  • Lubię to 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.