phpRS 2.8.x : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzích phpRS v2.8.x.
phpRS - redakční a informační systém
Jít na stránku:  Předchozí123456Další
Aktuální stránka:4 z 6
Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-05, 12:11

na to nemusi spoustet zadny SQL prikaz, to se udela samo, pokud se radne odhlasi, zaznam v guard zustava, jen pokud se neodhlasi

Re: Možný hack?
Zaslán uživatelem/kou: xsuchy09 (IP adresa zaznamenána)
Datum: 2007-12-05, 14:20

Prolomení hesla to nebude, spíše prolomení kontroly přihlášení, včera jsme se o tom s pa3kem trochu bavili a phpRS to kontroluje dost směšně ... no nedělejme další závěry, dokud nebudou přesné logy usvědčující přesnou část phpRS, která toto umožňuje ...

========================
WEB: Publikační systém WAMOS
SEO: SEO analýza zdarma
OPEN PROJECTS: Studentský portál VUT
HOSTING: WebGlobe.cz
ICQ: 313887644
EMAIL: xsuchy09(at)centrum.cz
========================

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-05, 15:04

no ja jsem se snazil najit nejakou dirku v phprs, ale nic jsem nenasel, bud by musel nejak podvrhnout $GLOBALS["rspredpona"] nebo $Uzivatel->StavSession ale ani jedno podle me nejde udelat pomoci get, post, cookies

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-05, 16:47

Začínam mať pocit, že to nebude SQL injection ale XSS. Logujem na dvoch serveroch, no zatiaľ bezvýsledne. Ak sa chce niekto pripojiť a logovať tiež, pošlem kód.

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-05, 18:11

XSS si nejak nedokazu predstavit, myslim, ze phprs je v tomto smeru dobre osetrene

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-05, 21:29

Nemyslím, skús zaregistrovať čitateľa s názvom <textarea> a pozrieť zoznam čitateľov v admine :-(

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-05, 21:45

prijde mi ze, by to bylo snadno odhalitelny, predpokladam, ze admin by si novych ctenaru vsimnul, a pripadny pohled do tabulky povi vic (napr, nastaveni autoinkrementu, kdyby takovy ctenar byl zase smazan, pripadne datum posledni zmeny tabulky)

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-05, 22:04

to bol len príklad, do loginu sa aj tak nejaký nebezpečný JS nevojde, ak by bolo pole dlhšie tak <script>odoslanieCookieAdminaNaHackerovServer();</script> si v vizuálne admin nemá šancu všimnúť.

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-05, 22:24

pripoustim, ze by si toho admin nemusel hned vsimnout, ale ted by mohlo jit zjistit, ze k necemu takovemu doslo - bud tam ten ctenar jeste ten nebezpecny kod ma a je videt, nebo je vymazan a nesouhlasi datum zmeny u tabulky, pripadne datum vytvoreni tabulky a pokud jsi uzivatele haxah smazal a on se ti tam dostal znovu, tak by ti musel vzniknout dalsi ctenar, pres ktereho by ti identitu znovu ukradl, coz by opet bylo napadne

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-06, 10:01

Chyba objavená, jedná sa o XSS hack, oprava bude zverejnená onedlho.

Re: Možný hack?
Zaslán uživatelem/kou: mr3ska (IP adresa zaznamenána)
Datum: 2007-12-06, 13:51

bude nekde napsane co se kde meni? ja mam totiz verzi 2.8.0 s dost upravami a rad bych to pouze zmenil ve svem stavajicim systemu, dik za info

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-06, 15:23

no v areaders najit $pole_data['prezdivka'] $pole_data['jmeno'] a $pole_data['email'] a tam, kde se to zobrazuje, tak to obalit funkci htmlspecialchars($pole_data['email'])
v 2.8.1 je to na radcich 202-204 a 291, 297, 299 (pokud jsem neco neprehledl)
to je takove minimalni reseni, ktere zpusobi, ze se tento kod neprovede, ale bude zobrazen

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-06, 15:30

áno určite bude, úprava bude jednoduchá. Zmení sa len jedna funkcia v phpRS systéme a do každého (z hľadiska XSS potencionálne nebezpečného) scriptu sa na začiatok pridá jedna konštanta. Do vydania úpravy postačí toto:

admin/areaders.php
r.198-205
for ($pom=0;$pom<$pocetct;$pom++):
    $pole_data=phprs_sql_fetch_assoc($dotazct);
    echo "<tr class=\"smltxt\" onmouseover=\"setPointer(this, '#CCFFCC')\" onmouseout=\"setPointer(this, '#FFFFFF')\">\n";
    echo "<td align=\"center\">".$pole_data['idc']."</td>\n";
    echo "<td align=\"center\">".htmlspecialchars($pole_data['prezdivka'],ENT_QUOTES)."</td>\n";
    echo "<td align=\"left\">".TestNaNic(htmlspecialchars($pole_data['jmeno'],ENT_QUOTES))."</td>\n";
    echo "<td align=\"left\">".TestNaNic(htmlspecialchars($pole_data['email'],ENT_QUOTES))."</td>\n";
    echo "<td align=\"left\">";


admin/areaders.php
r.288-300
echo "<form action=\"".RS_VYKONNYSOUBOR."\" method=\"post\">
<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\" align=\"center\" class=\"ramsedy-vypln\">
<tr class=\"txt\"><td align=\"left\"><b>".RS_CTE_SC_FORM_PREZDIVAK."</b></td>
<td align=\"left\">".htmlspecialchars($pole_data["prezdivka"],ENT_QUOTES)."</td></tr>
<tr class=\"txt\"><td align=\"left\"><b>".RS_CTE_SC_FORM_REG."</b></td>
<td align=\"left\">".MyDateTimeToDateTime($pole_data["datum"])."</td></tr>
<tr class=\"txt\"><td align=\"left\"><b>".RS_CTE_SC_FORM_POSL_AKT."</b></td>
<td align=\"left\">".MyDateTimeToDateTime($pole_data["posledni_login"])."</td></tr>
<tr class=\"txt\"><td align=\"left\"><b>".RS_CTE_SC_FORM_JMENO."</b></td>
<td align=\"left\"><input type=\"text\" name=\"prjmeno\" value=\"".htmlspecialchars($pole_data["jmeno"],ENT_QUOTES)."\" size=\"60\" class=\"textpole\" /></td></tr>
<tr class=\"txt\"><td align=\"left\"><b>".RS_CTE_SC_FORM_EMAIL."</b></td>
<td align=\"left\"><input type=\"text\" name=\"premail\" value=\"".htmlspecialchars($pole_data["email"],ENT_QUOTES)."\" size=\"60\" class=\"textpole\" /></td></tr>
<tr class=\"txt\"><td align=\"left\"><b>".RS_CTE_SC_FORM_INFO_CTE."</b></td>





Celkem upraveno 1×. Poslední úprava pa3k v 06.12.2007 19:59.

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-06, 15:31

Presne tak, MirekS ma predbehol kým som sa sral s formátovaním správy :)

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-06, 15:36

