Jump to content
yoyois

Studiu Hashing Power

Recommended Posts

Am nevoie de niste data-points in legatura cu abilitatea unui individ de a sparge un hash. Trebuie sa gasesc o cheie suficient de scurta incat sa poate fi sparta usor(in 24-48 h) dar suficient de sigura incat sa poata asigura securitatea pt cel putin 6-10h.

 

Luati treaba ca un challenge si postati, daca incercati timpul in care ati spart cheia, hardware-ul folosit(daca vreti) si eventual ce soft, metoda, heuristici. (sau ce probleme ati intampinat)

(vreau sa observ si scara in care creste timpul de crack in comparatie cu cheia)

 

MD5, 4 small letters a-z : 92cd8d45130b33c5461f6c4ebc8fa8f3

MD5, 5 small letters a-z : c80a60e335f0451349bffe77d61f0b1b

MD5, 6 small letters a-z : f70e537a7a8397d3b8e43e3026ea8824

 

MD5(MD5), 6 small letters a-z : 6cbf7131b2b73859ecb7925b64d8b9e6

 

MD5, 5 small letters a-z + last one is a number 0-9 : 85b0fc46a8eee36b530fbccfe1676891

 

 

Step up your game

MD5, 7 small letters a-z : 31ec1bc10fee2c86270b3bf547c0d416
MD5, 7 small letters a-z + 1 digit 0-9: 44673da6f35229a3850fc08b26e77b09
MD5(MD5), 7 small letters a-z + 2 digits 0-9: 562ac68d5bc31d3764e65c3aa9281241

Edited by yoyois
Link to comment
Share on other sites

Consideri cautarea pe google ca fiind o metoda de rezolvare? :))

92cd8d45130b33c5461f6c4ebc8fa8f3 MD5 : lqbs
c80a60e335f0451349bffe77d61f0b1b MD5 : grysy
f70e537a7a8397d3b8e43e3026ea8824 MD5 : sriwrb
6cbf7131b2b73859ecb7925b64d8b9e6 [Not found]
85b0fc46a8eee36b530fbccfe1676891 MD5 : pizmk5

Link to comment
Share on other sites

