Security misconfiguration occurs when system administrators, database administrators, and developers leave security holes in the configuration of computer systems. An attacker can access default accounts, unused pages, unpatched flaws, and unprotected files and directories. Security misconfiguration can happen at any level of an application stack, including the platform, web server, application server, database, framework, and custom code. Typical attacks involve finding information about the operating system type and version, libraries, tools, web server type, and web development language in order to exploit vulnerabilities. Organizations can prevent security misconfiguration by updating software, removing default credentials, disabling unused components, conducting security scans, and implementing secure configuration practices.