Nejste přihlášeni
Tak který jste našel?
A chyby...
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
no, chyby žádný, ale zabezpečil jsem antet.php tak, že by se do něho neměl nikdo dostat
Offline
Offline
Nehledejte chyby, ale bezpečnostní díry...
Našel?
Pokud Vám l564 napsal z veřejně dostupných, zkuste si řádně překontrolovat soubory:
login_.php
sit.php
register_.php
odeslano.php
Já jsem je netestoval.
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
já fakt nevím, nemohli by jste mi to napsat, kde je ta chyba?
díky
Offline
pošli mi ty soubory na e-mail, podívám se jestli to je ono...
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
máte to na <!-- e --><a href="mailto:prolamy@email.cz">prolamy@email.cz</a><!-- e -->
Offline
Nehledejte chyby, ale bezpečnostní díry...
Našel?Pokud Vám l564 napsal z veřejně dostupných, zkuste si řádně překontrolovat soubory:
login_.php
sit.php
register_.php
odeslano.phpJá jsem je netestoval.
Ani jeden z těchto to není!
Zdrojový kód | Změř si rychlost webu
Offline
Nemůžeš mi prosím tě napsat, ve který souborech je chyba?
díky
Offline
Zkuste si pročíst tento článek a pak snad soubor objevíte i sám...
Hledejte soubory, ve kterých zpracováváte proměnné předané POST nebo GET.
Dával jsem Vám odkaz k přečtení... Ten také něco napoví...
To není jedna chyba, tedy vlastně chyba je celý web.
Je prostě špatně napsaný... z bezpečnostního hlediska...
Co se asi tak může stát pokud použiji Váš kód:
$_SESSION["user"]=login($_POST["name"], md5($_POST["pass"]));
...
//funkce login:
function login($name, $pass)
{
...
$query="select * from users where name='".$name."' and pass='".$pass."' and level>0";
$result=mysql_query($query, $db_id);
...
}
A tímto způsobem máte "ošetřen" celý web. Nejedná se jen o tuto jednu bezpečnostní díru, celý web je jedna děravá dálnice pro hackery...
Říkají Vám něco příkazy mysql_real_escape_string() nebo htmlspecialchars()
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
Já jsem tu hru neprogramovat, já jsem ji pouze stáhnul, upravil a přeložil.
Jak to mam zpravit?
Mam tam všude dat míst mysql_real toto: mysql_real_escape_string?
A ještě jedna věc, můžete mi vysvětlit, tak díky blbému kódu se dostal až do souboru, kde je heslo do databáze?
Offline
Ano, string je vlastně řetězec.
Databáze je mocný nástroj a pokud je tam chyba, tak je možno dělat i zpětné příkazy, více se dočtete o MySQL Inject Hacking
Je to tento soubor http://morana.8u.cz/profile_view.php?id='
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/users/michaln/morana.8u.cz/web/func.php on line 795 Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/users/michaln/morana.8u.cz/web/func.php on line 1374 Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/users/michaln/morana.8u.cz/web/func.php on line 492
Přes něho jsem dumpnul celý účet na vášem mysql
Vlstně to dělejte takto
$promena = mysql_real_escape_string(htmlspecialchars($_POST['nejaka promena']));
Zdrojový kód | Změř si rychlost webu
Offline
Neošetřené vstupní proměnné ošetřit pomocí:
pro textové vstupy:
$data = mysql_real_escape_string($POST[data]);
pro číselné vstupy:
$data = (int)$POST[data];
a dále již pracovat jen s touto proměnnou a nepoužívat další čtení pomocí $_POST
Pro výstup proměnné použít:
$text = htmlspecialchars($_POST[text]);
echo $text;
Obecně musíte předpokládat, že do vstupní proměnné od uživatele se může dostat cokoliv!!!
EDIT
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
Aha, takže to ošetřím tak, že místo $data = mysql_real_escape_string($POST[data]); dám $text = htmlspecialchars($POST[text]);
echo $text;???
Offline
nepochopil...
Pročti si velice pozorně odkazy k jednotlivým příkazům...
Říkají Vám něco příkazy mysql_real_escape_string() nebo htmlspecialchars()
Pokud umíš použít google, pak snadno najdeš např.: tento český text. Vážně si to pozorně přečti!!!
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
no, pročetl jsem si to, ale nechápu to. nemůžeš mi napsat, co kam mam dat (co místo čeho)?
Offline
proměnné, které vstupují do databáze a dále se s nimi pracuje v dotazech ošetřit na vstupu:
//predpokladam textovy vstup
$promenna=mysql_real_escape_string($promenna); // obecne, napr. $_POST[promenna]
//predpokladam ciselny vstup
$promenna=(int)$promenna; // obecne, napr. $_POST[promenna]
pro výpis - výstup na obrazovku - použít:
$promenna=htmlspecials($promenna);
echo $promenna;
Nevím už jak jinat Ti to po několikáté napsat.... Pokud tomu nerozumíš, tak si najdi lépe zabezpečený kód a nebo musíš počítat s tím, že Ti to někdo hackne a vymaže třeba celý web a nebo získá kontrolu nad celým Tvým účtem!!!
@l564:
Do pr...e Ty jsi měl pravdu
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
Můžeš mě to napsat takto:
místo tohoto:
něco
vlož toto:
díky
Offline
Těžko se dává konkrétní příklad, když je kompletně celý zdroják na přepis...
Ale pokusím se alespoň nastínit....
např:
<?php include "antet.php"; include "func.php";
if (isset($_POST["name"], $_POST["pass"]))
{
$_POST["name"]=clean($_POST["name"]); $_POST["pass"]=clean($_POST["pass"]);
$_SESSION["user"]=login($_POST["name"], md5($_POST["pass"]));
...
neřeším includované soubory...
<?php
include "antet.php"; include "func.php";
$name=mysql_escape_real_string($_POST["name"]);
$pass=mysql_escape_real_string($_POST["pass"]);
if (isset($name, $pass))
{
$_POST["name"]=clean($_POST["name"]); $_POST["pass"]=clean($_POST["pass"]);
$_SESSION["user"]=login($name, md5($pass));
...
a to vše v celém zdrojáku. Prostě a jednoduše - ošetřit vstupní proměnné - provést bezpečnostní korekci.
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
Ok, to mi bude snad stačit.
Děkuji za veškerou pomoc.
michaln
Offline
Není zač, ale jelikož všichni vedi jaky soubor to je tak byt vami tak si ho rychle zabezpečte.
Zdrojový kód | Změř si rychlost webu
Offline
myslíš, že by jsi my s tím mohl moc?
Offline
a co za to?
1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!
stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM
Problémy spojené s provozem služeb Endora, řešte na tomto fóru.
Offline
nevím, co chcete?
Offline