【每日一题20160604】题目:
从前有一个熊孩子入侵了一个网站的数据库,找到了管理员密码,手一抖在数据库中修改了一下,现在的密码变成了 cca9cc444e64c8116a30la00559c042b4,那个熊孩子其实就是我!肿么办求解!在线等,挺急的。。
PS:答案格式wctf{管理员原密码}
【每日一题20160604】答案:wctf{idf},你答对了么?
【每日一题20160604】分析:
很多数据库在存放密码时不存放密码原文,而是存放密码的哈希值。哈希算法有很多,常用的有MD5/SHA-1等,哈希运算后,不管多长的源数据都被压缩为固定长度。例如:MD5 128位二进制、SHA-1 160位、HMAC-MD5 128位、HMAC-SHA1 160位。本题出现的密码应该是由MD5处理的因为目前长度为33个十六进制(Hex),题中说了手一抖,应该是加入了一个字符,故而原长度为32*4=128位二进制。
那么分析上面的33位:cca9cc444e64c8116a30la00559c042b4,里面有一个不是16进制,是哪个呢?16进制是0-9,a-f,不在这16个字符中的就不是,所以原密码的MD5值为cca9cc444e64c8116a30a00559c042b4。
之后还需要对这个值进行解码,在线解码可以用http://www.cmd5.com/。输入cca9cc444e64c8116a30a00559c042b4,解码得到idf,那么按格式给答案:wctf{idf}