Jump to content

dancezar

Active Members
  • Posts

    981
  • Joined

  • Last visited

  • Days Won

    20

Posts posted by dancezar

  1. Acum 1 saptamana am achizitionat un ethernet shield pentru arduino pe care am dat 80 de lei de pe okazii.A costat destul de putin doarece este o clona chinezeasca dar isi face treaba foarte bine ca si una originala,una originala la magazinele de profil costa aproape dublu.

    Ieri m-am gandit ce sa fac cu aceasta placuta si cu arduino.Si doarece am mai avut un LCD 16X2 printr-un sertar acesta a costat 25 de lei ,m-am gandit sa fac un client care sa preia datele despre vreme pentru urmatoarea zi si sa le afiseze pe ecran ,acesta fiind independent fata de calculator.

    Am impartit acest tutorial in doua parti:

    1)Partea hardware

    2)Partea software

    1)Partea hardware

    Shieldu se conecteaza foarte usor la placuta arduino ca in imaginea urmatoare

    2.jpg

    http://www.elechouse.com/elechouse/images/product/Arduino%20Ethernet%20Shield/2.jpg

    Apoi partea cu lcd-u.Un lcd normal foloseste o conexiune paralela cu 6-7 fire digitale si pentru ca internet shieldu foloseste si el 4 fire m-am gandit la o conexiune cu 3 fire pentru ecranul lcd.Pentru a realiza conversia dintre o conecsiune paralela si una pe 3 fire am folosit un register shifter 74hc409.Am gasit pe situl oficial arduino o schema pentru register shifter si care arata cam asa:

    LCD3wiresSchematic_new.jpg

    http://playground.arduino.cc/uploads/Code/LCD3wiresSchematic_new.jpg

    Este foarte simplu de realizat si foarte ieftin un integrat 74hc409 am gasit pe tme.ro (un site care importa piese electrice) la pretul de 2.78 lei pentru 5 bucati.Pe unele lcd-uri 16X2 este necesar sa aplicati GND la pinul 16 pentru a fi iluminat.

    Dupa am conectat in loc de pini 10,11,12 ca pe schema pini 5,6,7 la arduino deoarce 10,11,12 sunt ocupati de shieldul internet;)

    2)Partea software

    Pentru a prelua prognoza meteo m-am folosit de serviciu wheater de la yahoo.Api-ul lor este foarte usor de folosit

    Yahoo! Weather - Galati, RO furnizand un document XML cu datele despre vreme pe 5 zile pentru galati (ROXX0009 acesta este codul lor pentru orasul galati).Apoi m-am gandit ca daca fac o cerere GET http pe arduino v-a trebui sa procesez acele date XML astfel incat pe ecran sa apara numai "ziua starea vremii si valorile minime si maxime in grade celsius" iar aceasta necesita memorie mai multa doarece v-a trebui sa lucrez cu pointeri iar acest lucru v-a incetini si solicita procesorul arduino.La aceasta problema am gasit o solutie foarte simpla si anume un script PHP care sa preia documentul XML de pe wheter.yahoo.net in proceseaza si sa afiseza in urma cereri GET numai datele de care am nevoie.Acesta arata cam asa:

    $doc = new DOMDocument();
    $doc->load('http://weather.yahooapis.com/forecastrss?p='.$_GET['cod'].'&u=c');
    $channel = $doc->getElementsByTagName("channel");
    $a=array();
    $i=0;
    foreach($channel as $chnl)
    {
    $item = $chnl->getElementsByTagName("item");
    foreach($item as $itemgotten)
    {
    $describe = $itemgotten->getElementsByTagName("description");
    $description = $describe->item(0)->nodeValue;
    $a[$i]=$description;
    $i++;
    }
    }
    $split1=explode("<b>Forecast:</b>",$a[0]);
    $split2=explode("<BR />",$split1[1]);
    $split3=explode("<br />",$split2[1]);

    //determinam temperatura minima si maxima
    $tem=explode(" High: ",$split3[1]);
    $tem_m=explode(" Low: ",$tem[1]);
    echo $tem[0].$tem_m[1]."-".$tem_m[0]."C";

    si l-am urcat pe un host.

    Acum si codul pentru arduino.

    Schema logica ar arata astfel:

    1)Initializeaza Shieldul internet

    2)Se conecteaza la hostul cu scriptul php

    3)In cazul in care se poate conecta sa trimita o cerere GET

    4)Primeste rezultatele intr-un buffer (un vector)

    5)Apoi sa afiseze pe ecran numai datele despre vreme fara Headere

    //Includem librariile necesare

    #include <SPI.h>//Pentru shield

    #include <Ethernet.h>//Pentru shield

    #include <LCD3Wire.h> //Pentru lcd

    // Arduino pins

    #define LCD_LINES 2 // numarul de linii pe care le are lcd-u al meu are 2 dar exista si lcd-uri cu 3 sau 4 linii

    #define DOUT_PIN 6 // Dout pin

    #define STR_PIN 7 // Strobe pin

    #define CLK_PIN 5 // Clock pin

    LCD3Wire lcd = LCD3Wire(LCD_LINES, DOUT_PIN, STR_PIN, CLK_PIN); //Specificam pini de iesire pentru LCD

    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };//Adresa mac a placutei de retea lasati asa in cazul in care nu o aveti specificata pe spate

    IPAddress server(0,0,0,0);//Adresa ip catre hostul unde este urcat scriptul

    EthernetClient client;//initializam clientul

    char ar[400];//Bufferul unde pastram datele

    int i=0,afisate=0;//i este un contor iar afisate tot un contor pentru a numare numarul de caractere scrise pe lcd

    void setup() {

    lcd.init();//initializam lcd-u

    lcd.clear();//Eliberam ecranul

    Ethernet.begin(mac);//Deschidem shieldul cu macul specificat

    delay(1000);//ii dam o secunda ca shieldu sa se initializeze corect

    lcd.print("Ma conectez..");//scriem pe ecran un mesaj

    if (client.connect(server, 80)) {//In cazul in care ne putem conecta

    lcd.clear();//Eliberam ecranul pentru urmatorul mesaj

    lcd.print("connected");//scriem ceva

    //Facem cererea GET

    client.println("GET /test.php?cod=ROXX0009 HTTP/1.0");//inlocuiti test.php cu numele scriptului pe care l-ati pus si ROXX0009 cu codul orasului dorit acesta il luati de pe weather.yahoo.com

    client.println("Host: host.com");//Inlocuiti host.com cu numele hostului dumnv

    client.println();//Trimitem nimic pentru a termina cererea GET

    }

    else {

    lcd.clear()

    lcd.print("connection failed");//Conexiunea nu s-a putut realiza

    }

    }

    void loop()//Functia loop se repeta

    {

    if (client.available()) {//In cazul in care avem date de primit

    char c = client.read();//citim caracterul

    ar=c;//Il stocam in buffer cu indicele i

    i++;//incrementam contorul

    }

    //In cazul in care nu mai avem date de primit si clientul s-a deconectat

    if (!client.connected()) {

    lcd.clear();//Eliberam ecranul

    for(int j=160;j<=226;j++){//Parcurgem bufferul de la indicele de la care porneste mesajul cu prognoza meteo pana la sfarsit

    afisate++;//Numaram cate caractere am afisat

    if(afisate==16){//Daca am afisat 16 caractere scriem un nou rand

    lcd.print("-");

    lcd.cursorTo(2,0);

    }

    if(afisate==32||ar[j]=='\0')//Daca am afisat 32 de caractere sau am ajuns la un caracter null

    break;//Ne oprim

    lcd.print(ar[j]);//Afisam caracaterul pe ecran

    }

    client.stop();//Clientul se opreste

    for(;;)//Face nimic pentru totdeauna pana dati reset la cod

    ;

    }

    }

    Aici aveti un demo:https://vimeo.com/70244345

    • Upvote 1
  2. So what if the challenge is closed, i fucked your mother.

    I don't care if it's closed, i'm bored.

    Back on topic, nice you monitor inputs LOOOL, there are many ways to achieve it, anyway , wth? of course it cannot bypass chrome, no one here can bypass chrome especially you rofl with normal non-persistent xss (1 get variable).

    //Edit

    Just re-read your thread, idc if it doesn't work on chrome.

    You need to check your security.

    ~IRAN HACK TEAM!

    [QOUTE]The xss filter on chrome only protects against non-persistent and can be truly bypassed when there are 2 get variables.

    I've yet to see an xss vector that works against latest chrome version with 1 get variable.

    you are Mynikka becouse you are banned you make a new account.anyway You are retarded IN SOME SITUATION XSS AUDIOR FROM CHROME IS PASSABLE.So for your knowledge if the xss vector is injected in a <script> tag is 100% passable WITH ONE VARIABLE.Why anywone who solved this challenge can bypass this fucking xss auditor and you cant oooooo becouse we fuck your mother

  3. Nu, nici o sansa, ai deja cam cel mai bun procesor cu socket am2. Am si un comp vechi cu Sempron 3000+ si am vrut sa fac acelasi lucru. [Nici macar dual core-uri nu exista pe am2]->(fals, am gresit) asa ca nu, nu ai alta optiune decat sa cumperi un calculator nou. Exista niste procesoare rezonabile pentru am2, cauta pe net.

    Daca cumperi altul nou treci pe intel cu o placa de baza lga 775 se gasesc multe procesoare la preturi ok si performante foarte bune (si dual core si quand core)

  4. danyweb09 you need to stop this pretentious bullshit.

    You cannot bypass chrome (on non-persistent xss), you just disable the xss filter and pretend you're some l33t hax0r.

    Prove you can bypass it, i will pay you 450$ (escrow).

    I'cant bypass the xss filter from chrome.But in some condition is works here i have 2 exemple:

    <?php

    echo $_GET['c'];

    ?>

    and the url :site.com/script.php?c=<script>alert(1)</script>

    This is not passable

    But propose this script:

    <script>

    var test="<?php echo $_GET['c']; ?>";

    //the rest of the javascript code

    </script>

    this vector can bypass the xss auditor from chrome:";alert(1);// or ";alert(1);a="1

    Test it on your localhost.

    I did dont say i can bypass the xss auditor i say "Its work on google chrome"

    Sory for my bad english.

    //edit the xss filter from IE 8 is more good than xss auditor from chrome

  5. Categoria ar trebui sa se numeasca Jobs si pe langa acea categorie un thread sticky unde cei care au angajat sau au fost angajati sa recomande persoana respectiva astfel se vor evita tepari iar cei care pe viitor vor vrea sa caute un programator sau resoucer vor cauta in acea lista de recomandari sa vada daca au facut treaba buna sau nu.

  6. Dificultate:easy-mediu

    Target:http://qwerty1234.zz.mu/xss_qwerty.php

    Reguli: Postati o imagine cenzurata apoi trimiteti pm cu rezolvarea

    A si nu dati hinturi.

    //edit sa mearga pe chrome

    L-am rugat pe qwerty sa urce scriptul pe un host de al lui.

    //edit am uitat proof

    Proof:http://postimg.org/image/fppw21qa5/

    Sovers:

    -daNNy.bv

    -qwerty12 (pm cu rezolvarea corecta)

    -Toshib4

    -xTremeSurfer

    -Andys

    -akkiliON

    -TheTime

    -yoyois

    -Sega

    Challenge Closed.

    Felicitari tuturor!

    Rezolvare:

    Este din $_GET['ceva'] cu vectorul:";alert(1);// sau ";alert(1);a="1

×
×
  • Create New...