ponydb
SQL injection and truncation attack
Description
Solution
Source Code Analysis
flag = os.environ['FLAG']
config = {
'host': os.environ['DB_HOST'],
'user': os.environ['DB_USER'],
'password': os.environ['DB_PASS'],
'database': os.environ['DB'],
'sql_mode': 'NO_BACKSLASH_ESCAPES'
}
for i in range(30):
try:
conn = mysql.connector.connect(**config)
break
except mysql.connector.errors.DatabaseError:
time.sleep(1)
else: conn = mysql.connector.connect(**config)
cursor = conn.cursor()
try: cursor.execute('CREATE TABLE `ponies` (`name` varchar(64), `bio` varchar(256), '
'`image` varchar(256), `favorites` varchar(256), `session` varchar(64))')
except mysql.connector.errors.ProgrammingError: pass
cursor.close()
conn.close()GET Endpoint
POST Endpoint

The (Unintended) Fatal Flaw
The Ultimate Fatal Flaw
Exploitation


Last updated