::: FORUM ManuFrog :::: Mer problem med 99kronor! - ::: FORUM ManuFrog :::

Hoppa till innehåll

Sida 1 av 1
  • Du kan inte skapa ett nytt ämne
  • Du kan inte svara i detta ämne

Mer problem med 99kronor! Hackat forum

#1 Guest_Benzocaine_*

  • Grupp: Guests

Postad 30 augusti 2004 - 18:10

Nu har jag upptäckt att mitt forum har blivit hackat också. Det är ett XMB-forum och när man kör index.php kommer det upp en skärm som säger att sidan är hackad. Jag prövade att ändra Permissions på lite filer och samma meddelande kommer upp med dem. Är det MySQL-databasen som blivit hackad?

Jag kan inte se något konstigt i index-filen:

<?
/*

XMB 1.6b Magic Lantern
© 2001 - 2002 Aventure Media & The XMB Developement Team
http://www.aventure-media.co.uk
http://www.xmbforum.com

For license information, please read the license file which came with this edition of XMB

*/
include "index_add.php"
?>
<?
if (file_exists("./cinst.php")) { die("Error: The file cinst.php is still on your server, please delete this file to continue."); }
require "./header.php";
require "./xmb.php";
loadtemplates('header,footer,index_whosonline,index_category,index_forum,index,index_welcom
e_member,index_welcome_guest,index_forum_lastpost');

if($gid) {
	$whosonlinestatus = "off";
	$query = $db->query("SELECT name FROM $table_forums WHERE fid='$gid' AND type='group'");
	$cat = $db->fetch_array($query);
	$navigation ="&raquo; $cat[name]";
	$lang_stats4 = "";
}

eval("\$header = \"".template("header")."\";");
echo $header;
if(!$gid) {

	if($xmbuser) {
  eval("\$welcome = \"".template("index_welcome_member")."\";");
	} else {
  eval("\$welcome = \"".template("index_welcome_guest")."\";");
	}
	// Start Whos Online and Stats
	$query = $db->query("SELECT username FROM $table_members ORDER BY regdate DESC");
	$lastmem = $db->fetch_array($query);
	$lastmember = $lastmem[username];
	$members = $db->num_rows($query);

	$query = $db->query("SELECT COUNT(*) FROM $table_threads");
	$threads = $db->result($query, 0);

	$query = $db->query("SELECT COUNT(*) FROM $table_posts");
	$posts = $db->result($query, 0);

	$memhtml = "<a href=\"member.php?action=viewpro&member=".rawurlencode($lastmember)."\"><b>$lastmember</b></a>.";
	eval($lang_evalindexstats);

	if($members == "0") {
  $memhtml = "<b>$lang_textnoone</b>";
	}

	if($whosonlinestatus == "on") {
  $time = time();
  $newtime = $time - 600;
  $membercount = 0;
  $query = $db->query("SELECT w.*, m.status, m.username FROM $table_whosonline w LEFT JOIN $table_members m ON m.username=w.username ORDER BY w.username");
  while($online = $db->fetch_array($query)) {
 	 switch($online[username]) {
    case xguest123:
    $guestcount++;
    break;

    default:
    $member[$membercount] = $online;
    $membercount++;
    break;
 	 }
  }

  if(!$guestcount) {
 	 $guestcount = "0";
  }
  if(!$membercount) {
 	 $membercount = "0";
  }
  $onlinenum = $guestcount + $membercount;

  if($membercount==0){
 	 $membern = "no Members";
  }elseif($membercount==1){
 	 $membern = "1 Member";
 	 $ia = "are";
  }else{
 	 $membern = "$membercount Members";
  }
  if($guestcount==0){
 	 $guestn = "No Guests";
  }elseif($guestcount==1){
 	 $guestn = "1 Guest";
  }else{
 	 $guestn = "$guestcount Guests";
  }

  eval($lang_whosoneval);
  $memonmsg = "<span class=\"smalltxt\">$lang_whosonmsg</span>";

  $memtally = "";
  $num = 1;
  $comma = "";
  for($mnum=0; $mnum<$membercount; $mnum++) {
 	 $online = $member[$mnum];
 	 if($online[status] == "Administrator") { 
 	 $pre = "<b><u>"; 
 	 $suf = "</b></u>"; 
 	 } 
 	 elseif($online[status] == "Super Moderator") { 
 	 $pre = "<b>"; 
 	 $suf = "</b>"; 
 	 } 
 	 elseif($online[status] == "Moderator") { 
 	 $pre = "<b>"; 
 	 $suf = "</b>"; 
 	 } 
 	 else {
    $pre = "";
    $suf = "";
 	 }
 	 $memtally .= "$comma <a href=\"member.php?action=viewpro&member=".rawurlencode($online[username])."\">$pre$online[username]$suf</a>";
 	 $comma = ", ";
 	 $num++;
  }

  if($memtally == "") {
 	 $memtally = "&nbsp;";
  }

  eval("\$whosonline = \"".template("index_whosonline")."\";");
	}
	// End Whosonline and Stats

	// Start Getting Forums and Groups

	$queryg = $db->query("SELECT * FROM $table_forums WHERE status='on' AND fup='' OR fup='0' ORDER BY displayorder");
}
else {
	$queryg = $db->query("SELECT * FROM $table_forums WHERE type='group' AND fid='$gid' AND status='on' ORDER BY displayorder");
}

while($group = $db->fetch_array($queryg)) {
	if($group[type] == "group") {
  eval("\$forumlist .= \"".template("index_category")."\";");
  if($catsonly != "on" || $gid) {
 	 $query = $db->query("SELECT * FROM $table_forums WHERE type='forum' AND status='on' AND fup='$group[fid]' ORDER BY displayorder");
 	 while($forum = $db->fetch_array($query)) {
    $forumlist .= forum($forum, "index_forum");
 	 }
  }
	} else {
  $forumlist .= forum($group, "index_forum");
	}
}

eval("\$index = \"".template("index")."\";");
echo $index;

$mtime2 = explode(" ", microtime());
$endtime = $mtime2[1] + $mtime2[0];
$totaltime = ($endtime - $starttime);
$totaltime = number_format($totaltime, 7);

eval("\$footer = \"".template("footer")."\";");
echo $footer;
?>


Tror ni inläggen går att återskapa eller måste jag installera om SQL-databasen för att få bort skräpet i den?

Forumet ligger på:
http://goliath.99kr....ateismb/debatt/

Någon som kan ge mig råd? Är det forumet som är sårbart eller har man hackat sig in i 99kronors server?
0

#2 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 30 augusti 2004 - 18:22

Detta påminner om en annan gång som 99kronors kunder fick sina index sidor utbytta mot hackarnas. Då gjorde 99kr en backup till de senaste sparade index sidorna.
Har du gjort backup, kan du prova själv.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#3 Guest_Guest_*

  • Grupp: Guests

Postad 30 augusti 2004 - 18:28

Erik på 30 Aug 2004, 19:22 sade:

Detta påminner om en annan gång som 99kronors kunder fick sina index sidor utbytta mot hackarnas. Då gjorde 99kr en backup till de senaste sparade index sidorna.
Har du gjort backup, kan du prova själv.

Problemet är att backupen gjorde jag igår när jag såg att domänen hade expirerat, men jag kan ju testa. Troligen har man dock hackat sig in i forumet för flera dagar sedan.
0

#4 Guest_Benzocaine_*

  • Grupp: Guests

Postad 30 augusti 2004 - 18:37

Kan man kanske gå in i SQL-databasen och titta? Jag kan ingenting om SQL så jag vet inte hur man gör. Någon som kan hjälpa mig? Klistra in koden här till ett PHP-skript som letar i databasen efter strängen:

Citat

nEt^DeViL


Så här ser förresten koden ut till den hackade sidan. Finns det något i index.php (se kod ovan) som indikerar hur man har gjort för att få fram denna sida:


<!--Begin Template: header -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0028)http://efbeaye.1gb-host.com/ -->
<HTML><HEAD><TITLE>°¨¨¨™¤¦¤™¨¨¨°.·:*¨*:·.HaCkEd By nEt^DeViL_أبو محـمد.·:*¨*:·.°¨¨¨™¤¦¤™¨¨¨°</TITLE>