Am facut un mic demo cu hashcat ca sa vezi timpii de spargere pe un echipament relativ modest (o placa video AMD Radeon HD 6800 Series  mai concret  Asus EAH6870; ceea ce este modest in comparatie cu asta  https://hashcat.net/forum/thread-6225-post-33393.html#pid33393 )

Spoiler

**********************************************************************
>>>>    2017-03-21T01:02:55+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force
* Raw-Hash

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c

The wordlist or mask you are using is too small.
Therefore, hashcat is unable to utilize the full parallelization power of your device(s).
The cracking speed will drop.
Workaround: https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_to_create_more_work_for_full_speed

INFO: approaching final keyspace, workload adjusted


Session..........: hashcat
Status...........: Cracked
Hash.Type........: MD5
Hash.Target......: 92cd8d45130b33c5461f6c4ebc8fa8f3
Time.Started.....: Tue Mar 21 01:02:59 2017 (0 secs)
Time.Estimated...: Tue Mar 21 01:02:59 2017 (0 secs)
Input.Mask.......: ?1?1?1?1 [4]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....: 22534.7 kH/s (0.34ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 158184/456976 (34.62%)
Rejected.........: 0/158184 (0.00%)
Restore.Point....: 0/17576 (0.00%)
Candidates.#1....: lari -> jqgq
HWMon.Dev.#1.....: Temp: 66c Fan: 33% Util:  0% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:02:55 2017
Stopped: Tue Mar 21 01:03:00 2017
>>>>    2017-03-21T01:03:00+02
**********************************************************************
**********************************************************************
>>>>    2017-03-21T01:03:00+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force
* Raw-Hash

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c

The wordlist or mask you are using is too small.
Therefore, hashcat is unable to utilize the full parallelization power of your device(s).
The cracking speed will drop.
Workaround: https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_to_create_more_work_for_full_speed

INFO: approaching final keyspace, workload adjusted


Session..........: hashcat
Status...........: Cracked
Hash.Type........: MD5
Hash.Target......: c80a60e335f0451349bffe77d61f0b1b
Time.Started.....: Tue Mar 21 01:03:06 2017 (0 secs)
Time.Estimated...: Tue Mar 21 01:03:06 2017 (0 secs)
Input.Mask.......: ?1?1?1?1?1 [5]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:   120.5 MH/s (8.00ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 5483712/11881376 (46.15%)
Rejected.........: 0/5483712 (0.00%)
Restore.Point....: 0/456976 (0.00%)
Candidates.#1....: darin -> gqgqz
HWMon.Dev.#1.....: Temp: 68c Fan: 33% Util:  0% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:03:00 2017
Stopped: Tue Mar 21 01:03:06 2017
>>>>    2017-03-21T01:03:07+02
**********************************************************************
**********************************************************************
>>>>    2017-03-21T01:03:07+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force
* Raw-Hash

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c


Session..........: hashcat
Status...........: Cracked
Hash.Type........: MD5
Hash.Target......: f70e537a7a8397d3b8e43e3026ea8824
Time.Started.....: Tue Mar 21 01:03:11 2017 (0 secs)
Time.Estimated...: Tue Mar 21 01:03:11 2017 (0 secs)
Input.Mask.......: ?1?1?1?1?1?1 [6]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:  3060.2 MH/s (10.48ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 154140672/308915776 (49.90%)
Rejected.........: 0/154140672 (0.00%)
Restore.Point....: 0/456976 (0.00%)
Candidates.#1....: qlnder -> pweqlv
HWMon.Dev.#1.....: Temp: 69c Fan: 33% Util:  0% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:03:07 2017
Stopped: Tue Mar 21 01:03:13 2017
>>>>    2017-03-21T01:03:14+02
**********************************************************************
**********************************************************************
>>>>    2017-03-21T01:03:14+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Early-Skip
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c

INFO: approaching final keyspace, workload adjusted


Session..........: hashcat
Status...........: Cracked
Hash.Type........: md5(md5($pass))
Hash.Target......: 6cbf7131b2b73859ecb7925b64d8b9e6
Time.Started.....: Tue Mar 21 01:03:18 2017 (1 sec)
Time.Estimated...: Tue Mar 21 01:03:19 2017 (0 secs)
Input.Mask.......: ?1?1?1?1?1?1 [6]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:   629.2 MH/s (8.51ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 291393856/308915776 (94.33%)
Rejected.........: 0/291393856 (0.00%)
Restore.Point....: 372736/456976 (81.57%)
Candidates.#1....: ssnoux -> xhqfqg
HWMon.Dev.#1.....: Temp: 70c Fan: 33% Util:  0% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:03:14 2017
Stopped: Tue Mar 21 01:03:20 2017
>>>>    2017-03-21T01:03:20+02
**********************************************************************
**********************************************************************
>>>>    2017-03-21T01:03:20+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force
* Raw-Hash

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c

The wordlist or mask you are using is too small.
Therefore, hashcat is unable to utilize the full parallelization power of your device(s).
The cracking speed will drop.
Workaround: https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_to_create_more_work_for_full_speed

INFO: approaching final keyspace, workload adjusted


Session..........: hashcat
Status...........: Cracked
Hash.Type........: MD5
Hash.Target......: 85b0fc46a8eee36b530fbccfe1676891
Time.Started.....: Tue Mar 21 01:03:24 2017 (0 secs)
Time.Estimated...: Tue Mar 21 01:03:24 2017 (0 secs)
Input.Mask.......: ?1?1?1?1?1?d [6]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:  2788.8 MH/s (5.42ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 19685120/118813760 (16.57%)
Rejected.........: 0/19685120 (0.00%)
Restore.Point....: 0/175760 (0.00%)
Candidates.#1....: sande1 -> tiqfq8
HWMon.Dev.#1.....: Temp: 70c Fan: 33% Util:  0% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:03:20 2017
Stopped: Tue Mar 21 01:03:26 2017
>>>>    2017-03-21T01:03:26+02
**********************************************************************
**********************************************************************
>>>>    2017-03-21T01:03:26+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force
* Raw-Hash

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c


Session..........: hashcat
Status...........: Cracked
Hash.Type........: MD5
Hash.Target......: 31ec1bc10fee2c86270b3bf547c0d416
Time.Started.....: Tue Mar 21 01:03:30 2017 (1 sec)
Time.Estimated...: Tue Mar 21 01:03:31 2017 (0 secs)
Input.Mask.......: ?1?1?1?1?1?1?1 [7]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:  3176.5 MH/s (8.36ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 1085263872/8031810176 (13.51%)
Rejected.........: 0/1085263872 (0.00%)
Restore.Point....: 0/456976 (0.00%)
Candidates.#1....: oesanan -> jetcdxw
HWMon.Dev.#1.....: Temp: 72c Fan: 33% Util:  0% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:03:26 2017
Stopped: Tue Mar 21 01:03:33 2017
>>>>    2017-03-21T01:03:33+02
**********************************************************************
**********************************************************************
>>>>    2017-03-21T01:03:33+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force
* Raw-Hash

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c

Cracking performance lower than expected? Append -w 3 to the commandline!


Session..........: hashcat
Status...........: Cracked
Hash.Type........: MD5
Hash.Target......: 44673da6f35229a3850fc08b26e77b09
Time.Started.....: Tue Mar 21 01:03:37 2017 (9 secs)
Time.Estimated...: Tue Mar 21 01:03:46 2017 (0 secs)
Input.Mask.......: ?1?1?1?1?1?1?1?d [8]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:  2727.1 MH/s (8.39ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 25047801856/80318101760 (31.19%)
Rejected.........: 0/25047801856 (0.00%)
Restore.Point....: 1261568/4569760 (27.61%)
Candidates.#1....: xpdzzpb0 -> hjrsjgn3
HWMon.Dev.#1.....: Temp: 75c Fan: 50% Util: 91% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:03:33 2017
Stopped: Tue Mar 21 01:03:48 2017
>>>>    2017-03-21T01:03:48+02
**********************************************************************
**********************************************************************
>>>>    2017-03-21T01:03:48+02
hashcat (v3.40) starting...

* Device #2: Not a native Intel OpenCL runtime, expect massive speed loss
             You can use --force to override this but do not post error reports if you do so
OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
* Device #1: Barts, 512/1024 MB allocatable, 14MCU
* Device #2: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz, skipped

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Early-Skip
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force

Watchdog: Temperature abort trigger set to 90c
Watchdog: Temperature retain trigger set to 75c

Cracking performance lower than expected? Append -w 3 to the commandline!

INFO: approaching final keyspace, workload adjusted

Session..........: hashcat
Status...........: Exhausted
Hash.Type........: md5(md5($pass))
Hash.Target......: 562ac68d5bc31d3764e65c3aa9281241
Time.Started.....: Tue Mar 21 01:03:53 2017 (16 mins, 51 secs)
Time.Estimated...: Tue Mar 21 01:20:44 2017 (0 secs)
Input.Mask.......: ?1?1?1?1?1?1?1?d?d [9]
Input.Charset....: -1 ?l, -2 Undefined, -3 Undefined, -4 Undefined
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:   751.5 MH/s (6.19ms)
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 803181017600/803181017600 (100.00%)
Rejected.........: 0/803181017600 (0.00%)
Restore.Point....: 45697600/45697600 (100.00%)
Candidates.#1....: yqgygqk64 -> xqgqzqg93
HWMon.Dev.#1.....: Temp: 75c Fan: 83% Util: 88% Core: 915MHz Mem:1050MHz Lanes:16

Started: Tue Mar 21 01:03:48 2017
Stopped: Tue Mar 21 01:20:46 2017
>>>>    2017-03-21T01:20:46+02
**********************************************************************

 

 
 
 
 
 

 

Acesta este scriptul PowerShell folosit pentru a genera testele:

Spoiler

$hashes = @(
    [pscustomobject] @{
        hash = "92cd8d45130b33c5461f6c4ebc8fa8f3";
        chrs = "?l";
        type = 0;
        ksln = "?1" * 4;
    };
    [pscustomobject] @{
        hash = "c80a60e335f0451349bffe77d61f0b1b";
        chrs = "?l";
        type = 0;
        ksln = "?1" * 5;
    };
    [pscustomobject] @{
        hash = "f70e537a7a8397d3b8e43e3026ea8824";
        chrs = "?l";
        type = 0;
        ksln = "?1" * 6;
    };
    [pscustomobject] @{
        hash = "6cbf7131b2b73859ecb7925b64d8b9e6";
        chrs = "?l";
        type = 2600;
        ksln = "?1" * 6;
    };
    [pscustomobject] @{
        hash = "85b0fc46a8eee36b530fbccfe1676891";
        chrs = "?l";
        type = 0;
        ksln = "?1" * 5 + "?d";
    };
    [pscustomobject] @{
        hash = "31ec1bc10fee2c86270b3bf547c0d416";
        chrs = "?l";
        type = 0;
        ksln = "?1" * 7;
    };
    [pscustomobject] @{
        hash = "44673da6f35229a3850fc08b26e77b09";
        chrs = "?l";
        type = 0;
        ksln = "?1" * 7 + "?d";
    };
    [pscustomobject] @{
        hash = "562ac68d5bc31d3764e65c3aa9281241";
        chrs = "?l";
        type = 2600;
        ksln = "?1" * 7 + "?d?d";
    };
);

foreach($hashobj in $hashes) {
    Write-Output $("*" * 70);
    Get-Date -UFormat ">>>>    %Y-%m-%dT%H:%M:%S%Z" ;
    .\hashcat64.exe -o hashes-yoyois.txt --outfile-format=15 -a 3 -m $hashobj.type -1 $hashobj.chrs $hashobj.hash $hashobj.ksln
    Get-Date -UFormat ">>>>    %Y-%m-%dT%H:%M:%S%Z" ;
    Write-Output $("*" * 70);
}

 

 
 
 
 
 

Si acesta este output-ul din  hashes-yoyois.txt

Spoiler

92cd8d45130b33c5461f6c4ebc8fa8f3:lqbs:6c716273:
c80a60e335f0451349bffe77d61f0b1b:grysy:6772797379:
f70e537a7a8397d3b8e43e3026ea8824:sriwrb:737269777262:
6cbf7131b2b73859ecb7925b64d8b9e6:fhbraz:66686272617a:
85b0fc46a8eee36b530fbccfe1676891:pizmk5:70697a6d6b35:
31ec1bc10fee2c86270b3bf547c0d416:saltjzh:73616c746a7a68:
44673da6f35229a3850fc08b26e77b09:bskjzha7:62736b6a7a686137:

Formatul este hash[:salt]:plain:hex_plain:crack_pos

 
 
 
 
2

Ultimul hash nu a fost spart probabil pentru ca nu e keyspace-ul sau hash-type-ul corect.

Edited by u0m3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...