Jump to content

B7ackAnge7z

Active Members
  • Posts

    388
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by B7ackAnge7z

  1. Ceea ce folose?ti tu, e exact metoda descris? de @Gecko (?i da, el demult a scris despre asta). Se pare c? tu nu ai în?eles cum func?ioneaz? metoda ?i nici m?car nu ai citit atent (doar am scris c? nu sunt probleme cu performan?a). De exemplu, pentru urm?torul request: GET /user.php?name=Mihai HTTP/1.1 Host: localhost Accept: */* În fi?ierul user.php avem urm?torul cod: $_GET['name_like'] = "%{$_GET['name']}%"; $vars = hex_secure($_GET); $insert_sql = "INSERT INTO users (name) VALUES({$vars['name']})"; $select_sql = "SELECT * FROM users WHERE name LIKE {$vars['name_like']}"; Astfel, variabila $insert_sql con?ine: INSERT INTO users (name) VALUES(0x4d69686169) Dar în baza de date, numele va fi stocat ca "Mihai". Ce ?ine despre variabila $select_sql, va avea valoarea: SELECT * FROM users WHERE name LIKE 0x254d6968616925 Îns? va returna exact acela?i r?spuns ca ?i pentru: SELECT * FROM users WHERE name LIKE '%Mihai%'
  2. Problema este c? testul poate fi trecut automat în mai multe moduri, dar tocmai ceea ce ai postat tu era deja public (chiar înainte de a scrie despre challenge), iat? din ce cauz? am aceste suspiciuni. Da, sunt de acord c? liniile postate de tine pot fi g?site în game.js, dar a?a cum am mai spus, cred, c? dac? le g?seai singur publicai o rezolvare mai simpl? (?i nu neap?rat g?sit? în surs?). Iat? câteva exemple (?i dup? cum vezi, e posibil): postMessage('success', '*') frames[0].alert(1) window[0].alert(1) ?i nu doream s? o fac pe de?teptul, a?a cum ai spus tu — îns?, am v?zut c? tu ai dorit s? o faci. Iat? de ce ?i-am scris. ps. Consider c? aceast? discu?ie nu-?i are locul aici ?i ar fi mai bine s? continu?m în privat.
  3. @akkiliON, Da, ?tiam de acest concurs, îns? uitasem s? scriu pe RST. Totu?i, condi?iile nu sunt deloc clare. De?i am discutat cu ei ?i înc? câteva persoane, nu pot descrie exact care sunt cerin?ele, deoarece rezultatul final depinde foarte mult de metoda test?rii (de exemplu, în unele cazuri mi-a reu?it o cre?tere a performan?ei cu peste 400%, pe când în alte condi?ii — doar cu ~5%). Dup? spusele lor, ei au ob?inut un rezultat foarte bun ?i mult mai mare decât 50%, îns? când i-am rugat s? publice rezultatele unu benchmark realizat de mine, m-au refuzat amabil. Astfel, tind s? cred, c? în dependen?? de func?ia optimizat?, ei î?i pot ar?ta un benchmark care cu siguran?? va ar?ta c? func?ia ta merge pu?in mai rapid ca melcul.
  4. Exact. Doar c? am f?cut-o pe o not? ironic? încercând s? nu te jignesc, chiar dac? o meritai. Nu te sup?ra prea tare, dar sunt mai mult ca sigur c? tu nu ai g?sit aceste linii de cod în fi?ierul game.js, deoarece, dac? le-ai fi g?sit de unul singur, mai întâi de toate observai window.addEventListener("message", function(event) { ?i astfel, ai fi fost postat o singur? linie de cod ?i nicidecum dou?.
  5. @PoorStudentPleaseDonate, Dac? tot doreai s? te lauzi, în loc de un copy + paste, c?utai mai bine ?i foloseai: postMessage('success', '*'); Apoi, cu ceva if-uri ?i document.getElementsByClassName('next-button')[0].click(); f?ceai ca challenge-ul s? fie trecut automat în câteva secunde. Sau, având cuno?tin?e în domeniul criptografiei, observai c? toate datele necesare sunt salvate în fi?ierele cookie ?i cu „pu?in” noroc aflai ce metod? a fost folosit? la encriptarea datelor. Iar dac? ?i aceast? metod? î?i p?rea prea simpl? — exploatai vreo vulnerabilitate din QUIC sau SSL ce î?i permitea s? ob?ii accesul la server. ?i cirea?a de pe tort — luai leg?tura cu un inginer Google ?i folosind ingineria social? aflai r?spunsurile la toate nivelele acestui „banal” challenge. Apoi, veneai pe forum ?i î?i b?teai joc de to?i „l?ud?ro?ii” care, spre deosebire de tine, nu au dat un search pe Google pentru a trece testul cu ajutorul faimosului Ctrl+C/Ctrl+V, ci s-au bucurat c? au ocazia s?-?i testeze înc? o dat? cuno?tin?ele ?i s? se bucure de rezultatul ob?inut.
  6. XSS game: https://xss-game.appspot.com/ ps. Poft? bun?!
  7. @Gecko, Da-da, chestia aceasta nu e nou? (cineva prin 2008 spunea despre ea). Problema este c? stochezi datele codificate ?i astfel ocup? mai mut spa?iu + î?i creeaz? o mul?ime de probleme la toate capitolele.
  8. Nu sunt 100% sigur, dar se pare c? chestia cu Base64 este idea lui (cel pu?in mul?i au fost impresiona?i). Cât despre practic?, vezi urm?torul request: ajax.filter.php?price[min]=350&price[max]=500&vendors[]=HP&vendors[]=IBM&vendors[]=Acer&ram[timing][]=DDR2&ram[timing][]=DDR3&ram[size][min]=2048&&ram[size][max]=9000&[...+20 de variabile] Cred, c? metoda ar?tat? de mine, simplific? cu mult codul aplica?iei pentru astfel de situa?ii. ps. Dac? po?i, te-a? ruga în 2-3 cuvinte s? explici la ce „excep?ii” de referi.
  9. @bubbles, În primul rând, dup? umila mea opinie, feedback-ul pare s? fie f?cut „la comand?” sau, mai mult ca sigur, scris de tine. ?i chiar de nu am dovezi s? demonstrez asta, r?mân sceptic, deoarece câteva fraze de la persoane inexistente nu ofer? nici un gram de încredere (mai ales când ?tiu cum se creeaz? filmule?ele video cu persoane ce laud? produsele cuiva). Apoi, ce ?ine de matematic? — cu ceva timp în urm?, împreun? cu o persoan? ce e prieten bun cu teoria probabilit??ilor (?i cam tot ce ?ine de matematic? superioar?), am analizat GB de statistici loto, am creat formule ?i func?ii, monitorizând luni în ?ir rezultatele loto. Am generat mii de combina?ii folosind datele de la ultimele extrageri (începând cu intervalul de 1 zi ?i terminând cu câ?iva ani) în speran?a de g?si m?car ceva. ?i chiar dac? am fi cump?rat câteva sute de bilete generate dup? anumite formule, ?ansa de a ghici 4 (nemaivorbind de 5) numere din 45 era foarte mic?. De?i, ambii ?tiam din start c? o s? pierdem timpul în zadar, ne-am distrat de minune (mai ales atunci, când de câteva ori ghicisem Jackpotul). ?i da, s? nu uit?m de factorul uman — nimeni nu-?i va permite s? câ?tigi Jackpotul, dac? nu se va dori aceasta.
  10. Inspirat de Dan Kaminsky, vreau s? v? prezint o metod? eficient?, simpl? ?i sigur? de protejarea aplica?iilor web împotriva vulnerabilit??ilor de tip MySQL injection. Tot de ce ave?i nevoie, este s? folosi?i urm?torul fragment de cod: array_walk_recursive($_GET, function (&$val, $key) { if (!is_numeric($val)) { $val = '0x' . bin2hex($val); } }); Dup? care, pute?i folosi orice variabil? din masivul $_GET f?r? a v? gândi la securizarea acesteia. De exemplu, urm?toarea instruc?iune SQL este complet sigur? ?i nu are nici o importan?? ce date con?ine variabila $_GET['name']: $sql = "SELECT * FROM users WHERE name={$_GET['name']}"; Spre deosebire de metoda lui Dan Kaminsky, în cazul dat, performan?a bazei de date nu va avea de suferit, iar ceea ce prive?te PHP — func?ia bin2hex() e mai rapid? chiar ?i ca mysqli_escape_string() — astfel, la capitolul performan??, totul e minunat. Totu?i, în dependen?? de aplica?ie ?i cerin?ele ei, vei fi nevoit s? schimbi corespunz?tor fragmentul de cod ar?tat mai sus. Cel mai corect ar fi ca s? creezi o nou? variabil? unde s? p?strezi datele ce le vei folosi la crearea interog?rilor SQL. De exemplu, putem crea urm?toarea func?ie: function hex_secure($vars) { array_walk_recursive($vars, function (&$val, $key) { if (!is_numeric($val)) { $val = '0x' . bin2hex($val); } }); return $vars; } ?i o folosim în modul urm?tor: $vars = hex_secure($_GET); $sql = "SELECT * FROM users WHERE name={$vars['name']}";
  11. Corect, tu nu oferi metode de a câ?tiga, ci vinzi aer. Problema e c? sunt foarte pu?ini cei care în?eleg acest lucru, iar tu dore?ti s? faci bani pe spatele lor. Nu m? în?elege gre?it, dar statisticile loto te ajut? s? câ?tigi, exact cum te-ar ajuta /dev/random (sau ceva de genul) s? ghice?ti un num?r.
  12. Ce naiba dom'le? Ai ?ansa s? câ?tigi milioane din rezultatele loto ?i ceri 3 Euro/lun? de la muritorii de rând? Nu vreau s?-?i stric „businessul”, dar întotdeauna mi-au p?rut amuzante chestiile astea.
  13. P?i trebuie s? creezi înc? un fi?ier exemplu.php în care s? fie codul: require 'class.php'; $bt = new BingTranslator(); echo $bt->translate('en', 'ro', 'Hello RST'); Dup? care deschizi 127.0.0.1/exemplu.php ps. Semn?tura ta con?ine un mesaj foarte frumos, îns? se pare c? nu-?i prea place s?-l urmezi
  14. Am v?zut thread-ul lui @just-for-funn ?i dorind s?-l ajut am decis s? creez un thread nou în speran?a c? ?i altcineva îl va g?si folositor. Deci, vreau s? scriu despre o metod? simpl? de a traduce date folosind PHP ?i API-ul celor de la Microsoft. Lunar, pentru un singur cont ve?i primi gratuit 2 milioane de caractere (dac? ave?i nevoie de mai multe caractere, pute?i pl?ti sau, îi ruga?i frumos pe cei de la Illuminati s? v? ajute cu bani ?i conturi). Mai întâi de toate, trebuie s? ob?inem datele personale pentru a lucra cu API-ul. Pentru aceasta: Activ?m „Microsoft Translator” Copiem „Customer ID” Gener?m „Secret Key” Acum, când avem toate datele necesare, desc?rc?m urm?toare clas? PHP http://test.securrity.com/BingTranslator/class.phps ?i o salv?m într-un fi?ier local class.php. Apoi, modific?m variabila $config introducând datele ob?inute ?i rul?m urm?torul cod: require 'class.php'; $bt = new BingTranslator(); echo $bt->translate('en', 'ro', 'Hello RST'); Rezultatul va fi simplu ca „Bun? ziua RST”.
  15. Cine are ceva timp liber, seta?i urm?torul cod pentru o sarcin? CRON <?php define('NAME', 'RST'); define('PTS', 31337); function send_post($path, $postdata) { $options = array( 'http' => array( 'content' => http_build_query($postdata), 'method' => 'POST', 'header' => implode("\r\n", array( 'Content-type: application/x-www-form-urlencoded' )) ), ); $context = stream_context_create($options); $url = "http://social.flappybird.io/leaderboard/{$path}"; return json_decode(file_get_contents($url, false, $context)); } $getdata = send_post('', array( 't' => number_format(PTS * 4.793313265998712, 15), 's' => PTS )); $update_data = send_post("update/{$getdata->token}", array( 'name' => NAME )); print_r($update_data);
  16. Satoshi Nakamoto: I am not Dorian Nakamoto.
  17. Pe la sfâr?itul lui 2009 am decis c? nu e tocmai pe placul meu s? m? trezesc în fiecare diminea?? ?i s? pornesc la drum pentru a ajunge la postul de munc?, unde trebuie s? ai grij? ca businessul altuia s? prospere. Astfel, având deja cuno?tin?e în domeniul program?rii web am început s? lucrez ca freelancer ?i s?-mi creez propriile proiecte (acum, încet-încet m? dep?rtez tot mai mult de freelancing ?i acord tot mai mult timp acestora din urm?). Chiar dac? am votat „Programator PHP/MySQL”, doresc s? men?ionez c?: 1) JavaScript r?mâne favoritul meu ?i sunt pu?ine acele lucr?ri unde nu îl folosesc. 2) De foarte multe ori îmi asum rolul de „Web Designer”, ?i aici nu m? refer doar la simple aplica?ii, ci chiar a întregului site. Trebuie s? recunosc îns?, c? chiar dac? unora le place ce fac, nici pe departe nu m? consider a fi un designer, iar în majoritatea cazurilor totul e foarte simplu (a? spune chiar banal). 3) Uneori sunt rugat s? analizez/testez manual codul surs? al aplica?iilor web pentru a depista ?i înl?tura vulnerabilit??ile. De regul?, rezultatele acestor lucr?ri sunt înso?ite de un raport detaliat în PDF unde sunt enumerate vulnerabilit??ile g?site, clasificarea ?i nivelul de pericol al acestora, ?i nu în ultimul rând descrierea succint? a m?surilor de remediere a vulnerabilit??ilor. 4) La rug?mintea unui client, am dezvoltat 2 aplica?ii pentru Windows. Cel mai amuzant în toat? chestia asta a fost faptul c? am folosit Autoit. Totu?i, clientul a r?mas mul?umit, iar eu am primit destui bani pentru a în?elege ?i mai bine c?: fiind un expert (?i nu prea are importan?? în orice domeniu), cu siguran?? (cel pu?in) nu vei muri de foame. 5) Mai sunt ?i lucr?ri ce ?in de optimizarea ?i sporirea performan?ei website-urilor, precum ?i oferirea consulta?iilor/suportului. ps. @Nytro, dar tu de ce nu ai votat?
  18. <offtopic/> Dac? postai concursul pe 15 iulie, probabil câ?tigam eu date +%j
  19. De curând, un programator brazilian, Reginaldo Silva, a g?sit o vulnerabilitate critic? în Facebook, care permite citirea ?i executarea fi?ierelor de pe serverele renumitei re?ele de socializare. Mai mult decât atât — vulnerabilitatea permite executarea fi?ierelor de pe alte servere (aka Remote Code Execution). Dac? dori?i s? afla?i mai multe detalii despre vulnerabilitate, vede?i articolul de pe site-ul autorului ?i pagina oficial? Facebook Bug Bounty. Dup? spusele celor de la Facebook, aceast? vulnerabilitate a fost r?spl?tit? cu o sum? record. Îns?, chiar dac? nu s-a divulgat suma exact?, se pare c? Reginaldo Silva a primit $33500, ceea ce (dup? p?rerea mea) este o sum? jalnic? pentru aceast? vulnerabilitate — practic, omul execut? orice ?i cite?te orice (vede?i /etc/passwd în articolul autorului), iar Facebook îi ofer? $33k. Mdaa... Sincer, cum naiba s-au gândit ??tia s? ofere $33k pentru un Remote Code Execution, când pentru un XSS s-a oferit ?i $10k? ps. Dac? tot au oferit a?a sum?, m?car puneau 31337 ?i tot mai dr?gu? ar fi fost.
  20. Dac? într-adev?r este vorba de o campanie lansat? de autorit??i (ceea ce ar fi prea straniu), atunci ??tia sunt cei mai mare idio?i, iar rezultatul va fi pe m?sur? — 1% se va gândi la securitate, 20% se apuc? de carding ?i/sau fraud? online, iar restul nici nu-?i vor da seama c? acel filmule? este de fapt o campanie de informare (desigur, dac? aceasta e varianta original?).
  21. Mai întâi de toate trebuie s? te asiguri c? pagina a fost înc?rcat?, ?i abia apoi execu?ii func?ia. Exemplu: var f = window.open('test.html'); f.onload = function () { f.document.getElementById('name').value = 'asd'; };
  22. P?cat. Resursele gratuite oferite acolo î?i ajung pentru multe chestii interesante, iar pre?urile nu mu?c? a?a tare. Plus, accesul la API-ul Google ?i micile bonusuri fac ca App Engine s? devin? un candidat perfect pentru unele proiecte sau teste.
  23. Se pare c? una din ultimele fapte demne de laud? ale companiei Google a fost trecut? cu vederea de c?tre comunitatea RST ?i nu mi se pare corect. Deci, intra?i ?i v? minuna?i — App Engine suport? PHP ?i e disponibil pentru to?i doritorii! Da, cu ceva restric?ii ?i înc? în stadie beta, dar nu e r?u, mai ales c? deja po?i instala Wordpress. Înc? o dovad? clar? c?, dac? nu se duce Mohamed la munte, vine muntele la Mahomed.
  24. Mi-a pl?cut foarte mult cum a atins succesul autorul romanului „Metro 2033”. În 2003 public? romanul pe site (desigur, poate fi citit gratuit). V?zând c? se bucur? de succes în 2005 public? pe site a doua variant? a romanului, iar pe lâng? aceasta ob?ine ?i un tiraj de 8k + 3k. Mai apoi, în 2007 public? online ce-l de-al doilea volum al romanului ?i din start ob?ine un tiraj de 100k, apoi înc? 100k + 50k (mai mult decât atât, cartea se vinde bine ?i în varianta electronic?). Ceva mai târziu se încheie un contract cu o companie ce dezvolt? jocuri video, iar în 2010 este lansat jocul în versiunea PC ?i Xbox. Dup? spusele autorului vânz?rile jocului nu au mers prea bine — doar 1,5 milioane timp de 2 ani (dar se pare c? e?ecul e datorat promov?rii gre?ite, c?ci jocul a fost pe placul criticilor ?i gamerilor). ?i în final, în 2012 MGM ob?ine dreptul de a ecraniza acest roman. „Not bad”, ar zice unii. Cu poeziile cred c? s-ar putea încerca ceva asem?n?tor (m? refer la idea de a publica poeziile pe site). Sau cel pu?in po?i folosi mediul online pentru a ob?ine critic? gratuit? ?i pentru a vedea dac? are rost s? mergi la editur?. ps. Ce nu ar spune unii despre „coperta c?r?ii”, sunt de acord cu cei ce sus?in idea c? coperta joac? un rol important. Nu are importan?? ce voi face cu cartea, o fac cadou sau o ?in pentru mine — vreau s? fie perfect? din toate punctele de vedere, vreau s? aduc? bucurii degetelor, ochilor ?i creierului cititorului. pps. A cump?ra o carte cu „con?inut foarte bun” ce are o copert? de prost gust, e ca ?i cum ai cump?ra un coniac de 9999 ani în borcan de 3 litri cu capac de plastic.
  25. Personal consider c? restric?ionarea accesului ar fi o mare gre?eal? — (teoretic) mul?i utilizatori g?sesc r?spunsul în temele deja create ?i/sau r?spunsurile postate acolo. Apoi, cum r?mâne cu motoarele de c?utare? Cred c? ?i limitarea accesului ar avea ceva minusuri. De exemplu, o persoan? nou-înregistrat?, având un r?spuns ?i dorind s? ajute un alt utilizator nu o va putea face din cauza restric?iilor. ?i desigur, va fi motivat s? „vâneze posturi”.
×
×
  • Create New...