<bgsound src="http://swiki.arch.ethz.ch:8888/easa/uploads/36/Beat_it.mid" loop="-1">

<META http-equiv=Content-Type content="text/html; charset=windows-1254">
<META content="MSHTML 6.00.2800.1458" name=GENERATOR>
<META http-equiv=Content-Language content=tr>
<META content="Microsoft FrontPage 5.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<script language=JavaScript>
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

//-->
</SCRIPT>

<META http-equiv=Content-Language content=pt-br>
<META content="Microsoft FrontPage 4.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META http-equiv=Content-Language content=tr>
<STYLE fprolloverstyle>A:hover {
	FONT-WEIGHT: bold; COLOR: #ff0000
}
</STYLE>

</HEAD>
<BODY text=#00ff00 vLink=#ff0000 aLink=#00ffff link=#ffff00 bgColor=#000000 
onload=writetext();>
<script language=JavaScript>
if (document.all){
Cols=15;
Cl=24;
Cs=50;
Ts=15; 
Tc='#008800';
Tc1='#00ff00';
MnS=22; 
MxS=25; 
I=Cs;
Sp=new Array();S=new Array();Y=new Array(5,6);
C=new Array();M=new Array();B=new Array();
RC=new Array();E=new Array();Tcc=new Array(0,1,7,9,3,2);
document.write("<div id='Container' style='position:absolute;top:0;left:-"+Cs+"'>");
document.write("<div style='position:relative'>");
for(i=0; i < Cols; i++){
S[i]=I+=Cs;
document.write("<div id='A' style='position:absolute;top:0;font-family:Arial;font-size:"
+Ts+"px;left:"+S[i]+";width:"+Ts+"px;height:0px;color:"+Tc+";visibility:hidden'></div>");
}
document.write("</div></div>");

for(j=0; j < Cols; j++){
RC[j]=1+Math.round(Math.random()*Cl);  
Y[j]=0;
Sp[j]=Math.round(MnS+Math.random()*MxS); 
for(i=0; i < RC[j]; i++){
 B[i]='';
 C[i]=Math.round(Math.random()*1)+' ';
 M[j]=B[0]+=C[i];
 }
}
function Cycle(){
Container.style.top=window.document.body.scrollTop;
for (i=0; i < Cols; i++){
var r = Math.floor(Math.random()*Tcc.length);
E[i] = '<font color='+Tc1+'>'+Tcc[r]+'</font>';
Y[i]+=Sp[i];

if (Y[i] > window.document.body.clientHeight){
 for(i2=0; i2 < Cols; i2++){
 RC[i2]=1+Math.round(Math.random()*Cl);  
 for(i3=0; i3 < RC[i2]; i3++){
 B[i3]='';
 C[i3]=Math.round(Math.random()*1)+' ';
 C[Math.floor(Math.random()*i2)]=' '+' ';
 M[i]=B[0]+=C[i3];
 Y[i]=-Ts*M[i].length/1.5;
 A[i].style.visibility='visible';
 }
 Sp[i]=Math.round(MnS+Math.random()*MxS);
 }
}
A[i].style.top=Y[i];
A[i].innerHTML=M[i]+' '+E[i]+' ';
}
setTimeout('Cycle()',20)
}
Cycle();
}
</SCRIPT>

