elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 27
31  Seguridad Informática / Hacking / Re: Duda sobre jueho en: 4 Febrero 2022, 05:32 am
Es inlegal, además, usar hacks siempre mata la experiencia de todo juego.

(Tampoco esperes que te ayuden porque no lo van a hacer)
32  Programación / Scripting / Re: Dado string, retornar true si hay uno o más pares de paréntesis [PYTHON] en: 31 Enero 2022, 21:34 pm
¿Y la suma que tiene que ver? Tampoco entiendo el return char que haces ahí...

Tu función tenía que haber retornado true o false. Eso es lo que dice la pregunta del ejercicio. Espero que no hayas copiado y pegado código, los entrevistadores se dan cuenta de eso...

Esto se ve muy claro que es una respuesta a un reto que alguien ha puesto en internet...

https://adventofcode.com/2021/day/10


¿¿Como estás?? ¿?/¿Todo bien??


Si lo se, eso era un solución de algo externo que se usó como referencia (ellos mismos, la pusieron (los entrevistadores)), no puse mi código porque no lo encontré (Mejor dicho, la pc que me prestaron para la entrevista en el momento hizo que no me pudiese llevar el código a casa)... Fue un error muy grande no citar el código de referencia!! Mil disculpas y ya lo agregó.

33  Programación / Scripting / Re: Dado string, retornar true si hay uno o más pares de paréntesis [PYTHON] en: 31 Enero 2022, 00:39 am
Pues deberias exponer como lo hiciste......así te podran dar mejor info.

Me olvidé de ponerlo, ahí lo dejo.


Gracias !!
34  Programación / Scripting / Dado string, retornar true si hay uno o más pares de paréntesis [PYTHON] en: 30 Enero 2022, 22:59 pm
Hola a todos, en una entrevista como Python dev (junior) me preguntaron lo siguiente:

Dado un string Sequence, Retornar true si hay uno o más pares de paréntesis válidos, o si Sequence es un string vacío
Ejemplos de inputs válidos:
[]
()
[]{}[[]]{()}{Hello()}

No válidos
(]
{(})
{}(()[)]

Lo logré hacer, pero la forma en la que yo lo hice para los entrevistadores no fue válido, por eso vengo a preguntar, como lo harían ustedes?



Esta fue la forma en la que lo hice.
Código:
 
       
#!/usr/bin/env python3
import fileinput
from pprint import pprint


def find_corrupted(line):
    mapping = {
        "]": "[",
        "}": "{",
        ")": "(",
        ">": "<",
    }

    stack = []
    for char in line:
        if char in mapping.values():
            stack.append(char)
        elif mapping[char] == stack[-1]:
            stack.pop()
        else:
            return char


def parse_input(input_stream):
    for line in input_stream:
        yield find_corrupted(line.strip())


def solve(input_stream):
    scores = {
        None: 0,
        ")": 3,
        "]": 57,
        "}": 1197,
        ">": 25137,
    }

    return sum(scores[char] for char in parse_input(input_stream))


if __name__ == "__main__":
    answer = solve(fileinput.input())
    print(answer)

Gracias!!!
35  Seguridad Informática / Hacking / [Aporte] Script para fase de reconocimiento de un dispositivo en: 27 Enero 2022, 01:08 am
Hola, hice un pequeño script para el reconocimiento y lo queria compartir :)

Código:
import os
import subprocess
import re

import nmap
import requests

import sys

from colorama import Fore


clear = lambda:(os.system("clear"))

def ban() -> None:
print("   ")
print("█░░░█ █▀▀█ █▀▀█ █▀▀ █▀▀ ")
print("█▄█▄█ █▄▀█ █▄▄▀ ▀▀█ ▀▀█ ")
print("░▀░▀░ █▄▄█ ▀░▀▀ ▀▀▀ ▀▀▀ ")
print("")


def get_ttl(host) -> str:
    command = ["ping","-c","1",host]
    p = subprocess.Popen(command, stdout=subprocess.PIPE)
    res = p.communicate()[0]
    res = str(res) 

    res = res.split()
    ttl = res[11]
    ttl = ttl.split("=")
    ttl = ttl[-1]

    if int(ttl) >= 64 or int(ttl) <= 64:
        print(f"{Fore.WHITE} TTL approximate to 64 > Device" ,f"{Fore.GREEN} OS ",f" {Fore.WHITE}Linux/Unix")

    elif int(ttl) >= 128 or int(ttl) <= 128:
        print(f"{Fore.WHITE} TTL approximate to 128 >" ,f"{Fore.GREEN} OS ",f" {Fore.WHITE} Windows")

    elif int(ttl) >= 254 or int(ttl) <= 254:
        print(f"{Fore.WHITE} TTL approximate to 254 >" ,f"{Fore.GREEN} OS ",f" {Fore.WHITE} Solaris/AIX")
   


