ÐÒ& Posted February 2, 2008 Report Posted February 2, 2008 Hello! m am gandit ca fiecare am putea adresa niste intrebari sau raspunde dupa principiul urmator:-eu pun o intrebare.Daca tu reusesti sa mi o raspunzi tu ai dreptul sa adresezi urmatoarea intrebare.Intrebarile le vom pune din IT,securitate,programare .Sa nu va aud cu "cati ani a trait X" sau Y.Deorece eu am inceput adresez prima intrebare:Denumiti 2 unelte apartinand protocolului ICMP. Quote
Grunt Posted February 2, 2008 Report Posted February 2, 2008 ping si traceroute?Daca am raspuns corect...Ce inseamna clasele A, B, C, D si E? Quote
ÐÒ& Posted February 2, 2008 Author Report Posted February 2, 2008 este corect..intrebarea lui grunt este cea curenta acum. Quote
Aghast Posted February 2, 2008 Report Posted February 2, 2008 Sunt clase de IP-uriClasa A: biti incep cu 0Clasa B: biti incep cu 10Clasa C - biti incep cu 110Clasa D - biti incep cu 1110, folosite pentru multicastClasa E - biti incep cu 1111, adrese rezervate.Intrebare(daca raspunsul meu e corect):Ce este un subnet mask? Quote
moubik Posted February 2, 2008 Report Posted February 2, 2008 o masca de biti ce desparte internetul de reteaua locala.intrebare:cum interschimbi 2 variabile fara variabila auxiliara? Quote
phreak Posted February 2, 2008 Report Posted February 2, 2008 a= a+b;b=| b-a| ;a= a-b;Intrebare : cum aflii daca un numar este prim cu for si fara sa folosesti break? Quote
moubik Posted February 2, 2008 Report Posted February 2, 2008 intrebarea e prost formulata.n = numarul posibil prim;esteprim = true;for (i = 2 ; i < sqrt(n) ; i++){ esteprim = ((n % i) == 0) ? false : esteprim;}asta este pur si simplu fara break.presupun ca vroiai sa ma si opresc atunci cand imi dau seama ca nu e prim.totusi nu ai precizat in intrebare acest lucru prin ce metoda se poate optimiza blind sql injection ? Quote
phreak Posted February 2, 2008 Report Posted February 2, 2008 asa este am uitat sa precizez oricum intrebarea e foarte simpla puteai sa faci si cum ai presupus ca ma refeream eu Quote
tw8 Posted February 2, 2008 Report Posted February 2, 2008 a= a+b;b=| b-a| ;a= a-b;Gresit:a= a+b; b=| b-a|=|b-a-b|=|-a| ; a= a-|-a|!=b;Varianta corecta:a= a+b;b=a-b;a= a-b;P.S.: Nici intrebarea lui moubik nu a fost bine formulata ... daca acea variabila ar fi un string treaba mergea mai greu . Trebuia precizat tipul de date.Intrebare : cum aflii daca un numar este prim cu for si fara sa folosesti break?Acum am observat ... si codul lui moubik e gresit:n = numarul posibil prim;esteprim = true;for (i = 2 ; i < sqrt(n) ; i++){ esteprim = ((n % i) == 0) ? false : esteprim;}De exemplu, pentru n = patrat perfect si sqrt(n) = prim, va afisa ca numarul e prim. Incercati cu numarul 49 spre exemplu.Rezolvare corecta in C:#include<stdio.h>main(){int a, i;bool p=true;scanf("%d", &a);i=2;while(i*i<=a && p==true) { if(a%i==0)p=false; i++; }if(p==false)printf("%s","nu ");printf("%s","este prim!");}Deci pun eu o intrebare ... de ce preferati sa folositi i++ in defavoarea lui ++i ? Quote
vladiii Posted February 2, 2008 Report Posted February 2, 2008 Se poate folosi si programare nestructurata, care nu prea este recomandata in acest caz, dar e o metoda:#include<stdio.h>main(){int a, i;bool p=true;scanf("%d", &a);i=2;while(i*i<=a) { if(a%i==0) { p=false; goto finish; } i++; } finish: if(p==false) { printf("%s","nu este prim!"); } else { printf("%s","este prim!"); } } Conform lui phreak, nu am pus acolade. Le pun acum Quote
phreak Posted February 2, 2008 Report Posted February 2, 2008 tw8 mai citeste o datatu ai zis asa :a= a+b;b=| b-a|=|b-a-b|=|-a| ;a= a-|-a|!=b;ai gresit aici pentru ca a este a+b deci la final a= a+b -|-a| = bLE : cre ca esti powered by beer... programul lui moubik zice i<sqrt(n) deci nu ia in calcul pe 7 si rezolvarile voastre ( a ta si a lui vladii nu-s cu for ) Quote
tw8 Posted February 2, 2008 Report Posted February 2, 2008 ai gresit aici pentru ca a este a+b deci la final a= a+b -|-a| = bDa, ai dreptate ... nu am fost atent.Dar tot nu e bine .Incearca cu a = negativ si b = pozitiv .LE : cre ca esti powered by beer... programul lui moubik zice i<sqrt(n) deci nu ia in calcul pe 7 Eu nu am zis acelasi lucru ?si rezolvarile voastre ( a ta si a lui vladii nu-s cu for )Vai de plm ... ideea era sa fie folosita structura repetivitva.Daca esti asa mofturos, uita varianta cu for:#include<stdio.h> main(){ int a, i;bool p=true; scanf("%d", &a);for(i=2;i*i<=a && p==true;i++) { if(a%i==0)p=false; }if(p==false)printf("%s","nu ");printf("%s","este prim!");}Poate imi raspundeti si mie azi la intrebare :roll:... Quote
phreak Posted February 2, 2008 Report Posted February 2, 2008 tu ai zis : De exemplu, pentru n = patrat perfect si sqrt(n) = prim, va afisa ca numarul e prim. Incercati cu numarul 49 spre exemplu. nu ai zis acelasi lucru ... tu probabil n-ai vazut ca nu-i <= si ai zis ca merge de la 2 la 7, o sa-l vada pe 7 ca numar prim si-o sa zica ca-i 49 prim ... defapt merge foarte bine pentru 49si vladi a gresit ceva.... if(a%i==0) p=false; goto finish;trebuia if(a%i==0) {p=false; goto finish;} Quote
tw8 Posted February 2, 2008 Report Posted February 2, 2008 tu ai zis : De exemplu, pentru n = patrat perfect si sqrt(n) = prim, va afisa ca numarul e prim. Incercati cu numarul 49 spre exemplu. nu ai zis acelasi lucru ... tu probabil n-ai vazut ca nu-i <= si ai zis ca merge de la 2 la 7, o sa-l vada pe 7 ca numar prim si-o sa zica ca-i 49 prim ... defapt merge foarte bine pentru 49De cand stii tu ce am eu in minte ?Scriptul lui moubik nu merge pentru 49, si pentru toate numerele de forma n = patrat perfect si sqrt(n) = prim.Nu ma mai enerva cu replyuri idioate si incearca sa imi dai raspunsul la intrebare. Quote
kw3rln Posted February 2, 2008 Report Posted February 2, 2008 incercati sa nu iasa cearta ! Ca inchid topicul! Ar fi pacat de el Quote
phreak Posted February 2, 2008 Report Posted February 2, 2008 admit ... de data asta n-am fost eu atent bravo tw8 si hai sa nu ne mai certam Quote
shamat Posted February 2, 2008 Report Posted February 2, 2008 de ce preferati sa folositi i++ in defavoarea lui ++i ?i++ si ++i au acesi efect, incrementarea cu 1 a variabile iIn schimb a = i++ nu e la fel cu a = ++iIn expresia a = i++; a ia valoarea lui i, apoi i este incrementat, pe cand in expresia a = ++i; intai se incrementeaza i, apoi a ia valoare lui iIntrebare: Ce este si pentru pentru ce se foloseste robots.txt ? Quote
moubik Posted February 2, 2008 Report Posted February 2, 2008 tw8, da aveam o greseala se rezolva cu un simplu <= sqrt(n) in loc de < sqrt(n) nu e nevoie de rescriere de cod totusi al tau se opreste dupa ce gaseste solutia ce a uitat phreak sa precizezerobots.txt se foloseste pentru blocarea/directionarea motoarelor de cautare intr-un site.daca vrei ca un motor de cautare sa nu-ti indexeze un anumit director din site specifici in robots.txt nu precizez sintaxa..totusicum optimizezi un blind sql injection ?nu vad de ce ar fi diferenta intre numar/string la asa ceva.mi se pare aceeasi tehnica. nu e nevoie de implementare doar precizata tehnica Quote
kw3rln Posted February 2, 2008 Report Posted February 2, 2008 cum optimizezi un blind sql injection ?1. verifici daca UPPER sau LOWER de Substring = Substring la o comanda sql la prima litera adica position,1 ATUNCI sti ca primu ii numar2.verifici unele tabele care is caracteristice la anumite softuri3 apoi mai este sa folosesti numere ca stringuri 4 absinthe foloseste o metoda interesanta ! incepe de la 0 si continua cu exponentul lui 2 parca..... oricum am enumerat ce folosesc eu pt a optimiza blind sql injection ! Quote
phreak Posted February 3, 2008 Report Posted February 3, 2008 cum optimizezi un blind sql injection ?1. verifici daca UPPER sau LOWER de Substring = Substring la o comanda sql la prima litera adica position,1 ATUNCI sti ca primu ii numar2.verifici unele tabele care is caracteristice la anumite softuri3 apoi mai este sa folosesti numere ca stringuri 4 absinthe foloseste o metoda interesanta ! incepe de la 0 si continua cu exponentul lui 2 parca..... oricum am enumerat ce folosesc eu pt a optimiza blind sql injection !acuma tre sa pui o intrebare Quote
moubik Posted February 3, 2008 Report Posted February 3, 2008 cum optimizezi un blind sql injection ?1. verifici daca UPPER sau LOWER de Substring = Substring la o comanda sql la prima litera adica position,1 ATUNCI sti ca primu ii numar2.verifici unele tabele care is caracteristice la anumite softuri3 apoi mai este sa folosesti numere ca stringuri 4 absinthe foloseste o metoda interesanta ! incepe de la 0 si continua cu exponentul lui 2 parca..... oricum am enumerat ce folosesc eu pt a optimiza blind sql injection !foarte tare mai este si metoda divide et impera in care practic faci cautare binara.sa dau un exemplu:incerci sa ghicesti un numar intre 1 si 100.verifici daca este mai mare de 50.daca este mai mare verifici daca este mai mare decat 75.ati prins ideea.pune o intrebare Quote
kw3rln Posted February 3, 2008 Report Posted February 3, 2008 Intrebarea:explicati comanda: 1 UNION SELECT IF(SUBSTRING(user_pass,1,1) = CHAR(50),BENCHMARK(5000000,ENCODE('nsg','by 10 seconds')),null) FROM users Quote
moubik Posted February 3, 2008 Report Posted February 3, 2008 se foloseste la blind sql injection.se verifica daca primul caracter din user_pass este egal cu caracterul in ascii 50, adica "2".in caz ca este adevarata verificarea face ENCODE de 5000000 de ori ce practic va intarzia raspunsul.in caz ca nu este adevarata verificarea pur si simplu se returneaza "null" si nu se intarzie raspunsul.in concluziedaca se intarzie raspunsul cu aproximativ 10 secunde (depinde de host, de functiile folosite..) stim ca primul caracter din user_pass este "2" si se poate trece la aflarea urmatorului caracter.astept acceptul, ca oricum nu am idee de intrebare acum. Quote
andrewboy Posted February 3, 2008 Report Posted February 3, 2008 referitor la intrebarea ta tw8 nu stiu exact raspunsul dar stiu un lucru : Daca folosesti ++variabila,valoarea returnata va fi valoarea din variabila incrementata,iar daca va fi variabila++ valoarea returnata va fi valoarea din variabila inainte de a fi incrementata!insa daca folosesti de ex x = i++ x va fi i si apoi i va fi incrementat si daca vom pune x = ++i i va fi incrementat si apoi x va lua valoarea acestuia...lol ce repede ati raspuns:)) Quote
&#208;&#210;& Posted February 3, 2008 Author Report Posted February 3, 2008 dade exempu cand vrem sa adaugam ceva intr un vector punem v[k++] = ...si k=0 punem in V0 dar dupa aceastra instructiune k va fi 1mai simplu PREFIXAT SI POSTFIXAT Quote