Code :
# --------------------------------------------------------------------------------------------------------------------------------------
#coding=utf-8
#
# Desc : Petit script (faisant partie d\'un de mes projets actuels)
# effectuant un test un peu (beaucoup) bourrin afin de verifier
# la présence ou non d\'une faille de Stack Overflow
# dans l\'argument principal dans un executable quelconque.
import os
import commands
import sys
# --------------------------------------------------Class (color)
class bcolors:
HEADER = '\033[36m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[31m'
ENDC = '\033[0m'
# -------------------------------------------------FONCTIONS
def header():
os.system('clear')
print bcolors.HEADER + """
- E.X.P.S.T.A.C.K -
[*] Author : fr0g
[*] WebSite : http://hwc-crew.com
[*] Th'x : Storn
"""+ bcolors.ENDC
def exp(cible):
compteur = 1
cmd = str("./"+str(cible)+" `python -c \"print "+str(compteur)+"*'\x90'\"`")
rep = commands.getoutput(cmd)
while (rep != "Segmentation fault"):
header()
compteur += 1
print bcolors.OKBLUE + "[*] App : " + str(cible) +bcolors.ENDC
print bcolors.OKGREEN + "\n[*] Inject : " + str(compteur) + " Bytes" + bcolors.ENDC
cmd = str("./"+str(cible)+" `python -c \"print "+str(compteur)+"*'\x90'\"`")
rep = commands.getoutput(cmd)
print bcolors.WARNING + "\n[!] Stack Overflow at : " + str(compteur) + " Bytes in the buffer \n\n"+bcolors.ENDC
#--------------------------------------------------------Start here
if (len(sys.argv) < 2):
print bcolors.WARNING + "\n[*] Where is your f*ckin binary ? \n[*] Use : ./findstackof [app] \n" + bcolors.ENDC
else:
header()
if (os.path.isfile(sys.argv[1])):
try:
exp(sys.argv[1])
except:
print bcolors.WARNING + "\n Error" + bcolors.ENDC
else:
print bcolors.WARNING + "\n Error : Unknown file ..." + bcolors.ENDC
#----------------------------------------------------------------------------------------------------------------------------------------
Doit être remplacé par :
Code :
# --------------------------------------------------------------------------------------------------------------------------------------
#coding=utf-8
#
# Desc : Petit script (faisant partie d\'un de mes projets actuels)
# effectuant un test un peu (beaucoup) bourrin afin de verifier
# la présence ou non d\'une faille de Stack Overflow
# dans l\'argument principal dans un executable quelconque.
import os
import commands
import sys
# --------------------------------------------------Class (color)
class bcolors:
HEADER = '\033[36m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[31m'
ENDC = '\033[0m'
# -------------------------------------------------FONCTIONS
def header():
os.system('clear')
print bcolors.HEADER + """
- E.X.P.S.T.A.C.K -
[*] Author : fr0g
[*] WebSite : http://hwc-crew.com
[*] Th'x : Storn
"""+ bcolors.ENDC
def exp(cible):
compteur = 1
cmd = str("./"+str(cible)+" `python -c \"print "+str(compteur)+"*'\x90'\"`")
rep = commands.getoutput(cmd)
while (rep != "Segmentation fault"):
header()
compteur += 1
print bcolors.OKBLUE + "[*] App : " + str(cible) +bcolors.ENDC
print bcolors.OKGREEN + "\n[*] Inject : " + str(compteur) + " Bytes" + bcolors.ENDC
cmd = str("./"+str(cible)+" `python -c \"print "+str(compteur)+"*'\x90'\"`")
rep = commands.getoutput(cmd)
print bcolors.WARNING + "\n[!] Stack Overflow at : " + str(compteur) + " Bytes in the buffer \n\n"+bcolors.ENDC
#--------------------------------------------------------Start here
if (len(sys.argv) < 2):
print bcolors.WARNING + "\n[*] Where is your f*ckin binary ? \n[*] Use : ./findstackof [app] \n" + bcolors.ENDC
else:
header()
if (os.path.isfile(sys.argv[1])):
try:
exp(sys.argv[1])
except:
print bcolors.WARNING + "\n Error" + bcolors.ENDC
else:
print bcolors.WARNING + "\n Error : Unknown file ..." + bcolors.ENDC
#----------------------------------------------------------------------------------------------------------------------------------------
La seule différence est sur la structure bcolors ou tu na pas indenté correctement les éléments ^^
Cordialement Satyr.