<p align="center"><b><font face="Courier New">الله أكبر</font></b></p>
<p align="center"><B><FONT size=6 face="Comic Sans MS" color="#33CC33">H</font><font size="6" color="#00FF00" face="Comic Sans MS">4</font><FONT size=6 color="#33CC33" face="Comic Sans MS">C</font><font face="Comic Sans MS" color="#00FF00" size="6">k</font><font size="6" color="#33CC33" face="Comic Sans MS">3</font><FONT size=6><font face="Comic Sans MS" color="#00FF00">d

</font><font face="Comic Sans MS" color="#FF0000">
</font></font> <FONT size=6 face="Comic Sans MS" color="#33CC33">B</font><FONT size=6 face="Comic Sans MS" color="#00FF00">y</font><font face="Comic Sans MS" color="#FF0000"> <br>
</font><font color="#00FF00"><center><font size="7" face="Courier New">nEt^DeViL</FONT></center></font></B></p>
<p align="center">&nbsp;</p>

<script language=javascript>
<!--
function Is() {
    var agent = navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.ns  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
    this.ns2 = (this.ns && (this.major == 2));
    this.ns3 = (this.ns && (this.major == 3));
    this.ns4b = (this.ns && (this.major == 4) && (this.minor <= 4.03));
    this.ns4 = (this.ns && (this.major >= 4));
    this.ie   = (agent.indexOf("msie") != -1);
    this.ie3  = (this.ie && (this.major == 2));
    this.ie4  = (this.ie && (this.major >= 4));
    this.op3 = (agent.indexOf("opera") != -1);
}

