| prev | Version 1094 (Mon Nov 27 20:46:09 2006) | next |
| Risk | Importance | Discussion |
|---|---|---|
| Denial of service | Minor | Researchers can wait until the system comes back up |
| Data in database destroyed | Minor | Restore from backup |
| Unauthorized data access | Major | If competitors access data, competitive advantage may be lost |
| Backups corrupted, so that data is permanently lost | Major | Redoing trials may cost millions of dollars |
| Data corrupted, and corruption not immediately detected | Critical | Researchers may make recommendations or diagnoses that lead to injury or death |
| Table 25.1: Risk Assessment | ||
QUERY_STRING, while unexpected ones may be presentQUERY_STRING may not even be formatted according to the HTTP specificationhttp://www.webdtr.comhttp://www.webdtr.com/display.py?user=cdarwinwebdtr.com : none presenthttp://www.webdtr.com/display.py?user=bmcclintockhttp://www.webdtr.com/display.py?user=nobody?http://www.webdtr.com/display.py?user=?cgitb (or its equivalent) enabled in the production systemhttp://www.webdtr.com/display.py?testid=178923# marker:vdots
form = cgi.FieldStorage()
test_id = form.getvalue('testid')
query = "SELECT date,result FROM Results WHERE (id=%s)" % test_id
cursor = connection.cursor()
cursor.execute(query)
results = cursor.fetchall();
cursor.close();
# marker:vdots
testid to "1);UPDATE Results SET result=FALSE WHERE (id=*""SELECT date,result FROM Results WHERE (id=1);UPDATE Results SET result=FALSE WHERE (id=*)"testid's value was an integer, and in range"admin" and "admin", or "guest" and "guest", etc.http://www.webbdtr.com/tmp/webdtr/0001.tmp, /tmp/webdtr/0002.tmp, etc./tmp/webdtr/9999.tmpdef read_file(filename, required_uid):
'''Read submission data from a file, checking that the file
is owned by the specified user.'''
owner = os.stat(filename)[ST_UID]
if owner != required_uid:
raise SecurityException('%s has incorrect owner' % filename)
stream = open(filename, 'r')
data = stream.read()
stream.close()
return data
https in URL instead of http)![[Secure Communication with Asymmetric Keys]](./img/security/public_keys.png)
Figure 25.1: Secure Communication with Asymmetric Keys
![[Signing a Message]](./img/security/digital_signatures.png)
Figure 25.2: Signing a Message
| prev | Copyright © 2005-06 Python Software Foundation. | next |