September 2004
Intermediate to advanced
408 pages
7h 25m
English
A null session is how Windows represents an anonymous user. To understand how it is used, imagine the sort of code you have to write in a server to deal with authenticated clients. After authenticating a client using Kerberos (Item 59), say, your server receives a token for that client that contains group SIDs, and you can use that token to perform access checks against ACL'd resources (Item 39). For instance, given the client's token it's quite easy to check whether that client should be granted write access to a file. We can simply impersonate the client (Item 31) and try to open the file for writing. The operating system will compare the DACL on the file with the client's token (that we're impersonating) ...