var is = new Is()
if(is.ns4) {
    doc = "document";
    sty = "";
    htm = ".document"

} else if(is.ie4) {
    doc = "document.all";
    sty = ".style";
    htm = ""
}

var text1 = "", text2 = "", count = 0, count2=0;
msg = new Array();
msg[0] = "<font face=Courier New size=2><h1><center><u></u> </center></h1> ";
msg[1] = " <b>_-*DeFaCEd By nEt^DeViL*-_ <font face=Courier New=#FFFFFF><b></font><font face=Tahoma color=#FFFFFF><b></font>";
msg[2] = " aBo mOhAmMeD BaCk Again :clapping: <font face=Tahoma color=#FFFFFF><b> </font><font face=Arial size=2 color=#FFFFFF> </font>   ";
msg[3] = "   ThiS HaCkInG LikE WhAt HaPpEn iN ( iRaQ & Palestine )  ";
msg[4] = "  <H2>I'm n0t s0rRy Admin f0r This...y0ur site isn't sEcUrE</H2>";
msg[5] = "<h1>_-*FuCk iSr@EL*-_</h1> <br>";
msg[6] = " ";
msg[7] = " <b><_<</b>";

text = msg[0].split("");
function writetext(){
	text1 ='<tt>'+text2 + '<b style="color:#00FF00">'+text[count]+'</b></tt>';
	text2 += text[count];
	fillHTML = eval(doc + '["nothing"]' + htm);
    if(is.ns4) {
  fillHTML.write(text1);
  fillHTML.close();
	} else {
  fillHTML.innerHTML = text1;
	}

	if (!(count >= text.length-1)){
  count+=1;
  setTimeout('writetext()',1);
	}

	else{
  count=0;
  text2+='<p>'
  if (count2!=6){
 	 count2++
 	 text = eval('msg['+count2+'].split("")');
 	 setTimeout('writetext()',5);

  }
	}
}
<!-- -->
//-->
</SCRIPT>

<DIV align=center>
<CENTER>
<TABLE height=1 width=542 border=0>
  <TBODY>

  <TR>
    <TD align=middle width=674 height=1>
      <DIV id=nothing style="width: 540; height: 217"></DIV>
      <P></P>
      <P></P></TD></TR></TBODY></TABLE></CENTER></DIV>
<script language=JavaScript1.2>
  var COLOR = 999999 
var woot = 0 
function stoploop() { 
document.bgColor = '#000000'; 
clearTimeout(loopID); 
} 
function loopBackground() { 
if (COLOR > 0) { 
document.bgColor = '#' + COLOR 
COLOR -= 111111 
loopID = setTimeout("loopBackground()",1) 
} else { 
document.bgColor = '#000000' 
woot += 10 
COLOR = 999999 
COLOR -= woot 
loopID = setTimeout("loopBackground()",1) 
   } 
} 
//onClick="stoploop()"
function shake(n) {
if (self.moveBy) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
self.moveBy(0,i);
self.moveBy(i,0);
self.moveBy(0,-i);
self.moveBy(-i,0);
         }
      }
   }
   setTimeout("shake(1)",10000);
   setTimeout("stoploop()",15000);
}
// End -->
</SCRIPT>

<p align="center">HaCkInG iS Knowledge <u>&amp;</u>  Knowledge iS Free</p>

</BODY></HTML>

<!-- End Template: header --><!--Begin Template: index -->

<!-- End Template: index --><!--Begin Template: footer -->

<!-- End Template: footer -->


Kan man förresten anmäla detta till de ISP:s som finns med i koden, till exempel de som står för MIDI-filen? ("swiki.arch.ethz.ch")

Jag får nog ta och registrera mig här. Det var ett bra forum!
0

#5 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 30 augusti 2004 - 18:45

Kan nog bli svårt att få tag på dom skyldiga. Men det är ju alltid bra om man anmäler så servern där midi-filen hämtas ifrån kan kontrolleras av deras Admins.

Citat

Kan man kanske gå in i SQL-databasen och titta? Jag kan ingenting om SQL

Det hjälper nog inte att kolla i MySQL databaserna. De brukar inte vara hackade. Snarare php filerna på servern.

Välkommen hit förresten. :clapping:

Detta inlägg har redigerats av Erik: 30 augusti 2004 - 18:48

