Vai pliks $_GET ir bīstams?

Tiek skatīts 1 ieraksts (no 19 kopumā)
  • Autors
    Ieraksti
  • #158162
    E-500
    Participant

    Teiksim ja ir šāds pliks PHP kods, bez DB, bez nekā:

    Code:


    echo $_GET[’id’];


    Tur var iebarot kaut ko serverpuses bīstamu? Vai tik html/xss?

    Netaisos neko hakot vienkārši biju aizmirsis uzlikt htmlspecialchars’u…

    #296870
    Wuu
    Participant

    Tīri simpātiski, uzliec vizmaz.

    $_GET = htmlspecialchars(trim(isset($_GET) ? $_GET : null));

    #296871
    Crow
    Participant

    Code:

    filter_var($GET[’id’], FILTER_VALIDATE_INT);

    #296872
    Faks
    Participant

    neko daudz jau nevar izdarīt tikai var mierigi uztaisit transversal un tad jau cik spej vien tava personīgās idejas iet tālu.

    formāli primāri nozags visus kodus tad uztaisīs remote ssh vai citas alternatīvas izmantos beigas backdoor pectām shell un dzīve ir salda ^^

    #296873
    E-500
    Participant

    Pagūglēju to traversalu, bet man tak tur nebij nakādas includes vai darbības ar failiem, vaitad no tāda prasta echo to var izdarīt?

    #296874
    E-500
    Participant

    Īsti nesapratu, kāpēc tas null ir vajadzīgs?

    #296875
    E-500
    Participant

    Interesants šito nezināju, ņemšu vērā. Parasti validēju ar regexpu, bet šamējais nenostrādāja, vienas kļūdiņas dēļ. 🙁

    #296876
    Faks
    Participant

    transversal caur xss vai sql inject jebkurā varijantā nesīs rezultātus.

    ideja vienkārša piemērs

    ziņas&id=1 vietā cipara mauc xss un dari ko teu sirds kāro pēctam,transversal un velc ārā no sistēmas passwd vai jebkuru failu kuru gribi fakts kā tāds.

    tēma veca bet dod priekštatu kā zvērs darbojas.

    https://www.explorehacking.com/2011/01/directory-transversal-vulnerability.html

    #296877
    E-500
    Participant

    Es tik nesaprotu – tas xss darbosies tik klienta pusē (hakera) un netika nekur noglabāts, tikai izvadīts. Kā tad mēs nonākam līdz tam servera puses hakam? Ja es noglabātu to injecēto xss un dotu to citiem useriem tad tas varētu kaut ko kaitēt… Ja tajā parametrā ievadīšu to ../etc/passw viņš vienkārši izdukās to lapā.

    #296878
    Faks
    Participant

    iedomajies ka teu visu failu izprinte teksta formātā kad izmanto šo caurumu ja nē pamēģini atrast kādu kas tavā lapa nodemonstrē kā tas notiek.

    #296879
    E-500
    Participant

    Vai tas injicētais javascipts var izdrukāt faila saturu? Id tika savākts no usera inputa un tur pat izdrukāts un nekur netika noglabāts. Vienīgais ir kaut kādas html/js kakas varētu lapā sadrukāt un tad tikai vienam lietotājam… kā php izpildīt nav ne jausmas…

    Vai arī es kaut ko nesaprotu..

    #296880
    sLIDe
    Participant

    Neklausies ko Faks runā. Uz tevi tas šajā gadījumā neattiecas.

    #296881
    root
    Participant

    Atkal aklie kurlos ved?

    Jā, pliks GET ir tik pat bīstams, kā pliks POST, COOKIE, REQUEST un citi famīlijas zvēri. Katrs GET ir jāfiltē atbilstoši saturam, skaitļiem ar intval, pārējam filter_validate.

    Labākais, kas var notikt – kāds dabūs shell pieeju un nošausies tur pat uz vietas ja ar permisijām viss būs kārtībā un paroles datubāzem netiks glabātas plain text failos. Sliktākajā gadījumā, man būs tava lapa.

    #296882
    Aldis
    Participant

    Vai tik tiešām tik grūti savaldīt GET-u grožos? 🙂

    Ok.. ja tā ir statiskā lapa, bez pieejām, tad nav vēl tik traki.. Bet vismaz nodefinē GETu sakarīgi, lai tam nav nekur citur pieeja kā tikai un vienīgi attiecīgajā mapē…

    Piemēram content-s mainās no statiskiem .txt failiem.. Tad neļauj lasīt citus -php, utt failus, bet failus ar galotni .txt un attiecīgajā mapē.. Ja fails pastāv, tad notiek izvads, ja nē, tad nenotiek nekāds izvads, un tur kaut vai vada iekšā sazin ko…

    if (file_exists(‘content/’.$_GET[“page”].’.txt’)) {include “content/”.$_GET[“page”].”.txt”; }

    else

    {include “content/home.txt”;}

    Ja tomēr ar GET-a palīdzību var tikt klāt lapas vadībai, tad tici vai nē, kāds noteikti iebetonēs Tavā lapā sludinājumu, ka tiek meklēts jauns IT speciālists, jo iepriekšējais neda**** neko nejēdz. 😀

    Un kā jau root minēja, ievadi ir jānosargā, ja nē būs XSS, dažādas php, utt injekcijas.. 🙂

    #296883
    E-500
    Participant

    Atviegloti nopūšas…

    #296884
    E-500
    Participant

    Ja GET’s netiek nekur tālāk padots, bet tikai savākts tāds kā ir (nekāda db netiek kverijota, gets netiek noglabāts) un izēhots konkrētajam pieprasītājam lapā, tad neko tur taču kaitīgu nevar izdarīt?

    #296885
    E-500
    Participant

    Š itā ar inclūdēm jau tiek darīts, bet tajā konkrētajā lapā to nebija vispār. Visi geti arī tiek filtrēti, vienīgi tajā gadījumā nofeiloja tikai viens no getiem ar manu kļūdainaino regexspu (pārbaudīja nevis vai ir cipars, bet gan vai satur ciparu), jebkurā gadījumā tika ātri pamanīts (10-15 minūtēs), bet tur apkārt klīst tādi šaubīgi ļautiņi tāpēc prasu vai tas varēja ko kaitēt.

    #296886
    Aldis
    Participant

    Nevajadzētu kaitēt.

    Nākotnē gan izmanto vienkāršāku paņēmienu, un neko tur nepreperē vaļā no GET-a. 🙂 Vienkāršāka dzīvošana Tev, un saitam ko izveidoji. 🙂

    #296887
    root
    Participant

    XSS. Es varu nosūtīt uz tavu lapu pilsoni ar craftotu URL, kur viņu redirektēs atpakaļ pie manis uz manu lapu ar viņa cookies kā GET un pēc tam atpakaļ uz tavu lapu. Pilsonis pat nepamanīs.

Tiek skatīts 1 ieraksts (no 19 kopumā)
  • Jums ir jāpieslēdzas sistēmai, lai varētu komentēt šo tēmu.
Jaunākais portālā