<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?