a jeste jsi zapomnel na radek 291
<td align=\"left\">".$pole_data["prezdivka"]."</td></tr>

EDIT: (pa3k) dík za upozornenie, hore uvedenú opravu som aktualizoval. Zmeny sú zvýraznené červenou.




Celkem upraveno 2×. Poslední úprava pa3k v 23.09.2008 14:16.

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-06, 15:42

Ja by som ešte ošetril aj readers.php približne takto:
function UlozCt()
{
// bezpecnostni kontrola
$GLOBALS["rjmeno"]=phprs_sql_escape_string(htmlspecialchars($GLOBALS["rjmeno"],ENT_QUOTES));
$GLOBALS["roldpass"]=phprs_sql_escape_string($GLOBALS["roldpass"]);
$GLOBALS["ridc"]=phprs_sql_escape_string($GLOBALS["ridc"]);
$GLOBALS["rheslo"]=phprs_sql_escape_string($GLOBALS["rheslo"]);
$GLOBALS["rheslo2"]=phprs_sql_escape_string($GLOBALS["rheslo2"]);
$GLOBALS["rcelejmeno"]=phprs_sql_escape_string(htmlspecialchars($GLOBALS["rcelejmeno"],ENT_QUOTES));
$GLOBALS["rmail"]=phprs_sql_escape_string(htmlspecialchars($GLOBALS["rmail"],ENT_QUOTES));
$GLOBALS["rjazyk"]=phprs_sql_escape_string($GLOBALS["rjazyk"]);
$GLOBALS["rinfo"]=phprs_sql_escape_string($GLOBALS["rinfo"]);
$GLOBALS["robsahmenu"]=phprs_sql_escape_string($GLOBALS["robsahmenu"]);
$GLOBALS["rzobrazmenu"]=phprs_sql_escape_string($GLOBALS["rzobrazmenu"]);

pretože neošetrené premenné sa môžu dostať na výstup napríklad cez nejaký plugin

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-06, 16:14

tohle osetreni nevim, jestli je vhodne, zde se ctenar uklada do databaze, proto by melo staci to osetreni tim escapovanim, osetreni zabranujici interpretaci vlozeneho kodu bych delal az a jen pri zobrazovani

Re: Možný hack?
Zaslán uživatelem/kou: xsuchy09 (IP adresa zaznamenána)
Datum: 2007-12-06, 18:38

Já bych ho naopak dělal při ukládání ... nevím, co má kam do těchto polí čtenář dávat HTML entity ... vůbec bych netestoval vstupy tak jak píšete, ale naopak přímo regulárem a povolil jen znaky abecedy + čísla, podtržítko a pomlčku a tečku ... v těchto polích nemá co jiného co dělat, takže znaky HTML když už, tak ořezávat před uložení a ne svobodně ukládat a ošetřovat pouze při zobrazení ...

========================
WEB: Publikační systém WAMOS
SEO: SEO analýza zdarma
OPEN PROJECTS: Studentský portál VUT
HOSTING: WebGlobe.cz
ICQ: 313887644
EMAIL: xsuchy09(at)centrum.cz
========================



Celkem upraveno 1×. Poslední úprava xsuchy09 v 06.12.2007 18:43.

Re: Možný hack?
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2007-12-06, 18:45

Ja by som to ošetroval radšej aj pri ukladaní do db z toho dôvodu, že na ošetrenú hodnotu z databázy sa väčšinou spoliahajú autori rôznych pluginov a rozšírení pri posielaní hodnôt do HTML výstupu. XSS by tak mohol vyliezť napríklad pri výpise zoznamu autorov a podobne, síce je to menej nebezpečné ako v admine, no tiež by sa dala nejaká tá session uchmatnúť aj z frontendu.

Re: Možný hack?
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2007-12-06, 18:45

to by nikdo nemohl pouzit nerovnitka, ktere bys orezal jako nepovolene znaky, nikdo by nemohl pouzit uvozovky adt..
to me prijde jako dost velke omezeni, ja se domnivam, ze dusledne pouziti funkce htmlspecialchars pri vystupu je dostatecne dobre a neomezuje to pouziti techto "specialnich" znaku

Jít na stránku:  Předchozí123456Další
Aktuální stránka:4 z 6


Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.