Jump to content

B7ackAnge7z

Active Members
  • Content Count

    388
  • Joined

  • Last visited

  • Days Won

    16

B7ackAnge7z last won the day on March 10 2014

B7ackAnge7z had the most liked content!

Community Reputation

384 Excellent

About B7ackAnge7z

  • Rank
    Registered user
  • Birthday 12/10/1986

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  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. Se poate folosi ?i: https://na.edit.yahoo.com/reg_json?GivenName=&FamilyName=&AccountID=test@yahoo.com&PartnerName=yahoo_default&ApiName=ValidateFields&RequestVersion=1&intl=us (plus, ob?ii ?i o list? de conturi libere).
  14. 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
  15. 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”.
×
×
  • Create New...