added a hashing problem
This commit is contained in:
parent
7527942c64
commit
bf1e5bc771
6 changed files with 1202 additions and 0 deletions
1
hash-on-hash/description.md
Normal file
1
hash-on-hash/description.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
There's a lot of hex strings here. Maybe they're hiding a message? [hexstrings](${hexstrings_txt})
|
22
hash-on-hash/gen.py
Normal file
22
hash-on-hash/gen.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
import hashlib
|
||||||
|
f = open('input.txt', 'r')
|
||||||
|
dat = f.read()
|
||||||
|
f.close()
|
||||||
|
out = open('hashed.txt', 'w')
|
||||||
|
letters = set(list(dat))
|
||||||
|
hashDict = {}
|
||||||
|
backDict = {}
|
||||||
|
for c in letters :
|
||||||
|
hashDict[c] = hashlib.md5(str(c)).hexdigest()
|
||||||
|
backDict[hashDict[c]] = c
|
||||||
|
res = ''
|
||||||
|
for c in dat :
|
||||||
|
res += hashDict[c] + '\n'
|
||||||
|
out.write(res)
|
||||||
|
out.close()
|
||||||
|
checkWork = ''
|
||||||
|
for tmp in res.split('\n') :
|
||||||
|
if tmp == '' :
|
||||||
|
continue
|
||||||
|
checkWork += backDict[tmp]
|
||||||
|
print checkWork
|
4
hash-on-hash/grader.py
Normal file
4
hash-on-hash/grader.py
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
def grade(autogen, key):
|
||||||
|
if key.find("1_h0p3_y0u_d1dn7_d0_7h47_by_h4nd") != -1:
|
||||||
|
return True, "Correct!"
|
||||||
|
return False, "Nope!"
|
1160
hash-on-hash/hexstrings.txt
Normal file
1160
hash-on-hash/hexstrings.txt
Normal file
File diff suppressed because it is too large
Load diff
6
hash-on-hash/input.txt
Normal file
6
hash-on-hash/input.txt
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Im far too lazy to put anything meaningful here. Instead, here's some information about what you just solved.
|
||||||
|
The MD5 algorithm is a widely used hash function producing a 128-bit hash value. Although MD5 was initially designed to be used as a cryptographic hash function, it has been found to suffer from extensive vulnerabilities. It can still be used as a checksum to verify data integrity, but only against unintentional corruption.
|
||||||
|
Like most hash functions, MD5 is neither encryption nor encoding. It can be cracked by brute-force attack and suffers from extensive vulnerabilities as detailed in the security section below.
|
||||||
|
MD5 was designed by Ronald Rivest in 1991 to replace an earlier hash function MD4.[3] The source code in RFC 1321 contains a "by attribution" RSA license. The abbreviation "MD" stands for "Message Digest."
|
||||||
|
The security of the MD5 has been severely compromised, with its weaknesses having been exploited in the field, most infamously by the Flame malware in 2012. The CMU Software Engineering Institute considers MD5 essentially "cryptographically broken and unsuitable for further use".[4]
|
||||||
|
easyctf{1_h0p3_y0u_d1dn7_d0_7h47_by_h4nd}
|
9
hash-on-hash/problem.yml
Normal file
9
hash-on-hash/problem.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
author: GenericNickname
|
||||||
|
title: Hash On Hash
|
||||||
|
hint: Thankfully
|
||||||
|
category: Cryptography
|
||||||
|
autogen: false
|
||||||
|
programming: false
|
||||||
|
value: 100
|
||||||
|
files:
|
||||||
|
- hexstrings.txt
|
Loading…
Reference in a new issue