vulnerabilità del modulo di accesso Python?

-1
<HTML>
<HEAD><TITLE>Login Page</TITLE></HEAD>
<BODY>
<CENTER>
<FORM method="POST" action="http://yourserver/cgi-bin/login.py">
<paragraph> Enter your login name: <input type="text" name="login">
<paragraph> Enter your password: <input type=password name="password">
<paragraph> <input type="submit" value="Connect">
</FORM>
</CENTER>
<HR>

</form>
</BODY>
</HTML>

login.py:

#!/usr/local/bin/python
import cgi

def header(title):
   print "Content-type: text/html\n"
   print "<HTML>\n<HEAD>\n<TITLE>%s</TITLE>\n</HEAD>\n<BODY>\n" % (title)

def footer():
   print "</BODY></HTML>"

form = cgi.FieldStorage()
password = "python"

if not form:
   header("Login Response")
elif form.has_key("login") and form["login"].value != "" and form.has_key("password")       and form["password"].value == password:
header("Connected ..." )
   print "<center><hr><H3>Welcome back," , form["login"].value, ".</H3><hr></center>"
   print r"""<form><input type="hidden" name="session" value="%s"></form>""" % (form["login"].value)
   print "<H3><a href=browse.html>Click here to start browsing</a></H3>"

else:
   header("No success!")
   print "<H3>Please go back and enter a valid login.</H3>"

footer()

Vorrei rendere questa forma di accesso vulnerabile a RCE (esecuzione di codice in modalità remota), è possibile con la funzione eval() o exec() .

Sto cercando funzioni che introducano una vulnerabilità all'interno del modulo di accesso. Ci sono intere classi / moduli che contengono pericolosi funzionalmente? Sarebbe anche possibile rendere questa forma di accesso vulnerabile all'esecuzione di codice in modalità remota?

    
posta xerxzz 27.02.2012 - 16:32
fonte

1 risposta

1

I would like to make this login form vulnerable to RCE ( remote code execution), is this possible with the function eval() or exec()?

Sì. Se si passa l'input utente non controllato a una di queste funzioni, si consente l'esecuzione di codice in modalità remota.

I am looking for functions that introduce a vulnerability within the login form.I am particularly interested in Remote Code Execution vulnerabilities. Are there whole classes/modules that contain dangerous functionally?

Sì. Python può aprire file / eliminare file / connettersi a database / ecc. Quindi sì, ci sono un sacco di cose brutte che potrebbero accadere se è possibile eseguire codice arbitrario.

Also would it be possible to make this login form vulnerable to remote code execution?

Sì. Vedi sopra.

    
risposta data 27.02.2012 - 16:43
fonte

Leggi altre domande sui tag