::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#6 Medlemmen är offline   Benzocaine 

  • VIP Member
  • PipPipPipPipPipPip
  • Grupp: Members
  • Inlägg: 54
  • Gick med: 30-augusti 04

Postad 30 augusti 2004 - 19:01

Ja nu är jag med som registrerad! :-)

Men jag ser inget i index.php som indikerar att den hackade sidan ska komma upp, gör du? (se koden i mitt första inlägg i den här tråden)
0

#7 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 30 augusti 2004 - 19:12

Nej "index" filen ser ok ut. Men det kan ju vara någon av de php filer som index filen ska hämta och öppna.

Svårt att säga när man inte kan logg in och kontrollera filerna på ftp'n.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#8 Medlemmen är offline   Benzocaine 

  • VIP Member
  • PipPipPipPipPipPip
  • Grupp: Members
  • Inlägg: 54
  • Gick med: 30-augusti 04

Postad 30 augusti 2004 - 23:10

Well... jag har tillgång till dem och har tittat på alla include-filerna utan att hitta hacket. Jag testade att döpa om hela katalogen och då fanns hacket kvar. Det och att .htaccess är tom gör att jag inte tror att man har fipplat med något felmeddelande eller så, utan det måste vara när index.php öppnas som texten kommer upp.

Jag kan ju iofs testa med att döpa om alla filerna och skapa tomma filer med de ursprungliga namnen och återställa dem en och en för att se i vilken fil felet uppstår. Det ska jag fanimej göra...

Det här har väl blivit lite off topic, men om du vill kan jag posta koden till alla filerna här. Min egentliga anledning till att fråga här var att det kan tänkas ha ett samband med alla andra tekniska svårigheter som 99kronor.com har haft. Kanske är det till och med en konkurrent som attackerar dem? Jag har nämligen, till skillnad från många andra, fått ett gott intryck av företaget. Jag tror bara att de tagit sig vatten över huvudet, men den goda viljan finns nog där - om de inte gett upp nu efter alla hot och spott och spe.
0

#9 Guest_Svenax_*

  • Grupp: Guests

Postad 30 augusti 2004 - 23:52

Det är databasen som är hackad. Alla versioner av XMB före 1.9 har säkerhetsproblem som gör dem känsliga för attacker av detta slag. Läs mer på www.xmbforum.com till exempel i den här tråden.
0

#10 Medlemmen är offline   Ado 

  • VIP Member
  • PipPipPipPipPipPip
  • Grupp: Members
  • Inlägg: 97
  • Gick med: 01-juni 04

Postad 31 augusti 2004 - 00:33

Jag skulle misstänka att någon bytt ut innehållet i de textfiler eller databas-entries som laddas som "template". "header" har fyllts med skräpsidan, och all text är bortplockad ur övriga. Jag har aldrig använt XMB-forum, så jag kan inte svara noggrannare. Eftersom man inte byter template så ofta kan du förhoppningsvis ha dem i någon backup.

Se dock till att du uppgraderar ditt forum, det är möjligt att säkerhetsläckan som tillåtit dem att skriva över template-datat har arbetats bort i en senare version av XMB.

/Anders Dovervik
0

#11 Medlemmen är offline   Benzocaine 

  • VIP Member
  • PipPipPipPipPipPip
  • Grupp: Members
  • Inlägg: 54
  • Gick med: 30-augusti 04

Postad 31 augusti 2004 - 01:06

Svenax på 31 Aug 2004, 00:52 sade:

Det är databasen som är hackad. Alla versioner av XMB före 1.9 har säkerhetsproblem som gör dem känsliga för attacker av detta slag. Läs mer på www.xmbforum.com till exempel i den här tråden.

Tack!

Jag hittade de hackade raderna i xmb_settings samt xmb_templates och raderade dem med SQLMyAdmin, men nu är forumet bara blankt istället, och bakupen jag gjorde var visst bara på HTML-filerna och inte SQL-databasen. Det fanns ett skript i kontrollpanelen för uppgradering av XMB till 2.09 också, men det funkade inte (vad hade man väntat sig med 99kronor...)
0

Dela med dig av detta ämne:


Sida 1 av 1
  • Du kan inte skapa ett nytt ämne
  • Du kan inte svara i detta ämne


1 användare läser detta ämne
0 medlemmar, 1 gäster, 0 anonyma medlemmar