A service running in a directory /foo/bar/ stores in /foo/bar/accounts information about users in the following way: 1) A user logs in with a username and a password 2) The service concat username and password and hash them using the function [python] below, SUPPOSED TO BE a strong mapping from printable to printable characters, into the "filename" variable def weak_hash(s): from string import * s=upper(s) p=printable s=[p.find(y) for y in s if not y in whitespace] m=min(s) b=max(s)-m+1 n=0 for i in s : n*=b n+=(i-m) b=min(2*b, len(p)) s1="" while n : s1=p[n%b]+s1 n/=b return s1 3) The service overwrites (create if does not exist) the content of [python] '/foo/bar/accounts/%s'%(filename) with information provided by the user. You know that the service keeps the administrator password in /foo/bar/admin-pwd.txt world writable... ...can you change it? (please note that the admin password is in the parent directory!) Task: Submit valid username and password that would cause the service to overwrite the admin password file. Both username and password should contain only printable character, that is: [python] def test_printable(username,password): from string import printable from operator import and_ reduce(and_, [x in printable for x in username+password] ,True)