Acabo de encontrar este poco de rubí que se puede usar para descifrar las fotos de Snapchat tomadas de la memoria caché en un teléfono, aparentemente adaptadas de aquí . Para mi sorpresa, funcionó sin problemas, teniendo en cuenta los problemas relacionados con la seguridad de Snapchat, que han sido bien publicitados últimamente (en su mayoría, todo el número de teléfono / nombre de usuario se filtra).
require 'openssl'
ARGV.each do|a, index|
data = File.open(a, 'r:ASCII-8BIT').read
c = OpenSSL::Cipher.new('AES-128-ECB')
c.decrypt
c.key = 'M02cnQ51Ji97vwT4'
o = ''.force_encoding('ASCII-8BIT')
data.bytes.each_slice(16) { |s| o += c.update(s.map(&:chr).join) }
o += c.final
File.open('decyphered_' + a , 'w') { |f| f.write(o) }
end
Entonces, mi pregunta es, ¿qué están haciendo mal aquí exactamente y qué podrían estar haciendo mejor para mejorar la seguridad de su aplicación en este sentido en lugar de lo que están haciendo ahora, considerando que la gente suele enviar ¿Cosas íntimas que nunca debieron compartirse por más de 10 segundos solo para una persona, y también considerando la popularidad de esta aplicación?
tldr / para todos aquellos a quienes realmente no les importa saber cómo funcionan las computadoras pero que aún quieren saber qué está pasando: Básicamente, digamos que tienes 40 millones de personas que usan Snapchat, con 16.5 millones de usuarios que se envían fotos entre sí, y cada imagen en su propia versión pequeña. Cerrado seguro todos los días. Ahora, ¿qué pasaría si le diera a esas 16.5 millones de personas la misma llave de plástico para abrir todas y cada una de estas cajas de seguridad para capturar los medios de Snapchat?