Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/24/12 in all areas

  1. //Late night tutorial wannabe Din neincredere fata de managerele de parole (password managers) existente pe net, m-ai facut eu unul personal in C#. Una dintre problemele aparute imediat a fost cum sa-mi stochez datele in baza de date astfel incat sa fie in siguranta chiar daca baza de date ajunge pe maini curioase. Cu putin google si ceva wiki, am reusit sa-mi creez o clasa ce cripteaza si decripteaza un string intr-un mod suficient de sigur, cred eu. Full code: using System; using System.Text; using System.Security.Cryptography; using System.Windows.Forms; namespace KeyMemo { class locker { public locker() { } public string Cripteaza(string mesaj, string cheie) { string str = ""; UTF8Encoding UTF8 = new UTF8Encoding(); //creez un convertor in md5 si un encoder TDSA MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); TripleDESCryptoServiceProvider TDSA = new TripleDESCryptoServiceProvider(); try { // cheie => md5 hash byte[] cheieMD5 = md5.ComputeHash(UTF8.GetBytes(cheie)); //setari pentru encoderul TDSA TDSA.Key = cheieMD5; TDSA.Mode = CipherMode.ECB; TDSA.Padding = PaddingMode.PKCS7; //criptam mesajul ICryptoTransform crypt = TDSA.CreateEncryptor(); str = Convert.ToBase64String(crypt.TransformFinalBlock(UTF8.GetBytes(mesaj), 0, UTF8.GetBytes(mesaj).Length)); } catch (Exception exc) { MessageBox.Show("A aparut o eroare: \n\n" + exc.ToString(), "Eroare!", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { md5.Clear(); TDSA.Clear(); } return str; } public string Decripteaza(string cod, string cheie) { string str = ""; UTF8Encoding UTF8 = new UTF8Encoding(); //creez un convertor in md5 si un encoder TDSA MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); TripleDESCryptoServiceProvider TDSA = new TripleDESCryptoServiceProvider(); try { // cheie => md5 hash byte[] cheieMD5 = md5.ComputeHash(UTF8.GetBytes(cheie)); //setari pentru encoderul TDSA TDSA.Key = cheieMD5; TDSA.Mode = CipherMode.ECB; TDSA.Padding = PaddingMode.PKCS7; //criptam mesajul ICryptoTransform crypt = TDSA.CreateDecryptor(); str = UTF8.GetString(crypt.TransformFinalBlock(Convert.FromBase64String(cod),0,Convert.FromBase64String(cod).Length)); } catch (Exception exc) { MessageBox.Show("A aparut o eroare: \n\n" + exc.ToString(), "Eroare!", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { md5.Clear(); TDSA.Clear(); } return str; } } } Cum functioneaza? Cam asa: Folosim algoritmul 3DES cu o cheie de 128 biti pentru criptare. Mai exact, trimit ca parametri stringul pe care vreau sa-l criptez si cheia (in plain text). Cheia o transform intr-un hash md5 ca sa ma asigur ca am o cheie de 128 biti // cheie => md5 hash byte[] cheieMD5 = md5.ComputeHash(UTF8.GetBytes(cheie)); Apoi aplic algoritmul (care este built-in in C#) pentru stringul meu si cheia in md5: TripleDESCryptoServiceProvider TDSA = new TripleDESCryptoServiceProvider(); //setari pentru encoderul TDSA TDSA.Key = cheieMD5; TDSA.Mode = CipherMode.ECB; TDSA.Padding = PaddingMode.PKCS7; //criptam mesajul ICryptoTransform crypt = TDSA.CreateEncryptor(); str = crypt.TransformFinalBlock(UTF8.GetBytes(mesaj), 0, UTF8.GetBytes(mesaj).Length); In final, trec stringul obtinut prin Base64 ca sa-l aduc la o forma adecvata pentru stocarea in baza de date: str = Convert.ToBase64String(crypt.TransformFinalBlock(UTF8.GetBytes(mesaj), 0, UTF8.GetBytes(mesaj).Length)); Criptarea obtinuta are formula Base64(3DSA(textInitial,MD5(Cheie))). Pare a fi suficient de complicat si de ambiguu pentru a putea dormi linistit, dar mi-am mai luat o masura de precautie in program: cheia folosita pentru criptare este parola de logare in program. Parola este retinuta in baza de date ca fiind Base64( 3DSA (Parola,MD5(Parola)), deci nu poate fi decriptata, astfel logarea in program se va face pe baza compararii stringului din baza de date cu criptarea parolei introduse de utilizator. Daca cele doua se potrivesc, atunci retinem parola in program. Restul datelor criptate au cheia parola de mai sus (care se presupune a fi stiuta doar de cel care se autentifica in program), deci criptarea este sigura. Decriptarea decurge asemanator: - parametri: string in Base64, parola in plain text; - parola => MD5(parola) - se decodeaza stringul din base64 - se decripteaza textul folosind stringul de la pasul anterior si cheia din md5. Asadar, parolele din baza de date pot fi decriptate doar dupa ce utilizatorul a introdus de la tastatura parola. Pare a fi o metoda de criptare buna, zic eu. Ce parere aveti? Daca vreti si voi managerul de parole, dati un PM. In versiunea actuala are ceva din tema de culori RST (negru cu verde), suport pentru mai mai multe persoane (utilizatori diferiti), Adaugari de conturi, sortari, cautari dupa cateva criterii, editari de conturi, validari pe campuri in timp real, tab index corect, tasta Enter face cam ce ar trebui sa faca... Nu l-am testat decat pe win7 x86, rezolutie 1680x1050, deci ar putea aparea probleme de incompatibilitate (desi i-am facut si installer). Printuri: Omuletul KeyMemo Like sau rep daca v-a fost util ceva de pe aici, sau injurati daca v-am irosit timpul degeaba Noapte buna!
    1 point
  2. Am creat o extensie de Google Chrome care cauta automat linkul de la imaginile de pe imageshack.us si il afiseaza. Download: http://dragosgaftoneanu.com/isr/linkfinder.crx Cum se foloseste: Dupa ce incarcati poza pe imageshack.us si va apare popup-ul cu inregistrarea obligatorie, apasati pe si va va aparea o fereastra ca aceasta. Copiati linkul imaginii si mai departe stiti si voi..
    1 point
  3. Nmap Iptables Shell Script #!/bin/bash # To run this file, first give the permission +x and execute this program # --# chmod +x blocknmap.sh # --# ./blocknmap.sh echo "1-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=1" echo "3 3" echo "3 ________ .__ ________ 3" echo "7 \______ \ |__| ______/ __ \ ____ ____ _____ 7" echo "1 | | \ | | / ___/\____ / _/ ___\ / _ \ / \ 1" echo "3 | \| | \___ \ / / \ \___ ( <_> )| Y Y \ 3" echo "3 /_______ /|__|/____ > /____/ /\ \___ > \____/ |__|_| / 3" echo "7 \/ \/ \/ \/ \/ 7" echo "1 1" echo "3 >> The Underground Exploitation Team 3" echo "3 3" echo "7 7" echo "1 [+] Site : http://www.Dis9.com 1" echo "3 3" echo "3 3" echo "7 ############################################### 7" echo "1 I'm Liyan Oz Leader of Underground Exploitation 1" echo "3 ############################################### 3" echo "3 3" echo "7-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-7" echo "========================================================================" echo "= Block Nmap Scanning using iptables =" echo "= C0ded by Liyan Oz =" echo "= http://0nto.wordpress.com =" echo "========================================================================" echo "" echo "" #===================== # Enable IP Forward #--------------------- echo 1 > /proc/sys/net/ipv4/ip_forward #===================== # Flush semua rules #--------------------- /sbin/iptables -F /sbin/iptables -t nat -F #===================== # Block #--------------------- /sbin/iptables -t filter -A INPUT -p TCP -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -t filter -A INPUT -p UDP -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -t filter -A INPUT -p ICMP -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -t filter -A INPUT -m state --state INVALID -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j LOG --log-prefix "FIN: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j LOG --log-prefix "PSH: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ACK,URG URG -j LOG --log-prefix "URG: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "XMAS scan: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL ALL -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "NULL scan: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL NONE -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "pscan: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "pscan 2: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j LOG --log-prefix "pscan 2: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL SYN,FIN -j LOG --log-prefix "SYNFIN-SCAN: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL SYN,FIN -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j LOG --log-prefix "NMAP-XMAS-SCAN: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL FIN -j LOG --log-prefix "FIN-SCAN: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL FIN -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL URG,PSH,SYN,FIN -j LOG --log-prefix "NMAP-ID: " /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags ALL URG,PSH,SYN,FIN -j DROP /sbin/iptables -t filter -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "SYN-RST: " Sursa
    1 point
  4. Bun la dispozitie 10Gb de loguri... aveti nevoie de loginuri de anumite site`uri caut si va ajut... MOCA Va rog postati cererile pe thread, nu`mi mai trimiteti PM PS: Caut business partner. Detalii pe ICQ: 616429443
    0 points
  5. Sugestie: Pentru ca nu este "sanatos" sa aveti aceeasi parola la toate accounturile Alegeti`va un sir de caractere pe care sa il tine`ti minte intr-un fel de exemplu G@:U8hf33 Dar daca va puneti aceasta parola la toate conturile, unui atacator ii va fi usor sa intre pe toate daca compromite unu. Asa ca o idee e sa schimbati ceva de la cont la cont. Contul de yahoo: G@:U8hf33yah Contul de pe rst: G@:U8hf33rst Contul de pe filelist: G@:U8hf33fil Si asa mai departe.. Primele 3 litere ale numelui site`ului de la care aveti cont. Asa parola se schimba, si e greu de uitat
    -1 points
  6. Ma tot chinui sa imi fac un cont de adsense dar google ma respinge de fiecare data Cine vrea sa ma ajute la faza cu continutu site-ului si daca ma accepta google.. ii dau un domeniu .com platit pe 1 an + host platit pe 3 luni (site-ul e cumparat legal). PM cine vrea sa ma ajute
    -1 points
  7. Sfaturi pentru o parola sigura: folositi parole mai lungi de opt caractere, in care sa combinati litere, cifre si caractere special. Una dintre parole este 12345, una dintre cele mai nesigure parole din lume. Am publicat o list? cu cele mai neinspirate 25 de parole, formate din cel pu?in ?ase caractere. Acestea sunt: parola password 123456 12345678 qwerty abc123 monkey 1234567 letmein trustno1 dragon baseball 111111 iloveyou master sunshine ashley bailey passw0rd shadow 123123 654321 superman qazwsx michael football Iat? ?i câteva sfaturi pentru o parol? sigur?: - Folosi?i parole cu cel pu?in opt caractere ?i folosi?i diferite tipuri de caractere (litere, cifre, caractere speciale). O cale de a crea parole lungi, sigure ?i u?or de amintit este s? folosi?i parole formate din cuvinte scurte, desp?r?ite prin spa?ii. De exemplu: “Sa beau apa la 8!” sau “Sa_fac_curat?” - Evita?i s? folosi?i aceea?i combina?ie utilizator-parol? pentru siteuri diferite. Cel mai riscant este s? folosi?i acelea?i parole pentru un site de entertainment ?i pentru unul care implic? pl??i online, de exemplu. Folosi?i parole diferite pentru fiecae site pe care v? înscrie?i! Sper sa va fie de folos.
    -1 points
  8. Pentru c? sunt prea mul?i pe forum care sufer? c? nu-au ce fute, ni?te sfaturi ar fi recomandate, poate poate v? mai "întinde?i" oleac?. E tradus, so here we go: Articol preluat de pe vice.com
    -1 points
×
×
  • Create New...