def port_scanner(ip) -> None:
path = ""
print("Do you want to save port information in a file?")
decision = input("s/n: ").upper()
if decision == "S":
print("Ej: file_name.txt")
path = input("enter path file > ")
og = "-oG"
else:
og = ""

clear()

ban()

print("Waiting...","\n")

nm = nmap.PortScanner()

open_ports="-p "
results = nm.scan(hosts=ip,arguments=f"-p- -sT -n -Pn {og} {path}")
count = 0

for proto in nm[ip].all_protocols():
print()
lport = nm[ip][proto].keys()
sorted(lport)

for port in lport:
if nm[ip][proto][port]["state"] == "open":
state = f"{Fore.GREEN} Open"

else:
state = f"{Fore.RED} Close"

print(Fore.WHITE, f"{proto} Port > %sState > %s" % (port,state))
if count == 0:
open_ports = open_ports + str(port)
count = 1
else:
open_ports = open_ports + "," + str(port)
Fore.WHITE

def locate_ip(ip) -> str:
    response = requests.post("http://ip-api.com/batch", json=[
    {"query": ip}
    ]).json()

    try:
        for ip_info in response:
            country = ip_info['country']
    except KeyError:
        pass
    try:
        return country
   
    except UnboundLocalError:
        country = f"{Fore.RED} ERROR"




if __name__ == "__main__":
clear()
ban()

try:
host = sys.argv
host = str(host[1])
except IndexError:
print("You need to enter an ip, example: User > python3 w0rss.py '192.255.255'")

port_scanner(host)
get_ttl(host)


country = locate_ip(host)
if country == None:
country = f"{Fore.RED} not found".upper()
print()
print(f"Country of the device > {country}")

36  Seguridad Informática / Hacking / Re: Maquinas Virtuales Vulnerables en: 27 Enero 2022, 00:10 am
Hola, las mejores ya las recomendaste. Peroooooooooooooooooo

Tenemos webs con muchas maquinas:

TryHackMe > https://tryhackme.com/

HackTheBox > https://www.hackthebox.com/

Root-me > https://www.root-me.org/?lang=es ("Esta se centra mas en los ctfs y eso")
37  Programación / Scripting / Me puedo explicar un poco la teoría y la práctica de Fibonacci? en: 22 Enero 2022, 21:24 pm
Hola, soy medio retrasado, ya vi muchos tutoriales y ejemplos en internet de Fibonacci en Python, pero me cuesta entender la teoría y la práctica, alguien me lo puede explicar?


--Gracias
38  Programación / Scripting / Re: Problema con Clases y Funciones POO (Python) en: 22 Enero 2022, 21:22 pm
Hola, buenas a tod@s

Estoy intentando hacer un login verificando el usuario y password. Si lo hago normal sin POO me funciona y lo hago bien. La cosa es que estoy metiéndome en POO y quiero hacerlo en POO pero lo de vincular clases y funciones mas o menos lo llevo. Pero tengo aquí un fallo con que no lee el cursor, y lo tengo definido

Tengo el archivo principal:

Código
  1. from tkinter import *
  2. from tkinter import ttk
  3. import pymysql
  4. from tkinter import messagebox as MessageBox
  5. from tkinter import scrolledtext as st
  6. import conexion
  7.  
  8. class Aplicacion:
  9. def __init__(self):
  10. self.conexion1 = conexion.conexiones()
  11. self.ventana1 = Tk()
  12. self.ventana1.title("Login")
  13. self.ventana1.geometry("400x400")
  14. self.imagenLogo = PhotoImage(file="logo2.png")
  15. self.divLogo = Label(self.ventana1, image=self.imagenLogo)
  16. self.divLogo.place(x=93, y=0)
  17. self.x_ventana = self.ventana1.winfo_screenwidth() // 2 - 300 // 2
  18. self.y_ventana = self.ventana1.winfo_screenheight() // 2 - 300 // 2
  19. self.posicion = str(300) + "x" + str(300) + "+" + str(self.x_ventana) + "+" + str(self.y_ventana)
  20. self.ventana1.geometry(self.posicion)
  21. self.ventana1.resizable(0,0)
  22.  
  23. self.formulario()
  24.  
  25.  
  26.  
  27. self.ventana1.mainloop()
  28.  
  29. def formulario(self):
  30. ttk.Label(text="Usuario:").place(x=50, y=110)
  31. ttk.Label(text="Contraseña:").place(x=50, y=165)
  32.  
  33. self.formUsuarioString = StringVar()
  34. self.formUsuario = Entry(self.ventana1, textvariable=self.formUsuarioString)
  35. self.formUsuario.place(x=50, y=130, width=200, height=30)
  36.  
  37. self.formPasswordString = StringVar()
  38. self.formPassword = Entry(self.ventana1, textvariable=self.formPasswordString)
  39. self.formPassword.place(x=50, y=185, width=200, height=30)
  40.  
  41. botonAcceder = Button(self.ventana1, text="Acceder", command=self.login)
  42. botonAcceder.place(x=75, y=240, width=150, height=30)
  43.  
  44. def login(self):
  45. datos = (self.formUsuarioString.get(), self.formPasswordString.get())
  46.  
  47. self.conexion1.verificar(datos)
  48.  
  49.  
  50.  
  51.  
  52.  
  53. Ventana = Aplicacion()

y luego en el archivo conexión.py tengo eso:

Código
  1. import pymysql
  2.  
  3. class conexiones:
  4. def conexion(self):
  5. conexion2 = pymysql.connect(host='null',
  6.                                 user='myadmin',
  7.                                 password='null',
  8.                                 database='python',
  9.                                 charset='utf8mb4',
  10.                                 cursorclass=pymysql.cursors.DictCursor)
  11.  
  12. def verificar(self, datos):
  13. con1 = self.conexion()
  14. cur = con1.cursor()
  15. sql = "SELECT * FROM trabajador WHERE nombre='{}' AND password='{}'".format(self.formUsuarioString.get(), self.formPasswordString.get())
  16. cur.execute(sql)
  17. comprobardatosAcceso=cur.fetchall()

y este es el error que me da cuando intento hacer la consulta:

Código:
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/tkinter/__init__.py", line 1921, in __call__
    return self.func(*args)
  File "/Users/tomas/Downloads/DonMovil/objetos.py", line 47, in login
    self.conexion1.verificar(datos)
  File "/Users/tomas/Downloads/DonMovil/conexion.py", line 14, in verificar
    cur = con1.cursor()
AttributeError: 'NoneType' object has no attribute 'cursor'
[Finished in 12.2s]

¿Donde puede estar el error?

Cualquier información adicional lo agradecería.

Saludos!


El valor no está llegando a con1

Podes probar dos cosas:
1) globalizar con1


2) ponerle self a con1
39  Seguridad Informática / Hacking / Re: proftpd 1.3.5 en: 21 Enero 2022, 23:56 pm
Hola, podrías dejarnos éste comando completo:

Código:
ftp SITE CPFR (path de la reverse)

así podamos ver como estás usando ese comando porque el error pareciera ser que tiene que ver con eso, ponlo tal cual lo estás usando.


Saludos



Hola amigo, todo bien?

Logre solucionar ese problema, ahora tengo otro, resulta que cuando mando una reverse shell en php al server. Esta por algún motivo no funciona.

Lo que hice step by step.

De esta forma logro explotar esa vulnerabilidad
1)
Código:
ftp: site cpfr /etc/passwd

Abro el puerto escucha (el 4444, porque me gusta uu)
2)
Código:
nc –lvp 4444/code]


Copio una reverse shell genérica (Que trae por defecto kali)
3)  [code]ftp: site cpto /usr/share/webshells/php/php-reverse-shell.php
(Antes,claro que modifico la reverse shell)


4) Acá es donde fallo, en teoría la maquina victima me debería conectar al puerto de mi maquina. Pero no.



[/code]
40  Seguridad Informática / Hacking / Re: proftpd 1.3.5 en: 21 Enero 2022, 17:30 pm
Según varios scripts de la exploitdb tenés que sacarle la palabra ftp al comando, ya que no es utilizada:

Ejemplo:
Código:
site cpfr /etc/passwd

Exploits de referencia tanto en python y metasploit con ruby


B#



Si lo se, pero aún así me sigue tirando error
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 27
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines