Nytro Posted November 21, 2011 Report Posted November 21, 2011 Web Application Security Testing ResourcesStiu ca nu e tocmai un tutorial, dar contine informatii utile.Table of ContentsWeb Application Security Testing MethodologiesWeb Application Hacker's Handbook Testing ChecklistWeb Application Hacker's Handbook Chapter 20 MethodologyThe OWASP Testing ChecklistSuites and FrameworksStandalone Scanning ToolsVulnerable Test WebsitesUtilitiesBrowser ExtensionsAdditional ResourcesWeb Application Security Testing MethodologiesSecurity assessments in general, and certainly web security assessments, are nearly as much art as science, so everyone has their own favorite method. Below are a few of the main methodologies that are out there.Web Application Hacker's Handbook Testing ChecklistWeb Application Hacker's Handbook Chapter 20 MethodologyThe OWASP Testing ChecklistWeb Application Hacker's Handbook Checklist (Content Moved)[ **Reproduced with permission from authors; copyright Dafydd Stuttard and Marcus Pinto ]Recon and AnalysisMap visible contentDiscover hidden and default contentTest for debug parametersIdentify the technologies usedMap the attack surfaceTest Handling of AccessAuthenticationTest password quality rulesTest for username enumerationTest resilience to password guessingTest any account recovery functionTest any "remember me" functionTest any impersonation functionTest username uniquenessCheck for unsafe distribution of credentialsTest for fail-open conditionsTest any multi-stage mechanismsSession HandlingTest tokens for meaningTest tokens for predictabilityCheck for insecure transmission of tokensCheck for disclosure of tokens in logsCheck mapping of tokens to sessionsCheck session terminationCheck for session fixationCheck for cross-site request forgeryTest for fail-open conditionsCheck cookie scopeAccess ControlsUnderstand the access control requirementsTest effectiveness of controls, using multiple accounts if possibleTest for insecure access control methods (request parameters, Referer header, etc)Test the Handling of InputFuzz all request parametersTest for SQL injectionIdentify all reflected dataTest for reflected XSSTest for HTTP header injectionTest for arbitrary redirectionTest for stored attacksTest for OS command injectionTest for path traversalTest for script injectionTest for file inclusionTest for SMTP injectionTest for native software flaws (buffer overflow, integer bugs, format strings)Test for SOAP injectionTest for LDAP injectionTest for XPath injectionTest Application LogicIdentify the logic attack surfaceTest transmission of data by the clientTest for reliance on client-side input validationTest any thick-client components (Java, ActiveX, Flash)Test multi-stage processes for logic flawsTest handling of incomplete inputTest trust boundariesTest transaction logicAssess Application HostingTest segregation in shared infrastructuresTest segregation between ASP-hosted applicationsTest for web server vulnerabilitiesDefault credentialsDefault contentProxy functionalityVirtual hosting mis-configurationBugs in web server softwareMiscellaneous TestsCheck for DOM-based attacksCheck for frame injectionCheck for local privacy vulnerabilitiesPersistent cookiesCachingSensitive data in URL parametersForms with autocomplete enabledFollow up any information leakageCheck for weak SSL ciphersWeb Application Hacker's Handbook Testing Methodology [From Chapter 20 of the WAHH][ **Reproduced with permission from authors; copyright Dafydd Stuttard and Marcus Pinto ]Notice that this methodology is quite different from the checklist provided above. Also keep in mind that the book itself provides additional detailed steps in each of the sections listed. This is meant to help one compare methodology approaches, not to provide the actual content.Map the Application's ContentExplore Visible ContentConsult Public ResourcesDiscover Hidden ContentDiscover Default ContentEnumerate Identifier-Specified FunctionsTest for Debug ParametersAnalyze the ApplicationIdentify FunctionalityIdentify Data Entry PointsIdentify the Technologies UsedMap the Attack SurfaceTest Client-side ControlsTest Transmission of Data via the ClientTest Client-side Control Over User InputTest Thick-client ComponentsTest the Authentication MechanismUnderstand the MechanismTest Password QualityTest for Username EnumerationTest Resilience to Password GuessingTest Any Account Recovery FunctionTest Any Remember Me FunctionTest Any Impersonation FunctionTest Username UniquenessTest Predictability of Auto-Generated CredentialsCheck for Unsafe Transmission of CredentialsTest for Logic FlawsExploit Any Vulnerabilities to Gain Unauthorized AccessTest the Session Management MechanismUnderstand the MechanismTest Tokens for MeaningTest Tokens for PredictabilityCheck for Insecure Transmission of TokensCheck for Disclosure of Tokens in LogsCheck Mapping of Tokens to SessionsTest Session TerminationCheck for Session FixationCheck for XSRFCheck Cookie ScopeTest Access ControlsUnderstand the Access Control RequirementsTesting with Multiple AccountsTesting with Limited AccessTest for Insecure Access Control MethodsTest for Input-Based VulnerabilitiesFuzz All Request ParametersTest for SQL InjectionTest for XSS and Other Response InjectionTest for OS Command InjectionTest for Path TraversalTest for Script InjectionTest for File InclusionTest for Function-Specific Input VulnerabilitiesTest for SMTP InjectionTest for Native Software VulnerabilitiesTest for SOAP InjectionTest for LDAP InjectionTest for XPath InjectionTest for Script InjectionTest for File InclusionTest for Logic FlawsIdentify the Key Attack SurfaceTest Multistage ProcessesTest Handling of Incomplete InputTest Trust BoundariesTest Transaction LogicTest for Shared Hosting VulnerabilitiesTest Segregation in Shared InfrastructuresTest Segregation between ASP-Hosted ApplicationsTest for Web Server VulnerabilitiesTest for Default CredentialsTest for Default ContentTest for Dangerous HTTP MethodsTest for Proxy FunctionalityTest for Virtual Hosting MisconfigurationTest for Web Server Software BugsMiscellaneous ChecksCheck for DOM-based AttacksCheck for Frame InjectionCheck for Local Privacy VulnerabilitiesFollow Up Any Information LeakageCheck for Weak SSL CiphersThe OWASP Testing Methodology Checklist (https://www.owasp.org/index.php/Testing_Checklist)Information GatheringSpiders, Robots, and CrawlersSearch Engine Discovery/ReconnaissanceIdentify application entry pointsTesting for Web Application FingerprintApplication DiscoveryAnalysis of Error CodesConfiguration Management TestingSSL/TLS Testing (SSL Version, Algorithms, Key length, Digital Cert. Validity)DB Listener TestingInfrastructure Configuration Management TestingApplication Configuration Management TestingTesting for File Extensions HandlingOld, backup and unreferenced filesInfrastructure and Application Admin InterfacesTesting for HTTP Methods and XSTAuthentication TestingCredentials transport over an encrypted channelTesting for user enumerationTesting for Guessable (Dictionary) User AccountBrute Force TestingTesting for bypassing authentication schemaTesting for vulnerable remember password and pwd resetTesting for Logout and Browser Cache ManagementTesting for CAPTCHATesting Multiple Factors AuthenticationTesting for Race ConditionsSession ManagementTesting for Session Management SchemaTesting for Cookies attributesTesting for Session FixationTesting for Exposed Session VariablesTesting for CSRFAuthorization TestingTesting for Business LogicBusiness Logic TestingTesting for Business LogicData Validation TestingTesting for Reflected Cross Site ScriptingTesting for Stored Cross Site ScriptingTesting for DOM based Cross Site ScriptingTesting for Cross Site FlashingSQL InjectionLDAP InjectionORM InjectionXML InjectionSSI InjectionXPath InjectionIMAP/SMTP InjectionCode InjectionOS CommandingBuffer overflowIncubated vulnerabilityTesting for HTTP Splitting/SmugglingDenial of Service TestingTesting for SQL Wildcard AttacksLocking Customer AccountsTesting for DoS Buffer OverflowsUser Specified Object AllocationUser Input as a Loop CounterWriting User Provided Data to DiskFailure to Release ResourcesStoring too Much Data in SessionWeb Services TestingWS Information GatheringTesting WSDLXML Structural TestingXML content-level TestingHTTP GET parameters/REST TestingNaughty SOAP attachmentsReplay TestingWeb Services TestingWS Information GatheringTesting WSDLXML Structural TestingXML content-level TestingHTTP GET parameters/REST TestingNaughty SOAP attachmentsReplay TestingWeb Services TestingAJAX VulnerabilitiesAJAX Testing-----------------------------------------Suites / FrameworksBurp SuiteThe premier tool for performing manual web application vulnerability assessments and penetration tests. The pro version includes a scanner, and the Intruder tool makes the offering stand out amongst its peers.HP WebInspectAn enterprise-focused tool suite that includes a scanner, proxy, and assorted other tools.WebScarabNGThe latest version of this famous suite from OWASP. Includes a web services module that allows you to parse WSDLs and interact with their associated functions.IBM AppScanIBM's enterprise-focused suite.AcunetixAcunetix's enterprise-focused suite.NTOSpiderNTObjectives's enterprise-focused suite.W3afw3af is a Web Application Attack and Audit Framework. The project's goal is to create a framework to find and exploit web application vulnerabilities that is easy to use and extend.WebsecurifyWebsecurify is a powerful web application security testing environment designed from the ground up to provide the best combination of automatic and manual vulnerability testing technologies.SamuraiWebsecurify is a powerful web application security testing environment designed from the ground up to provide the best combination of automatic and manual vulnerability testing technologies.SkipfishA fully automated, active web application security reconnaissance tool written by Michal Zalewski of Google.RAFT (Response Analysis and Further Testing Tool)RAFT is a testing tool for the identification of vulnerabilities in web applications. RAFT is a suite of tools that utilize common shared elements to make testing and analysis easier. The tool provides visibility in to areas that other tools do not such as various client side storage.Zed Attack Proxy (ZAP)The Zed Attack Proxy (ZAP) is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications. It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing. ZAP provides automated scanners as well as a set of tools that allow you to find security vulnerabilities manually.Standalone Web Assessment ToolsNiktoNikto is an command line Open Source (GPL) web server scanner which performs comprehensive tests against web servers for multiple items, including over 6400 potentially dangerous files/CGIs, checks for outdated versions of over 1000 servers, and version specific problems on over 270 servers.WiktoWikto is Nikto for Windows - but with a couple of fancy extra features including Fuzzy logic error code checking, a back-end miner, Google assisted directory mining and real time HTTP request/response monitoring. Wikto is coded in C# and requires the .NET framework.Web Assessment UtilitiesYehg.net Charset Encoder / String EncrypterA online, feature-rich tool for changing the encoding of input.Browser ExtensionsWebsecurify Chrome ExtensionThe Chrome Extension version of the Websecurify tool. Performs a scan and tells you the results summary, but there's no authentication or detailed view of findings. It's more of a quick-touch option before you run a real tool.XSS MeThe Firefox Extension.SQL Inject MeThe Firefox Extension.Vulnerable Test WebsitesThese sites are purposely vulnerable for the purpose of testing web app security scanners. They are designed for this purpose, but I'd check to make sure it's ok before scanning them (just to be sure).Internet-accessibleGoogle GruyereThis one is from Google and you can do it both online and as a local install.zero.webappsecurity.com (HP)I happen to know this one is o.k. to scan.demo.testfire.net (IBM)test.acunetix.com (Acunetix)testphp.vulnweb.com (Acunetix)testasp.acunetix.com (Acunetix)testaspnet.acunetix.com (Acunetix)Cenzic's Crack Me BankHacker TestThis one is not like the others; it's not a full website you'd scan, but rather more like a puzzle where you proceed through various levels.Hax.torAnother challenge, similar to Hacker Test.Download and ConfigureBroken Web Apps Project (OWASP)This is the one you want first; it has over a dozen broken web apps to play with.Web Security Dojo (Maven)Similar to OWASP's Broken Web Apps project, i.e. multiple broken web apps in one place.Webgoat (OWASP)This is the grand pubah of the testing sites because it includes training with it. Note that it's on the Broken Web Apps image listed above.Damn Vulnerable Web AppBadStoreHackme Bank (McAfee)Hackme Casino (McAfee)Hackme Books (McAfee)Hackme Shipping (McAfee)Hackme Travel (McAfee)Moth (Bonsai)SecuriBench (Stanford)Vicnum (ipsaplus)Google GruyereThis one is from Google and you can do it both online and as a local install.Additional ResourcesHack This Site CommunityHellbound HackersSursa: WebAppSec Testing Resources | danielmiessler.com Quote