From 6a0e40d4352930f5665aa1ca0eb1d7fca4435cce Mon Sep 17 00:00:00 2001 From: DefectDojo release bot Date: Mon, 12 Jan 2026 17:13:24 +0000 Subject: [PATCH 01/21] Update versions in application files --- components/package.json | 2 +- helm/defectdojo/Chart.yaml | 8 ++++---- helm/defectdojo/README.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/components/package.json b/components/package.json index 98eb5bef559..6fc51fe3ce9 100644 --- a/components/package.json +++ b/components/package.json @@ -1,6 +1,6 @@ { "name": "defectdojo", - "version": "2.54.1", + "version": "2.55.0-dev", "license" : "BSD-3-Clause", "private": true, "dependencies": { diff --git a/helm/defectdojo/Chart.yaml b/helm/defectdojo/Chart.yaml index 58bf9ea03f4..3f4198243e3 100644 --- a/helm/defectdojo/Chart.yaml +++ b/helm/defectdojo/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 -appVersion: "2.54.1" +appVersion: "2.55.0-dev" description: A Helm chart for Kubernetes to install DefectDojo name: defectdojo -version: 1.9.7 +version: 1.9.8-dev icon: https://defectdojo.com/hubfs/DefectDojo_favicon.png maintainers: - name: madchap @@ -33,5 +33,5 @@ dependencies: # - kind: security # description: Critical bug annotations: - artifacthub.io/prerelease: "false" - artifacthub.io/changes: "- kind: changed\n description: Bump DefectDojo to 2.54.1\n" + artifacthub.io/prerelease: "true" + artifacthub.io/changes: "" diff --git a/helm/defectdojo/README.md b/helm/defectdojo/README.md index 10ff197441b..bd48dd00d4c 100644 --- a/helm/defectdojo/README.md +++ b/helm/defectdojo/README.md @@ -511,7 +511,7 @@ The HELM schema will be generated for you. # General information about chart values -![Version: 1.9.7](https://img.shields.io/badge/Version-1.9.7-informational?style=flat-square) ![AppVersion: 2.54.1](https://img.shields.io/badge/AppVersion-2.54.1-informational?style=flat-square) +![Version: 1.9.8-dev](https://img.shields.io/badge/Version-1.9.8--dev-informational?style=flat-square) ![AppVersion: 2.55.0-dev](https://img.shields.io/badge/AppVersion-2.55.0--dev-informational?style=flat-square) A Helm chart for Kubernetes to install DefectDojo From 4e9cda178f7f7d86514f5b1e3ddf99060e1166ae Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Wed, 14 Jan 2026 04:47:48 +0100 Subject: [PATCH 02/21] Remove unused asteval dependency (#14079) - Remove asteval from requirements.txt as it's not used in the codebase - Remove asteval license notice from NOTICE file - No Python code imports or uses asteval --- NOTICE | 290 +++++++++++++++++++++-------------------------- requirements.txt | 1 - 2 files changed, 132 insertions(+), 159 deletions(-) diff --git a/NOTICE b/NOTICE index 76c7f2c7673..2ef9115ec9a 100644 --- a/NOTICE +++ b/NOTICE @@ -2,7 +2,7 @@ DefectDojo is licensed under the 3-Clause BSD License: https://github.com/Defect However, DefectDojo's dependencies may have different licensing requirements and terms. -Complete source code for DefectDojo dependencies are made available on PyPi: https://pypi.org/ +Complete source code for DefectDojo dependencies are made available on PyPi: https://pypi.org/ THIRD-PARTY SOFTWARE NOTICES FOR DEFECTDOJO @@ -69,31 +69,31 @@ BSD License Copyright (C) 2008, 2009 Michael Trier and contributors All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +* Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of the GitPython project nor the names of -its contributors may be used to endorse or promote products derived +* Neither the name of the GitPython project nor the names of +its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -288,7 +288,7 @@ files names COPYING in subdirectories where applicable. Copyright © 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 Google, Inc. Copyright © 2018,2019,2020 Ebrahim Byagowi -Copyright © 2019,2020 Facebook, Inc. +Copyright © 2019,2020 Facebook, Inc. Copyright © 2012 Mozilla Foundation Copyright © 2011 Codethink Limited Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) @@ -458,7 +458,7 @@ LIBTIFF Copyright (c) 1988-1997 Sam Leffler Copyright (c) 1991-1997 Silicon Graphics, Inc. -Permission to use, copy, modify, distribute, and sell this software and +Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of @@ -466,15 +466,15 @@ Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics. -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ---- @@ -516,8 +516,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. OPENJPEG * - * The copyright in this software is being made available under the 2-clauses - * BSD License, included below. This software may be subject to other third + * The copyright in this software is being made available under the 2-clauses + * BSD License, included below. This software may be subject to other third * party and contributor rights, including patent rights, and no such rights * are granted under this license. * @@ -528,7 +528,7 @@ OPENJPEG * Copyright (c) 2005, Herve Drolon, FreeImage Team * Copyright (c) 2002-2003, Yannick Verschueren * Copyright (c) 2001-2003, David Janssens - * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France + * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France * Copyright (c) 2012, CS Systemes d'Information, France * * All rights reserved. @@ -1916,32 +1916,6 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -asteval -0.9.25 -OSI Approved :: MIT License -The MIT License - -Copyright (c) 2021 Matthew Newville, The University of Chicago - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - attrs 21.2.0 MIT License @@ -2136,27 +2110,27 @@ MIT License Except when otherwise stated (look for LICENSE files in directories or information at the beginning of each file) all software and -documentation is licensed as follows: +documentation is licensed as follows: The MIT License - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -2889,8 +2863,8 @@ license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; +All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee. 3. In the event Licensee prepares a derivative work that is based on @@ -3119,10 +3093,10 @@ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. @@ -3256,26 +3230,26 @@ BSD License Copyright (c) Alex Gaynor and individual contributors. All rights reserved. -Redistribution and use in source and binary forms, with or without +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * The names of its contributors may not be used to endorse or promote products + * The names of its contributors may not be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -3617,10 +3591,10 @@ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. @@ -3814,10 +3788,10 @@ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. @@ -3999,7 +3973,7 @@ Copyright (c) 2001-2011 Python Software Foundation License: PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 See http://www.opensource.org/licenses/Python-2.0 for full terms Note: backport changes by Raymond were originally distributed under MIT - license, but since the original license for Python is more + license, but since the original license for Python is more restrictive than MIT, code cannot be released under its terms and still adheres to the limitations of Python license. @@ -4010,44 +3984,44 @@ BSD License Copyright (C) 2010, 2011 Sebastian Thiel and contributors All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +* Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of the GitDB project nor the names of -its contributors may be used to endorse or promote products derived +* Neither the name of the GitDB project nor the names of +its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Additional Licenses ------------------- -The files at +The files at gitdb/test/fixtures/packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.idx -and -gitdb/test/fixtures/packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.pack -are licensed under GNU GPL as part of the git source repository, +and +gitdb/test/fixtures/packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.pack +are licensed under GNU GPL as part of the git source repository, see http://en.wikipedia.org/wiki/Git_%28software%29 for more information. -They are not required for the actual operation, which is why they are not found +They are not required for the actual operation, which is why they are not found in the distribution package. @@ -6397,15 +6371,15 @@ of the rest of the package. The isoschematron implementation uses several XSL and RelaxNG resources: * The (XML syntax) RelaxNG schema for schematron, copyright International - Organization for Standardization (see + Organization for Standardization (see src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license text) * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing - Center, Taiwan (see the xsl files here for the license text: + Center, Taiwan (see the xsl files here for the license text: src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) * The xsd/rng schema schematron extraction xsl transformations are unlicensed - and copyright the respective authors as noted (see + and copyright the respective authors as noted (see src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) @@ -7071,7 +7045,7 @@ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, @@ -7079,8 +7053,8 @@ modification, are permitted provided that the following conditions are met: and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF @@ -7088,7 +7062,7 @@ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +POSSIBILITY OF SUCH DAMAGE. pyasn1-modules @@ -7100,7 +7074,7 @@ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, @@ -7108,8 +7082,8 @@ modification, are permitted provided that the following conditions are met: and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF @@ -7117,7 +7091,7 @@ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +POSSIBILITY OF SUCH DAMAGE. pycparser @@ -7131,24 +7105,24 @@ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of Eli Bendersky nor the names of its contributors may - be used to endorse or promote products derived from this software without +* Neither the name of Eli Bendersky nor the names of its contributors may + be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -8226,31 +8200,31 @@ BSD License Copyright (C) 2010, 2011 Sebastian Thiel and contributors All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +* Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of the async project nor the names of -its contributors may be used to endorse or promote products derived +* Neither the name of the async project nor the names of +its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/requirements.txt b/requirements.txt index 26eaf1e0126..5f8d7b0e35d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ # requirements.txt for DefectDojo using Python 3.x -asteval==1.0.8 bleach==6.3.0 bleach[css] celery==5.6.1 From 09c9821fd6f300bd8369a1a5ee98798f80d13a57 Mon Sep 17 00:00:00 2001 From: manuelsommer <47991713+manuel-sommer@users.noreply.github.com> Date: Wed, 14 Jan 2026 04:51:58 +0100 Subject: [PATCH 03/21] :bug: fix Nonetype in nuclei #14071 (#14072) --- dojo/tools/nuclei/parser.py | 2 +- unittests/scans/nuclei/issue_14071.json | 27 +++++++++++++++++++++++++ unittests/tools/test_nuclei_parser.py | 6 ++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 unittests/scans/nuclei/issue_14071.json diff --git a/dojo/tools/nuclei/parser.py b/dojo/tools/nuclei/parser.py index 1ce68800c84..e524a529bc2 100644 --- a/dojo/tools/nuclei/parser.py +++ b/dojo/tools/nuclei/parser.py @@ -142,7 +142,7 @@ def get_findings(self, filename, test): ) dupe_key = hashlib.sha256( - (template_id + item_type + matcher + endpoint.host).encode( + (template_id + item_type + matcher + str(endpoint.host)).encode( "utf-8", ), ).hexdigest() diff --git a/unittests/scans/nuclei/issue_14071.json b/unittests/scans/nuclei/issue_14071.json new file mode 100644 index 00000000000..d6ed8d3747d --- /dev/null +++ b/unittests/scans/nuclei/issue_14071.json @@ -0,0 +1,27 @@ +{"template":"http/default-logins/dvwa/dvwa-default-login.yaml","template-url":"https://cloud.projectdiscovery.io/public/dvwa-default-login","template-id":"dvwa-default-login","template-path":"/root/nuclei-templates/http/default-logins/dvwa/dvwa-default-login.yaml","info":{"name":"DVWA Default Login","author":["pdteam"],"tags":["dvwa","default-login","vuln"],"description":"Damn Vulnerable Web App (DVWA) is a test application for security professionals. The hard coded credentials are part of a security testing scenario.","reference":["https://opensourcelibs.com/lib/dvwa"],"severity":"critical","metadata":{"max-request":2},"classification":{"cve-id":null,"cwe-id":["cwe-798"]}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/index.php","request":"POST /login.php HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; rv:140.0) Gecko/20100101 Firefox/140.0\r\nContent-Length: 88\r\nConnection: close\r\nContent-Type: application/x-www-form-urlencoded\r\nCookie: PHPSESSID=fbeb4812f1bc3aebc7ebd5f969d0ad00; security=low; security=low; PHPSESSID=fbeb4812f1bc3aebc7ebd5f969d0ad00\r\nAccept-Encoding: gzip\r\n\r\nusername=admin\u0026password=password\u0026Login=Login\u0026user_token=0ad6e164d446ae529b089236cfa16769","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:46:54 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/authbypass/\"\u003eAuthorisation Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\u003cdiv class=\"body_padded\"\u003e\u003cdiv class=\"message\"\u003eYou have logged in as 'admin'\u003c/div\u003e\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e admin\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","meta":{"username":"admin","password":"password"},"ip":"172.18.0.3","timestamp":"2026-01-12T13:46:54.716706997Z","curl-command":"curl -X 'GET' -d 'username=admin\u0026password=password\u0026Login=Login\u0026user_token=0ad6e164d446ae529b089236cfa16769' -H 'Connection: close' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: security=low; security=low; PHPSESSID=fbeb4812f1bc3aebc7ebd5f969d0ad00' -H 'Host: dvwa_dvwa_1' -H 'Referer: http://dvwa_dvwa_1/login.php' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:140.0) Gecko/20100101 Firefox/140.0' 'http://dvwa_dvwa_1/index.php'","matcher-status":true} +{"template":"http/exposures/configs/phpinfo-files.yaml","template-url":"https://cloud.projectdiscovery.io/public/phpinfo-files","template-id":"phpinfo-files","template-path":"/root/nuclei-templates/http/exposures/configs/phpinfo-files.yaml","info":{"name":"PHPinfo Page - Detect","author":["pdteam","daffainfo","meme-lord","dhiyaneshdk","wabafet","mastercho"],"tags":["config","exposure","phpinfo","vuln"],"description":"PHPinfo page was detected. The output of the phpinfo() command can reveal sensitive and detailed PHP environment information.\n","severity":"low","metadata":{"max-request":25},"classification":{"cve-id":null,"cwe-id":["cwe-200"]},"remediation":"Remove PHP Info pages from publicly accessible sites, or restrict access to authorized users only."},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1//phpinfo.php","extracted-results":["8.5.1"],"request":"GET //phpinfo.php HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.6.20) Gecko/ Firefox/3.6.17\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-store, no-cache, must-revalidate\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Mon, 12 Jan 2026 13:47:01 GMT\r\nExpires: Thu, 19 Nov 1981 08:52:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=56072347d8ff2f0bf48d4cc9f4d0bec1; expires=Tue, 13 Jan 2026 13:47:01 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"DTD/xhtml1-transitional.dtd\"\u003e\n\u003chtml xmlns=\"http://www.w3.org/1999/xhtml\"\u003e\u003chead\u003e\n\u003cstyle type=\"text/css\"\u003e\nbody {background-color: #fff; color: #222; font-family: sans-serif;}\npre {margin: 0; font-family: monospace;}\na {color: inherit;}\na:hover {text-decoration: none;}\ntable {border-collapse: collapse; border: 0; width: 934px; box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2);}\n.center {text-align: center;}\n.center table {margin: 1em auto; text-align: left;}\n.center th {text-align: center !important;}\ntd, th {border: 1px solid #666; font-size: 75%; vertical-align: baseline; padding: 4px 5px;}\nth {position: sticky; top: 0; background: inherit;}\nh1 {font-size: 150%;}\nh2 {font-size: 125%;}\nh2 \u003e a {text-decoration: none;}\nh2 \u003e a:hover {text-decoration: underline;}\n.p {text-align: left;}\n.e {background-color: #ccf; width: 300px; font-weight: bold;}\n.h {background-color: #99c; font-weight: bold;}\n.v {background-color: #ddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;}\n.v i {color: #999;}\nimg {float: right; border: 0;}\nhr {width: 934px; background-color: #ccc; border: 0; height: 1px;}\n:root {--php-dark-grey: #333; --php-dark-blue: #4F5B93; --php-medium-blue: #8892BF; --php-light-blue: #E2E4EF; --php-accent-purple: #793862}@media (prefers-color-scheme: dark) {\n body {background: var(--php-dark-grey); color: var(--php-light-blue)}\n .h td, td.e, th {border-color: #606A90}\n td {border-color: #505153}\n .e {background-color: #404A77}\n .h {background-color: var(--php-dark-blue)}\n .v {background-color: var(--php-dark-grey)}\n hr {background-color: #505153}\n}\n\u003c/style\u003e\n\u003ctitle\u003ePHP 8.5.1 - phpinfo()\u003c/title\u003e\u003cmeta name=\"ROBOTS\" content=\"NOINDEX,NOFOLLOW,NOARCHIVE\" /\u003e\u003c/head\u003e\n\u003cbody\u003e\u003cdiv class=\"center\"\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003ctd\u003e\n\u003ca href=\"https://www.php.net/\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAABACAYAAAA+j9gsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAD4BJREFUeNrsnXtwXFUdx8/dBGihmE21QCrQDY6oZZykon/gY5qizjgM2KQMfzFAOioOA5KEh+j4R9oZH7zT6MAMKrNphZFSQreKHRgZmspLHSCJ2Co6tBtJk7Zps7tJs5t95F5/33PvWU4293F29ybdlPzaM3df2XPv+Zzf4/zOuWc1tkjl+T0HQ3SQC6SBSlD6WKN4rusGm9F1ps/o5mPriOf8dd0YoNfi0nt4ntB1PT4zYwzQkf3kR9/sW4xtpS0CmE0SyPUFUJXFMIxZcM0jAZ4xrKMudQT7963HBF0n6EaUjkP0vI9K9OEHWqJLkNW1s8mC2WgVTwGAqWTafJzTWTKZmQuZ/k1MpAi2+eys6mpWfVaAPzcILu8EVKoCAaYFtPxrAXo8qyNwzZc7gSgzgN9Hx0Ecn3j8xr4lyHOhNrlpaJIgptM5DjCdzrJ0Jmce6bWFkOpqs0MErA4gXIBuAmY53gFmOPCcdaTXCbq+n16PPLXjewMfGcgEttECeouTpk5MplhyKsPBTiXNYyULtwIW7Cx1vlwuJyDLR9L0mQiVPb27fhA54yBbGttMpc1OWwF1cmKaH2FSF7vAjGezOZZJZ9j0dIZlMhnuRiToMO0c+N4X7oksasgEt9XS2KZCHzoem2Ixq5zpAuDTqTR14FMslZyepeEI4Ogj26n0vLj33uiigExgMWRpt+CGCsEePZqoePM738BPTaJzT7CpU0nu1yXpAXCC3VeRkCW4bfJYFZo6dmJyQTW2tvZc1nb719iyZWc5fmZ6Osu6H3uVzit52oBnMll2YizGxk8muFZLAshb/YKtzQdcaO3Y2CQ7eiy+YNGvLN+4+nJetm3bxhKJxJz316xZw1pbW9kLew+w1944XBEaPj6eYCeOx1gqNe07bK1MwIDbKcOFOR49GuePT5fcfOMX2drPXcQ0zf7y2tvbWVdXF/v1k2+yQ4dPVpQ5P0Um/NjoCX6UBMFZR6k+u7qMYVBYDIEqBW7eXAfPZX19zp2/oaGBHysNMGTFinPZik9fWggbI5Omb13zUDeB3lLsdwaK/YPeyAFU0i8Aw9/2Dwyx4SPjFQEYUlf3MTYw4Jx7CIVCbHR0oqIDNMD+FMG+ZE0dO/tsHlvAWnYS6H4qjfMC+Zld/wg92/tuv2WeeYT87j+H2aFDxysGLuSy+o/z49DQkONnmpqa2MjRyoYsZOXKGnb5Z+vZqlUrxUsAvI9At/oK+elnBpoNw+Dai9TekSMxDrgSh0KrSYshTprc2NhoRf1JtlikqirAVl98AddsSavDBDrsC+QdT7/TSoB344tzOZ39+70RbporVerqasyw1MEnC8iV6I9VTDi0uqbmfPFSq2W+gyUHXuEdb3WR5rab5jnD3i/BNMN8ChNaqsTiKa55KmBWX+Tuj0XQdQVF307nhTH0CPls+O0UPbaT5TQG/8qX68u6LpV67LQ6dNknaYgaYyPDx2TzvYGCsnhRkH8b/rsF2GDj1MCInkvxvRjOuCUlipWD/zrKx7ZOwBF0vfSSM2ShyaqAAOC1Nw+zt9/5YNbrN1zfwIdpfgnqebv/A6pnWAn4qlW1HPgHQ6OeoG3N9RO/+StMdDtmV2LxJPfBpQCGfwTgrVu38jFrKaW2tpZt2LCBdXR0sEgkwhv21u9cxQsyW3ZB1+DgoOM54btU6tu8eTPr6elhy5fr7IZNDey+e76e9/fCLcAllHpdKKinpaUlX8+111xB9VzNrYxqUAY/XVVVJYMOekLu2fFGM8VWYQRYiYkU9bD4vPlHFYnH4/zvkb1CgwACHgMoUpdyw3sFXcXUh4YHaNSHDqaxdL5jwVTXBpeXVY9oF3RcUQ+O09NT7Cayfld+4RJlP42gTIq8w66Qf/X4a6FTSSMMDcaE/NhYecMM+MdyG90OAhodWoAGkTUaSZByO5WdiA4GqwStrrM6k5vFKEXQserr63l7oR5V0NBojKctaSZtbneErOtGmFxwkGewjk0UzpCUlJSIRqMcjN8CkHLDqyRByq0PEGBBhDmdj7rQVujAaLfrrlk7xyW5gUaxpEtOmOQDr0e799NYmDVBi0+OT7FcbsaXxEQk8qprEBQMBm0vVKUBRcNjskFE8W71lSt79uzhda1d6w4ZGTUUp3NWAQ3TvW/fPvbVq+rZH/ceULOcF1/I06CY3QJohCCzNJnYdgEwwvpUKuNbUsLNpO3evZtfSGHp7+/nS2pw3LLFPVWLoA5yHQUtXvXFYjH+vU4F5yOibzsRUL38MTqC3XWh8GCWziMcDjt2BNEZUIfoUOpJkwvziT3S5ua8Jj/4yD5E0yERbPkhKv4RF4mhkN1wCMHN2rWfYZ2dnWz9+vXchNkJzBoaQ8Bxqg91wWo41YdO2dzczD+3bt06Rw0rBG4nOF8oi9M0Jsw9OgLqQ124BifLgeuHyVbN0NXUrODBmDWxgRR0pNrUYqMNgDOZGZbNzvgCuc4j0kX+GPJ2//CcMagQmKkbrm/knwVEp++SIXulM1+nhj9AY207QRDnpsnye24WA59DkuPlV/5j+z5eB2hE0W1tbTyQdNJmDpksRzFp2E9csFJAboRvDvz8gZdJgw2ek55KZphfAv+Inu8UdKnmkEUHQK93EjEZ4Rbkifq8JiactEpYAy9Nli2Gm6CjIZPn1qlKFWizleOG3BIwdKNZ+KRMxr9VHKvr1NKLXo2BhlAVFRPq1qlWW6MBr3NWyY2rTGXO5ySJlN9uDuiGsV7XTVPtl8CHYGizf/9+V5Om0hAwVV4ahuU8qia03HP26kyqFkMOTudDzjs/P/QKBUiBYa5ZNucfZJUkCG/0IhpCxYyqBF3lnLOII8q1GKqdStQ3rTh5MStwXX5O/nE1metGQzPHUH6JatA1OppQ8u1eUbpX44tO4GY5vM5Z9sduFgOfG1GwUOK6VFzaSAmrWCSfzGCuuT/O+bi6QwRdTtqXN2keJ4/ejgkJ5HedRARkbkGe6ARulgMWQ+Wc3cDAWohhoZdcue7ifJ7crfP6Me8dELd0Mv8U2begC2k9SHd3t+NnNm7cqKwRbiYUkykqvlZlmOYVLIq5bHRep46JzotOc9BhuFc0ZHGLph+CJIaXr1FZSIfxsdBiN1+LpALEK2By61Aqs0rwtV7DNBU3BMCYixYTLU6C8bM5hBwum0k1mesBpmPtlj+qXFenFsAgCVLon9DYeIxUnmh05HCdBIkCVRP6ussiepVZJZXIutCHwt2I0YGY2Kiz3AIyeG5aLNooVULQBbHy1/nAK2oEtEanheil+GO3aFg0FnwSilNC4q6OrXzywc0XCy1WMaFu/tgrCBLRuWpHuP+n1zqmRXFN0GAnwKgHeW1E1C/86UDJHFKptATZMPZTafbLXHtN3OPixKRC4ev4GwB2Gy6JxhQNEYul+KoKp79RMaGqKzy9ovzt27c7pidVZtYAGJMYOP7u6bdK1mLI1GQ+/ogSZBahwKuLO2jSZt0odw65xrUhAMNrZskLsGiIXz72F3bTjV+ixvtbWcMQr3NWCbog5VyXAIy63PLrqpJITIqHkcD9P7suSiYbG53wvTLKDbr8WBbjZqIF4F3PD3ItRn1eQd5CBF3lCM5RAIYfVp0/dgZ8SvbJ2/l8MmlvNw+8qJTjm+drWQwaAXO9KMuWncc1GBMXKkGeV/pU5ZxFIsTvzovOCu3HvDnOE7NTu3rLr+PE8fy6+IEX9947YM4n/+LbPT/88R8QqoYAuVSDrZLFKcYso2AcLBIeGDPu6h3M+yqvIE/4Y6w4LdUfi+jcr86L75KvC9+PcbVfd1hCi6U7Innwk1/+Q5rcoetsdyBg3s9aCmivBsNFifGfG9zCJUFiztmpEXAbqhMgr6SLWBPu9R1enRfm1ktrC6cVYWH+/Mqg43x6sYK1edaCex7vkRZHZkF+6P6NkXvvi/TpLNBUaqTtdcsoLtIrVTcem2EHDh7m2uq0ikMINBvafOmazzt+BkGMW9CF70DndPsOaJqb38Y1oXjdCYHOiqwbPofrKid6thMAlnxxPtMy6w4K0ubNhq73U5wd5PtVleCTd+50D2CEafLloqixyv0ufMcOGq64CVaMYN2119gfAdPpuscKOxWgCMDwxfm0pvzBhx9siRLoFt3ca7Ikf+x2yygaYzHdTSi7IT9y8fMJ2Lpdhg+ZCPA2+f05d1A88mBLHzQaoA1dL6ohVLJGi+1uQj8XQMyHIMgaGT6eDxuozMkD294LRaB7CPI27DLHQSskSFRvGa30O/zndF4fF0DMhwa//9//iZ2DcILqN7xBHn1oUweNn7eJ3WO9QHvdMlrMsphKEj8XQPgpuHVVMtGOgF0hC9CGTqbb2kHOzXx73aKiuiymEv2x22ICMYYeWSALBQ7RQ0fkoZIr4DnRtS3ohzf1dNzTG9d0PcwMLahZO8UyKTMm38wteratSVtkplq4oWj0PcfrEinPhYg14H+hvdIwCVs1bvb6O+UBMYFGl90d0LRGLRDgoHEUwYnXDniQStocTVUwfPLaKQGA/RoWOmkvtnsaG8unK+PWMKlH5e+Lznp03N27RdO0TkxmYNZKszYBlyfI3RpjsQkmMOo8ls4Wsx1EKcEVAEvayyNoeRzsO2RI+93PNRLesGYtNpBhL4l/prlgZz5ob0mbtZVFhWC301d0EuQgAHPgS7D9hssTHKyMbRfLptF213NBDRuoaqxNA2yh2VUBDnxJ1M1yRW6gOgt2x64gqXK7ht1yOWyW1+wl7bYXvhUygQXgit4KuVDuBGzSbA2bmmtayNzpRgJOGu7XosHFChZzvrGTiUKt5UMiVsmbmtsCb3+2lZmwm3hFNsA/CiYdKyfhYx3Aws8urp8nsJM72naGCG8zYwZMecjk/WHVVRbsMwU6tBVQsWJS2sNDlrgVTO0RE/vzKQtuN2+/85k5PxlUaL75D3BZwKss+JUqSFRAO/F7Eqlkmj+2gbrgYE8rZFluu+P3pOGsyWCG/Y9/GR8exC+vYfc5flxgzRdDGsDEz/8AJsxwQcBUKPCtmKOMFJO8OKMgF8r3b3sKkAm69TN+2OZCAm5ID/g9XPypwX29ufWgudq0urrKes/8nPkxgy1bdg6z/or/SFc2mzV/xs+6HwySTmdYJp2dpaWKEregYrVfn9/B0xkD2U6+e+sOaHqImTfLrycUOIZM1hJwC3oemPXbi/y5PnsrJ136bUa8pxu69BklmANWwDRkgR1wmwVaglyi3Nz6JLQ+ZG5NxQsgNdAhmIfJN7wxgoWg9fxzPQ+c/g9YAIXgeUKCyipJO4uR/wswAOIwB/5IgxvbAAAAAElFTkSuQmCC\" alt=\"PHP logo\" /\u003e\u003c/a\u003e\u003ch1 class=\"p\"\u003ePHP Version 8.5.1\u003c/h1\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSystem \u003c/td\u003e\u003ctd class=\"v\"\u003eLinux 7b31b6af550e 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eBuild Date \u003c/td\u003e\u003ctd class=\"v\"\u003eJan 9 2026 22:31:44 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eBuild System \u003c/td\u003e\u003ctd class=\"v\"\u003eLinux - Docker \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eBuild Provider \u003c/td\u003e\u003ctd class=\"v\"\u003ehttps://github.com/docker-library/php \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eConfigure Command \u003c/td\u003e\u003ctd class=\"v\"\u003e \u0026#039;./configure\u0026#039; \u0026#039;--build=x86_64-linux-gnu\u0026#039; \u0026#039;--sysconfdir=/usr/local/etc\u0026#039; \u0026#039;--with-config-file-path=/usr/local/etc/php\u0026#039; \u0026#039;--with-config-file-scan-dir=/usr/local/etc/php/conf.d\u0026#039; \u0026#039;--enable-option-checking=fatal\u0026#039; \u0026#039;--with-mhash\u0026#039; \u0026#039;--with-pic\u0026#039; \u0026#039;--enable-mbstring\u0026#039; \u0026#039;--enable-mysqlnd\u0026#039; \u0026#039;--with-password-argon2\u0026#039; \u0026#039;--with-sodium=shared\u0026#039; \u0026#039;--with-pdo-sqlite=/usr\u0026#039; \u0026#039;--with-sqlite3=/usr\u0026#039; \u0026#039;--with-curl\u0026#039; \u0026#039;--with-iconv\u0026#039; \u0026#039;--with-openssl\u0026#039; \u0026#039;--with-readline\u0026#039; \u0026#039;--with-zlib\u0026#039; \u0026#039;--disable-phpdbg\u0026#039; \u0026#039;--with-pear\u0026#039; \u0026#039;--with-libdir=lib/x86_64-linux-gnu\u0026#039; \u0026#039;--disable-cgi\u0026#039; \u0026#039;--with-apxs2\u0026#039; \u0026#039;build_alias=x86_64-linux-gnu\u0026#039; \u0026#039;PHP_UNAME=Linux - Docker\u0026#039; \u0026#039;PHP_BUILD_PROVIDER=https://github.com/docker-library/php\u0026#039; \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eServer API \u003c/td\u003e\u003ctd class=\"v\"\u003eApache 2 Handler \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eVirtual Directory Support \u003c/td\u003e\u003ctd class=\"v\"\u003edisabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eConfiguration File (php.ini) Path \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/etc/php \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLoaded Configuration File \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html/php.ini \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eScan this dir for additional .ini files \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/etc/php/conf.d \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAdditional .ini files parsed \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,\n/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,\n/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,\n/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini\n \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP API \u003c/td\u003e\u003ctd class=\"v\"\u003e20250925 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Extension \u003c/td\u003e\u003ctd class=\"v\"\u003e20250925 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZend Extension \u003c/td\u003e\u003ctd class=\"v\"\u003e420250925 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZend Extension Build \u003c/td\u003e\u003ctd class=\"v\"\u003eAPI420250925,NTS \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Extension Build \u003c/td\u003e\u003ctd class=\"v\"\u003eAPI20250925,NTS \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Integer Size \u003c/td\u003e\u003ctd class=\"v\"\u003e64 bits \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDebug Build \u003c/td\u003e\u003ctd class=\"v\"\u003eno \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eThread Safety \u003c/td\u003e\u003ctd class=\"v\"\u003edisabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZend Signal Handling \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZend Memory Manager \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZend Multibyte Support \u003c/td\u003e\u003ctd class=\"v\"\u003eprovided by mbstring \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZend Max Execution Timers \u003c/td\u003e\u003ctd class=\"v\"\u003edisabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eIPv6 Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDTrace Support \u003c/td\u003e\u003ctd class=\"v\"\u003edisabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRegistered PHP Streams\u003c/td\u003e\u003ctd class=\"v\"\u003ehttps, ftps, compress.zlib, php, file, glob, data, http, ftp, phar\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRegistered Stream Socket Transports\u003c/td\u003e\u003ctd class=\"v\"\u003etcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRegistered Stream Filters\u003c/td\u003e\u003ctd class=\"v\"\u003ezlib.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"v\"\u003e\u003ctd\u003e\n\u003ca href=\"https://www.zend.com/\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAAvCAYAAADKH9ehAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAEWJJREFUeNrsXQl0VNUZvjNJSAgEAxHCGsNitSBFxB1l0boUW1pp3VAUrKLWKgUPUlEB13K0Yq1alaXWuh5EadWK1F0s1gJaoaCgQDRKBBJDVhKSzPR+zPfg5vLevCUzmZnwvnP+k8ybN3fevfff73/vBAJTHxc+khL5kr6T1ODk5nAgTRTWloghFVtEg/zfh2PkSvq9pJGSKiX9SdKittbJoD/PSYkrJD0vKeB4IsNNotfuUtHk/CM+IvijpF9KGiDpGEkLJZ3lC7qPeKKTpD9IWiDpUOfWPCi61ZeLvD2VIhTwp9QlTjK5NsIXdB/xxHmSpvD/OucWPSAyQw2+LfeG1SbXVra1Tqb785xUaNdMel0g7Iu5V1zPv6dJqpD0kKR/+ILuI55o8oeg1bFT0kWSOkraQxK+oPvw0TZR3ZY758foyQXf//ZxUFh0Q/GEfNf9gHkaJ6m7pHJJSyTt9tnXhxtBR2EGlnHCMbZMaHuHzX19JZ0u6VRJh0k6hM+BpMjnklZIelPSNhff3V5StkNlEWBMFm+3LcC+BW3GuZP2GvfmiEiCCMUzxZIKRGSt9zeML/fdGAW9JB3O8c6SlMZ+b5f0qaQiF7EpnieXY1auvZfG7zhSUk8RSS428F7M5xfsh1eAV/vxOzoq16sklZBqbdpo5H2qDPRQXoP3Ki0+20FSFyrZUgt+Rt/7KH2vZb8/t/iMG2Sy/0dI6sbvgHGoV8a3xErQb5Q0iTfHCplkzlkW7w+VNF3ST7QJUzFK0pVkDFiw+yV95uC7r5Z0k3CW2ApwIkrJ9B9IelfSh2SIlqC/pDFUZAVk0rQoMhk2GYswx+AtWvMKPtcyEckW37pPwsIHNAuBniDpYhEpBMmJwvibJL0gIlVh39r0C8UlczkXQ/mM6OtEzuf3RfPVAxUY47f5PStcGKPxpOMldbbxiBptPMavJX1PuQ/P/olyz12S7rD4PLyqBTQ8gyXVSOot6VK+dxR53wyl7POjkv7pkpcwpleJSCHP4eQjM0BB/ZuG4Hl9EO8mQx4ZQ0FfL+k+k+t4wNlULpkO24IGnSzpQklzKPDRAMvZ1eXz9uXfH/Pvx5Ie44C5zYQXUgDPj6LEnMCQ3AFkjjupjGF9/kJmxPw1oiquz+6dalXcCRSmYxwK0kDSRI71azb3Y+6GiMi6P/5ey3F3YpExjxdQoG61uX8gBetkh2OWFkUIVGUT1pS9yosZNu1nkl8uZH+mikhxkx1wz7mkB0WkXsKJFw1ZuSWKotY9wjNJS6mUy41JK5P0c2qCnBgIeQWZvEK7Dnf6WUljTT5TS7d0KwezkJShdWIeGeuKKJo7FktUQylcl0i6RtL/HH4OjP+wB0UTLTGHfubRDWyi1g7SaoZQ495z9w7RpaHKqHEfLeklEyWzk+7dl3TTu1KQCpV7+pBB4IWstFFAgvOpJnTL6DoW0xPbw3k/nIYkW+kbmHeXhUEABklazrBDBdzTDfyuBo5DPq1eoUk7ZbSk70l6n3MZjUdCDpQvMF/rezn7/hX7Xs8wsj/7rsrWdQxnZtrwwENUosJkDDZxTjOUkEH1ds6lzJyDZzGScRsonGNcMCIG+WgRKTRQ8Su2p7uRi/mlKjZKekREChS2KIOcTvfqp3RZDlM+cxnfv8Thc75Pt8kqo92VzNTbxBqcQlceivAdByHDIxbvFTMOLovyHAGGK3qc/jJDoDc4hpjABzBm4UAglBFqEAOqt8mB29ss4uJnNCHfSK/tVZMYEfMykt7Bcco1eDLDHCT8gmzzRdLHZL6wRSgzg6GIgVl8Xj2uhPA+oQn53yTdK2mVMC8NzuJ8zaSyM/ApxyzWCFJRvUQ3eQ29BTNFcRgt+FTl2g30zDZZtD/ZRMifE5ES6Y9MxqAHQ7XZikI9nd97j5p1f83GZTPr6Crt2sOcOB1zTYT8HrqjVRZx4wbSAt47SXn/YsZV9zp4zuvJgNGQRaszmoN1rBY6IH4dHiVHcA5dZd2zeIbPv8ZBkghYTQFTx/h1WvSz6c3kM5ewGG8Prvxc5DZWS2u+dypnM5Y3sIJMXmbxfXW0misZN56oxITnWsyl2fg+6+C+zWTefMWr68RwaYF271htHBZqCsKqL28wB/ACjYShrE9nUjfWmEU33A7woqbR4k5UlNk4yoYOzOHvtGs30KO1QgnlZC2VohGOIGn7WEvW0ZdoMeCHfBgdo8X++m3V+s2wEHKzJMblJom92+ne2SHDwT1gknUispPpJLrrVZqwLxTmy5F5jOdVS72F/b6UwlbrcEytrD00+a8l/ZUM82jEZd8peu8uNYS8JxNWqis5IYqQCy1rPUULh8Y7fOYal3zzmPb6aJN7zlf+32bBV9ESclNE85WUX4j4oNbl/fM1b2eoxX3jyXNqiDTP4Xe8Rm9ItfSjvAr6DM0d+o5MXW/CuHO0a7eZTLYT3KF9LktYZ/WdCI+IkoV+lFZ6l3J9OF14HdM0F3MrhXxFjJmqhh5FBera24XqxaCqL0UosK97Z2ku+yJaEqf4D62ByoROcjZuN78Xaa9zTBSzKvxvC+vlrmgWVPU2h4j4FCO5lZ+vNBnpYHHfOOX/PfR83eApTaGM8CLop5l88WSLWAOu4AiNme5owcBO1xhlLGO/eGAFkyYqrtFe5zKzqU7KBE5o/BAIiv7VJSK7qV4GhEF1XtSk0YseWl6lWYI+cXj6pigJLkH3Vk0qfebxe4q0JGOGSDxCWn/Nchk9qJgMfGKS87LDes1IHeVW0LszgaC6sPMYE5lBt4CzRcuy4lVMLKlWfWwcJ+YpxtcGjtOYfzRjTgNIlv0rnpyCveeHNFSJ/jUlonH/3nNYqyOU28qYhHOLbzVPqFc81JQDKxnQ5twLdmjfmQzlxU6eoZ/mma3y8D3VonlhUr6bElhMwJ81RseSxW+jfOYULdYGAw5s4WBtpeU0ijKwxnp/HCfn70piCNlMFEUU8/WpmnZe1Bq80r96m5yMkIwx9nnNHTWFs114q0ArM1HsiUY7j5/rKFIThdrrzR7agHyoy9vd3Ag64uEfKa+xjIKlLqtTUBB7FWgJrQ9joFl1d2cQ2wzHaeDXa6/ztO9Wx+OT+FrzSAKuV12ptOZp+ljnaVawk8uxDpnMZXYCGB3PXqe5sl7QQ5ubhhQR9B4mQpvjIR+gJgrbOxV0rK/rVUyXmyRWdI2a2YLEhVP3BwmN9sJ9BtQpKkxiSDOrUeUhaeQaPevKzKQ3oIVTSGatcynoRl29sIkh440a8pURNoz00Ab4Ts1obxCps1FKl8k5IpKbcmsgu6nz6ETQC+iSqoKKOPmVJBmYnDjHX4EozB9s7TgwykkyYS13URAHpmstYIloOP/HEi6Wx5a4+DwSpH2V18tTyHUPm3iQeS1s09ai4/0ntVgNRQmzHTRulGwaQNnei3FgHqPcMBEJlXrNioAaE8AcupKBd7ElBu1uTxCzg+dmKB4TahiQNX/OxssAb00Uzdeci4S3FYhEQdfkWCrc1cI2K+2EDhsP1OUxZGUnOWTmcgphV0UgZ4jUR1hLlBiuJfqJpb61CXimOrq8RqiEeu6TU3iMwdzYgWhUnWHDDKr0ptLar6USqmOfYYiGMMTUN/KgziGVTo+pNJHBBfF0zVAQc6N2DUL+tcO2Yc1Rk2ss+yBmOko43yCSCljJXAWA7PD4eAt6MBy2yiNACRvVVN05t40pPLYPsT+zlRDpOLG/Jt8OSGKhmnBpivV7q/Y6JkucVgkyWKb52rVZwl0tvNDi+AzRvKjfK1Dnjvpd1FhPEc1LBVsbqENXN35cFaPY2BIVGdlWYZKqgPPj/RythNtpcNycpoOxwAae0bGwhAkAQg01cfiDWDRqZtHhCqFQ5FAtOXKXh/Yh6Ci2N5YMUDW2SHg/N3scn02N++cnMIZCBdwS9gtApRxqDc6OlzWtSrdc8cJGlzP5fzZDri1tQNixISWL/5fSQvcVzfe/wzXfSG8Kuw03pHB/t5KMik+EYJ1EC1d0zCw6fofqRI2ZJwpvyxN4uPs0q/6UR2szyESobxatf3aa7jvfrT0DGPNpYV3H3CI0BYLGllQdy7TX14rUP/zzDHpuRp0EPLnJvH68Qij/RXnyIyku5Ea+5S3NO7s01q77eMY1qqY8T7Qs+4qtq+o2UWhjZO6HuWhjJBlZXWbAHvbFSTAxqMW+RbuG3VfviAP36tshujINh6Tr3kE0BNMl5x8Qq6+mVTdwrMlzpRrGaGPzVpw9NDNFngjoFZZzRCS/FRPXHRZT31X2MgfYTQYX1WE1moaaQJfKEFTs/camkXnUwt9YtNWPiuc67VmRlb0yiRgS/cAe7is0QXuTAm9kikM2DNc5OkeGRaMU8tq0TJHbUCOtezMeRfITiSv1PLLbGE5gb/NOB/1AuR1KlLETDltidyR4XIPasyEnc6eIbRa9kfNifFeXJOAnVJBiKfFCvobcLKccLHWojHJpIPH3iXQlpoNLrdcH44sucvmQOHHjZ9rDrGdbixVmbk/XGy4mtiKuoQDjmQpFJLs6wuSZvqKmL0ky6zOZLry+420UKUaue5ooyeqy9+iopgM989cp1Dcp16bSU1tOJbyFyjedTID5wOk6OAUFFXUDKFRLkmBM3xH7fzIJwPLsxexDMWP2b8g38DqN45ywCuH0VNuv+XmjwOYCjtUakbg6AkGlNoQGBMB5A9g8hh2g7zFE2U4F35FxfHfmwwbxcz3Yl32C/oAwPwDAS6UXdpOhXPZ27Trc9R/SLTla0zzGoXl2QAexnLVZJB/CZMpV7HthfL4lJIrb54u+tdv3/rCiSbw+k88yM9ZxXgKwlHmZycq13iSr0KeMHmUZw6r1VICrLT4D5fy4wq/5DAvfjaWC9oAd9KxwTNUJynUjL+EqpwSTME1zOWMBuIxmZ7p9RCsNq+NmdxW09I1MdNkJeYZNHsIt0qKEO2Z4kvmHadS+Xqv2cqzc93rpuhdl54tg2DISuJljBW3uZjMHrAPqHOYK6zPIM23G2+14Rts4cyLbdxo3Y667UskOo/W/m/PwRhQBwZFkT2vXzDbTtLMZCyfP1155bbfDrpjKZoYH41bO+d97jmEgMPVxFMF0iHESIkiNtDhKuwV058cw0dBZNP+lFsSU/6VWf0E4P/x+IF2eJnokr4uW/2jAKPYjjRb7Cxef70c3qsCl0im1Gj/Uu2eF6sWo0rUiTQq7zS+pYjywnXYwcyOZfI4mKgHj9N2ttHqbRfSlQXhjw5XXy4S7ZbzOovkxVRsphHp8ia3HlyleZS1zHcvoVrdjuNFdEe7edGHzSbpSria/WZ3+cxYV5DCx/4w7FUfyfTW0WO+i7x2YrzKUXZFw/sut+OxJDGkHUxEZPwgCquQcIgxZR9oXekDQk8FF60bqwocupaIoEz6EmaC3C+0Ro6Wgp4eb2tpPJqN+4xXFXQ3TfUfCc5PDNnLZDpLIV1NADKyjZa87mHgmWX57bYdIfIY3pdCGf43xQUXI62kBn3fZxi4SPC8crIjDQ4yzFAaz/XcPJn7xf03VRzIB5Z7qCbBzPQi5jga2E9bCD+ELug8ficEZCk/Cmj8Ro3aLtLxDR1/QffhIHNRTUZCf+S5G7SJBp2b7G31B9+EjcVAFEInZQ2LU7jiN1zf4gu7DR+KwTvkfO9bGx6BNnEQ8XXmN5cT3fEH34SNxwN4A9dgknIEwyWNbeRTwV7WYHBVwFQfbwKb7vOUjiYAiKVT1PczXqCLD/n5UbuLcNxTKoCgExSFNmsFCHI6iJBQFnUbqqbWPHyFceDAOrC/oPpIN+FVaVLrNUa6dLPbvoEQdO4pd1OUylBVkCutsOkqosbNvwcE6qL6g+0hG3MY4ejots1pT3kE4P9QDdfuLKeDfHswD6gu6j2TF2yQcLoqEGurre9EdP1QTfmxJRdn0NlrvD+jmY69Egz+UQvxfgAEALJ4EcRDa/toAAAAASUVORK5CYII=\" alt=\"Zend logo\" /\u003e\u003c/a\u003e\nThis program makes use of the Zend Scripting Language Engine:\u003cbr /\u003eZend Engine v4.5.1, Copyright (c) Zend Technologies\n with Zend OPcache v8.5.1, Copyright (c), by Zend Technologies\n\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003chr /\u003e\n\u003ch1\u003eConfiguration\u003c/h1\u003e\n\u003ch2\u003e\u003ca name=\"module_apache2handler\" href=\"#module_apache2handler\"\u003eapache2handler\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eApache Version \u003c/td\u003e\u003ctd class=\"v\"\u003eApache/2.4.65 (Debian) \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eApache API Version \u003c/td\u003e\u003ctd class=\"v\"\u003e20120211 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eServer Administrator \u003c/td\u003e\u003ctd class=\"v\"\u003ewebmaster@localhost \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHostname:Port \u003c/td\u003e\u003ctd class=\"v\"\u003e172.18.0.3:80 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eUser/Group \u003c/td\u003e\u003ctd class=\"v\"\u003ewww-data(33)/33 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMax Requests \u003c/td\u003e\u003ctd class=\"v\"\u003ePer Child: 0 - Keep Alive: on - Max Per Connection: 100 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eTimeouts \u003c/td\u003e\u003ctd class=\"v\"\u003eConnection: 300 - Keep-Alive: 5 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eVirtual Server \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eServer Root \u003c/td\u003e\u003ctd class=\"v\"\u003e/etc/apache2 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLoaded Modules \u003c/td\u003e\u003ctd class=\"v\"\u003ecore mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php mod_reqtimeout mod_rewrite mod_setenvif mod_status \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eengine\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elast_modified\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003exbithack\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003eApache Environment\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eVariable\u003c/th\u003e\u003cth\u003eValue\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP_HOST \u003c/td\u003e\u003ctd class=\"v\"\u003edvwa_dvwa_1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP_USER_AGENT \u003c/td\u003e\u003ctd class=\"v\"\u003eMozilla/5.0 (X11; Linux x86_64; rv:1.9.6.20) Gecko/ Firefox/3.6.17 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP_ACCEPT \u003c/td\u003e\u003ctd class=\"v\"\u003e*/* \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP_ACCEPT_LANGUAGE \u003c/td\u003e\u003ctd class=\"v\"\u003een \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP_ACCEPT_ENCODING \u003c/td\u003e\u003ctd class=\"v\"\u003egzip \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP_CONNECTION \u003c/td\u003e\u003ctd class=\"v\"\u003eclose \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePATH \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSERVER_SIGNATURE \u003c/td\u003e\u003ctd class=\"v\"\u003e\u0026lt;address\u0026gt;Apache/2.4.65 (Debian) Server at dvwa_dvwa_1 Port 80\u0026lt;/address\u0026gt;\n \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSERVER_SOFTWARE \u003c/td\u003e\u003ctd class=\"v\"\u003eApache/2.4.65 (Debian) \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSERVER_NAME \u003c/td\u003e\u003ctd class=\"v\"\u003edvwa_dvwa_1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSERVER_ADDR \u003c/td\u003e\u003ctd class=\"v\"\u003e172.18.0.3 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSERVER_PORT \u003c/td\u003e\u003ctd class=\"v\"\u003e80 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eREMOTE_ADDR \u003c/td\u003e\u003ctd class=\"v\"\u003e172.18.0.4 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDOCUMENT_ROOT \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eREQUEST_SCHEME \u003c/td\u003e\u003ctd class=\"v\"\u003ehttp \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCONTEXT_PREFIX \u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCONTEXT_DOCUMENT_ROOT \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSERVER_ADMIN \u003c/td\u003e\u003ctd class=\"v\"\u003ewebmaster@localhost \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSCRIPT_FILENAME \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html/phpinfo.php \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eREMOTE_PORT \u003c/td\u003e\u003ctd class=\"v\"\u003e48546 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGATEWAY_INTERFACE \u003c/td\u003e\u003ctd class=\"v\"\u003eCGI/1.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSERVER_PROTOCOL \u003c/td\u003e\u003ctd class=\"v\"\u003eHTTP/1.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eREQUEST_METHOD \u003c/td\u003e\u003ctd class=\"v\"\u003eGET \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eQUERY_STRING \u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eREQUEST_URI \u003c/td\u003e\u003ctd class=\"v\"\u003e//phpinfo.php \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSCRIPT_NAME \u003c/td\u003e\u003ctd class=\"v\"\u003e/phpinfo.php \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003eHTTP Headers Information\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth colspan=\"2\"\u003eHTTP Request Headers\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP Request \u003c/td\u003e\u003ctd class=\"v\"\u003eGET //phpinfo.php HTTP/1.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHost \u003c/td\u003e\u003ctd class=\"v\"\u003edvwa_dvwa_1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eUser-Agent \u003c/td\u003e\u003ctd class=\"v\"\u003eMozilla/5.0 (X11; Linux x86_64; rv:1.9.6.20) Gecko/ Firefox/3.6.17 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAccept \u003c/td\u003e\u003ctd class=\"v\"\u003e*/* \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAccept-Language \u003c/td\u003e\u003ctd class=\"v\"\u003een \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAccept-Encoding \u003c/td\u003e\u003ctd class=\"v\"\u003egzip \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eConnection \u003c/td\u003e\u003ctd class=\"v\"\u003eclose \u003c/td\u003e\u003c/tr\u003e\n\u003ctr class=\"h\"\u003e\u003cth colspan=\"2\"\u003eHTTP Response Headers\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eX-Powered-By \u003c/td\u003e\u003ctd class=\"v\"\u003ePHP/8.5.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSet-Cookie \u003c/td\u003e\u003ctd class=\"v\"\u003esecurity=low; path=/ \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSet-Cookie \u003c/td\u003e\u003ctd class=\"v\"\u003ePHPSESSID=56072347d8ff2f0bf48d4cc9f4d0bec1; expires=Tue, 13 Jan 2026 13:47:01 GMT; Max-Age=86400; path=/ \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eExpires \u003c/td\u003e\u003ctd class=\"v\"\u003eThu, 19 Nov 1981 08:52:00 GMT \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCache-Control \u003c/td\u003e\u003ctd class=\"v\"\u003eno-store, no-cache, must-revalidate \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePragma \u003c/td\u003e\u003ctd class=\"v\"\u003eno-cache \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_core\" href=\"#module_core\"\u003eCore\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Version \u003c/td\u003e\u003ctd class=\"v\"\u003e8.5.1 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eallow_url_fopen\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eallow_url_include\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003earg_separator.input\u003c/td\u003e\u003ctd class=\"v\"\u003e\u0026amp;\u003c/td\u003e\u003ctd class=\"v\"\u003e\u0026amp;\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003earg_separator.output\u003c/td\u003e\u003ctd class=\"v\"\u003e\u0026amp;\u003c/td\u003e\u003ctd class=\"v\"\u003e\u0026amp;\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eauto_append_file\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eauto_globals_jit\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eauto_prepend_file\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ebrowscap\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edefault_charset\u003c/td\u003e\u003ctd class=\"v\"\u003eUTF-8\u003c/td\u003e\u003ctd class=\"v\"\u003eUTF-8\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edefault_mimetype\u003c/td\u003e\u003ctd class=\"v\"\u003etext/html\u003c/td\u003e\u003ctd class=\"v\"\u003etext/html\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edisable_functions\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edisplay_errors\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edisplay_startup_errors\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edoc_root\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edocref_ext\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edocref_root\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eenable_dl\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eenable_post_data_reading\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eerror_append_string\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eerror_log\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eerror_log_mode\u003c/td\u003e\u003ctd class=\"v\"\u003e0644\u003c/td\u003e\u003ctd class=\"v\"\u003e0644\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eerror_prepend_string\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eerror_reporting\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eexpose_php\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eextension_dir\u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/lib/php/extensions/no-debug-non-zts-20250925\u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/lib/php/extensions/no-debug-non-zts-20250925\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efatal_error_backtraces\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efiber.stack_size\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efile_uploads\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehard_timeout\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehighlight.comment\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #FF8000\"\u003e#FF8000\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #FF8000\"\u003e#FF8000\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehighlight.default\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #0000BB\"\u003e#0000BB\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #0000BB\"\u003e#0000BB\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehighlight.html\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #000000\"\u003e#000000\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #000000\"\u003e#000000\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehighlight.keyword\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #007700\"\u003e#007700\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #007700\"\u003e#007700\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehighlight.string\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #DD0000\"\u003e#DD0000\u003c/span\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003cspan style=\"color: #DD0000\"\u003e#DD0000\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehtml_errors\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eignore_repeated_errors\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eignore_repeated_source\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eignore_user_abort\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eimplicit_flush\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003einclude_path\u003c/td\u003e\u003ctd class=\"v\"\u003e.:/usr/local/lib/php\u003c/td\u003e\u003ctd class=\"v\"\u003e.:/usr/local/lib/php\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003einput_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003einternal_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elog_errors\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003email.add_x_header\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003email.cr_lf_mode\u003c/td\u003e\u003ctd class=\"v\"\u003ecrlf\u003c/td\u003e\u003ctd class=\"v\"\u003ecrlf\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003email.force_extra_parameters\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003email.log\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003email.mixed_lf_and_crlf\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emax_execution_time\u003c/td\u003e\u003ctd class=\"v\"\u003e30\u003c/td\u003e\u003ctd class=\"v\"\u003e30\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emax_file_uploads\u003c/td\u003e\u003ctd class=\"v\"\u003e20\u003c/td\u003e\u003ctd class=\"v\"\u003e20\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emax_input_nesting_level\u003c/td\u003e\u003ctd class=\"v\"\u003e64\u003c/td\u003e\u003ctd class=\"v\"\u003e64\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emax_input_time\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emax_input_vars\u003c/td\u003e\u003ctd class=\"v\"\u003e1000\u003c/td\u003e\u003ctd class=\"v\"\u003e1000\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emax_memory_limit\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emax_multipart_body_parts\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ememory_limit\u003c/td\u003e\u003ctd class=\"v\"\u003e128M\u003c/td\u003e\u003ctd class=\"v\"\u003e128M\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopen_basedir\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eoutput_buffering\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eoutput_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eoutput_handler\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003epost_max_size\u003c/td\u003e\u003ctd class=\"v\"\u003e8M\u003c/td\u003e\u003ctd class=\"v\"\u003e8M\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eprecision\u003c/td\u003e\u003ctd class=\"v\"\u003e14\u003c/td\u003e\u003ctd class=\"v\"\u003e14\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003erealpath_cache_size\u003c/td\u003e\u003ctd class=\"v\"\u003e4096K\u003c/td\u003e\u003ctd class=\"v\"\u003e4096K\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003erealpath_cache_ttl\u003c/td\u003e\u003ctd class=\"v\"\u003e120\u003c/td\u003e\u003ctd class=\"v\"\u003e120\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eregister_argc_argv\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ereport_memleaks\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ereport_zend_debug\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003erequest_order\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esendmail_from\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esendmail_path\u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/sbin/sendmail -t -i\u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/sbin/sendmail -t -i\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eserialize_precision\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eshort_open_tag\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSMTP\u003c/td\u003e\u003ctd class=\"v\"\u003elocalhost\u003c/td\u003e\u003ctd class=\"v\"\u003elocalhost\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esmtp_port\u003c/td\u003e\u003ctd class=\"v\"\u003e25\u003c/td\u003e\u003ctd class=\"v\"\u003e25\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esys_temp_dir\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esyslog.facility\u003c/td\u003e\u003ctd class=\"v\"\u003eLOG_USER\u003c/td\u003e\u003ctd class=\"v\"\u003eLOG_USER\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esyslog.filter\u003c/td\u003e\u003ctd class=\"v\"\u003eno-ctrl\u003c/td\u003e\u003ctd class=\"v\"\u003eno-ctrl\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esyslog.ident\u003c/td\u003e\u003ctd class=\"v\"\u003ephp\u003c/td\u003e\u003ctd class=\"v\"\u003ephp\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eunserialize_callback_func\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eupload_max_filesize\u003c/td\u003e\u003ctd class=\"v\"\u003e2M\u003c/td\u003e\u003ctd class=\"v\"\u003e2M\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eupload_tmp_dir\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003euser_dir\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003euser_ini.cache_ttl\u003c/td\u003e\u003ctd class=\"v\"\u003e300\u003c/td\u003e\u003ctd class=\"v\"\u003e300\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003euser_ini.filename\u003c/td\u003e\u003ctd class=\"v\"\u003e.user.ini\u003c/td\u003e\u003ctd class=\"v\"\u003e.user.ini\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003evariables_order\u003c/td\u003e\u003ctd class=\"v\"\u003eEGPCS\u003c/td\u003e\u003ctd class=\"v\"\u003eEGPCS\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003exmlrpc_error_number\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003exmlrpc_errors\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.assertions\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.detect_unicode\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.enable_gc\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.exception_ignore_args\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.exception_string_param_max_len\u003c/td\u003e\u003ctd class=\"v\"\u003e15\u003c/td\u003e\u003ctd class=\"v\"\u003e15\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.max_allowed_stack_size\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.multibyte\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.reserved_stack_size\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.script_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezend.signal_check\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_ctype\" href=\"#module_ctype\"\u003ectype\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ectype functions \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_curl\" href=\"#module_curl\"\u003ecurl\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ecURL support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ecURL Information \u003c/td\u003e\u003ctd class=\"v\"\u003e8.14.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAge \u003c/td\u003e\u003ctd class=\"v\"\u003e11 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFeatures \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAsynchDNS \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCharConv \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDebug \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGSS-Negotiate \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eIDN \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eIPv6 \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ekrb4 \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLargefile \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibz \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eNTLM \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eNTLMWB \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSPNEGO \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSSL \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSSPI \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eTLS-SRP \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP2 \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGSSAPI \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eKERBEROS5 \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eUNIX_SOCKETS \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePSL \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTPS_PROXY \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMULTI_SSL \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eBROTLI \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eALTSVC \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP3 \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eUNICODE \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZSTD \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHSTS \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGSASL \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eProtocols \u003c/td\u003e\u003ctd class=\"v\"\u003edict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtmpe, rtmps, rtmpt, rtmpte, rtmpts, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp, ws, wss \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHost \u003c/td\u003e\u003ctd class=\"v\"\u003ex86_64-pc-linux-gnu \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSSL Version \u003c/td\u003e\u003ctd class=\"v\"\u003eOpenSSL/3.5.4 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZLib Version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.3.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibSSH Version \u003c/td\u003e\u003ctd class=\"v\"\u003elibssh2/1.11.1 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ecurl.cainfo\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_date\" href=\"#module_date\"\u003edate\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edate/time support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003etimelib version \u003c/td\u003e\u003ctd class=\"v\"\u003e2022.14 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e\u0026quot;Olson\u0026quot; Timezone Database Version \u003c/td\u003e\u003ctd class=\"v\"\u003e2025.2 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eTimezone Database \u003c/td\u003e\u003ctd class=\"v\"\u003einternal \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDefault timezone \u003c/td\u003e\u003ctd class=\"v\"\u003eUTC \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edate.default_latitude\u003c/td\u003e\u003ctd class=\"v\"\u003e31.7667\u003c/td\u003e\u003ctd class=\"v\"\u003e31.7667\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edate.default_longitude\u003c/td\u003e\u003ctd class=\"v\"\u003e35.2333\u003c/td\u003e\u003ctd class=\"v\"\u003e35.2333\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edate.sunrise_zenith\u003c/td\u003e\u003ctd class=\"v\"\u003e90.833333\u003c/td\u003e\u003ctd class=\"v\"\u003e90.833333\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edate.sunset_zenith\u003c/td\u003e\u003ctd class=\"v\"\u003e90.833333\u003c/td\u003e\u003ctd class=\"v\"\u003e90.833333\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edate.timezone\u003c/td\u003e\u003ctd class=\"v\"\u003eUTC\u003c/td\u003e\u003ctd class=\"v\"\u003eUTC\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_dom\" href=\"#module_dom\"\u003edom\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDOM/XML \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDOM/XML API Version \u003c/td\u003e\u003ctd class=\"v\"\u003e20031129 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibxml Version \u003c/td\u003e\u003ctd class=\"v\"\u003e2.9.14 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTML Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXPath Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXPointer Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSchema Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRelaxNG Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_fileinfo\" href=\"#module_fileinfo\"\u003efileinfo\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efileinfo support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibmagic \u003c/td\u003e\u003ctd class=\"v\"\u003e5.46 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_filter\" href=\"#module_filter\"\u003efilter\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eInput Validation and Filtering \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efilter.default\u003c/td\u003e\u003ctd class=\"v\"\u003eunsafe_raw\u003c/td\u003e\u003ctd class=\"v\"\u003eunsafe_raw\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efilter.default_flags\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_gd\" href=\"#module_gd\"\u003egd\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGD Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGD Version \u003c/td\u003e\u003ctd class=\"v\"\u003ebundled (2.1.0 compatible) \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFreeType Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFreeType Linkage \u003c/td\u003e\u003ctd class=\"v\"\u003ewith freetype \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFreeType Version \u003c/td\u003e\u003ctd class=\"v\"\u003e2.13.3 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGIF Read Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGIF Create Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eJPEG Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibJPEG Version \u003c/td\u003e\u003ctd class=\"v\"\u003e6b \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePNG Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibPNG Version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.6.48 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eWBMP Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXBM Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eBMP Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eTGA Read Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003egd.jpeg_ignore_warning\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_hash\" href=\"#module_hash\"\u003ehash\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ehash support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHashing Engines \u003c/td\u003e\u003ctd class=\"v\"\u003emd2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat murmur3a murmur3c murmur3f xxh32 xxh64 xxh3 xxh128 haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMHASH support \u003c/td\u003e\u003ctd class=\"v\"\u003eEnabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMHASH API Version \u003c/td\u003e\u003ctd class=\"v\"\u003eEmulated Support \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_iconv\" href=\"#module_iconv\"\u003eiconv\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eiconv support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eiconv implementation \u003c/td\u003e\u003ctd class=\"v\"\u003eglibc \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eiconv library version \u003c/td\u003e\u003ctd class=\"v\"\u003e2.41 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eiconv.input_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eiconv.internal_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eiconv.output_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_json\" href=\"#module_json\"\u003ejson\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ejson support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_lexbor\" href=\"#module_lexbor\"\u003elexbor\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLexbor support \u003c/td\u003e\u003ctd class=\"v\"\u003eactive \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLexbor version \u003c/td\u003e\u003ctd class=\"v\"\u003e2.5.0 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_libxml\" href=\"#module_libxml\"\u003elibxml\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibXML support \u003c/td\u003e\u003ctd class=\"v\"\u003eactive \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibXML Compiled Version \u003c/td\u003e\u003ctd class=\"v\"\u003e2.9.14 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibXML Loaded Version \u003c/td\u003e\u003ctd class=\"v\"\u003e20914 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibXML streams \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_mbstring\" href=\"#module_mbstring\"\u003embstring\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMultibyte Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMultibyte string engine \u003c/td\u003e\u003ctd class=\"v\"\u003elibmbfl \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHTTP input encoding translation \u003c/td\u003e\u003ctd class=\"v\"\u003edisabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibmbfl version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.3.2 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003embstring extension makes use of \"streamable kanji code filter and converter\", which is distributed under the GNU Lesser General Public License version 2.1.\u003c/th\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMultibyte (japanese) regex support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMultibyte regex (oniguruma) version \u003c/td\u003e\u003ctd class=\"v\"\u003e6.9.9 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.detect_order\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.encoding_translation\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.http_input\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.http_output\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.http_output_conv_mimetypes\u003c/td\u003e\u003ctd class=\"v\"\u003e^(text/|application/xhtml\\+xml)\u003c/td\u003e\u003ctd class=\"v\"\u003e^(text/|application/xhtml\\+xml)\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.internal_encoding\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.language\u003c/td\u003e\u003ctd class=\"v\"\u003eneutral\u003c/td\u003e\u003ctd class=\"v\"\u003eneutral\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.regex_retry_limit\u003c/td\u003e\u003ctd class=\"v\"\u003e1000000\u003c/td\u003e\u003ctd class=\"v\"\u003e1000000\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.regex_stack_limit\u003c/td\u003e\u003ctd class=\"v\"\u003e100000\u003c/td\u003e\u003ctd class=\"v\"\u003e100000\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.strict_detection\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003embstring.substitute_character\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_mysqli\" href=\"#module_mysqli\"\u003emysqli\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMysqlI Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eClient API library version \u003c/td\u003e\u003ctd class=\"v\"\u003emysqlnd 8.5.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eActive Persistent Links \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eInactive Persistent Links \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eActive Links \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.allow_local_infile\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.allow_persistent\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.default_host\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.default_port\u003c/td\u003e\u003ctd class=\"v\"\u003e3306\u003c/td\u003e\u003ctd class=\"v\"\u003e3306\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.default_pw\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.default_socket\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.default_user\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.local_infile_directory\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.max_links\u003c/td\u003e\u003ctd class=\"v\"\u003eUnlimited\u003c/td\u003e\u003ctd class=\"v\"\u003eUnlimited\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.max_persistent\u003c/td\u003e\u003ctd class=\"v\"\u003eUnlimited\u003c/td\u003e\u003ctd class=\"v\"\u003eUnlimited\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqli.rollback_on_cached_plink\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_mysqlnd\" href=\"#module_mysqlnd\"\u003emysqlnd\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003emysqlnd \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eVersion \u003c/td\u003e\u003ctd class=\"v\"\u003emysqlnd 8.5.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCompression \u003c/td\u003e\u003ctd class=\"v\"\u003esupported \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ecore SSL \u003c/td\u003e\u003ctd class=\"v\"\u003esupported \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eextended SSL \u003c/td\u003e\u003ctd class=\"v\"\u003esupported \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCommand buffer size \u003c/td\u003e\u003ctd class=\"v\"\u003e4096 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRead buffer size \u003c/td\u003e\u003ctd class=\"v\"\u003e32768 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRead timeout \u003c/td\u003e\u003ctd class=\"v\"\u003e86400 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCollecting statistics \u003c/td\u003e\u003ctd class=\"v\"\u003eYes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCollecting memory statistics \u003c/td\u003e\u003ctd class=\"v\"\u003eNo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eTracing \u003c/td\u003e\u003ctd class=\"v\"\u003en/a \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLoaded plugins \u003c/td\u003e\u003ctd class=\"v\"\u003emysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPI Extensions \u003c/td\u003e\u003ctd class=\"v\"\u003emysqli,pdo_mysql \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_openssl\" href=\"#module_openssl\"\u003eopenssl\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOpenSSL support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOpenSSL Library Version \u003c/td\u003e\u003ctd class=\"v\"\u003eOpenSSL 3.5.4 30 Sep 2025 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOpenSSL Header Version \u003c/td\u003e\u003ctd class=\"v\"\u003eOpenSSL 3.5.4 30 Sep 2025 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOpenssl default config \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/lib/ssl/openssl.cnf \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopenssl.cafile\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopenssl.capath\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopenssl.libctx\u003c/td\u003e\u003ctd class=\"v\"\u003ecustom\u003c/td\u003e\u003ctd class=\"v\"\u003ecustom\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_pcre\" href=\"#module_pcre\"\u003epcre\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePCRE (Perl Compatible Regular Expressions) Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePCRE Library Version \u003c/td\u003e\u003ctd class=\"v\"\u003e10.44 2024-06-07 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePCRE Unicode Version \u003c/td\u003e\u003ctd class=\"v\"\u003e15.0.0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePCRE JIT Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePCRE JIT Target \u003c/td\u003e\u003ctd class=\"v\"\u003ex86 64bit (little endian + unaligned) \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003epcre.backtrack_limit\u003c/td\u003e\u003ctd class=\"v\"\u003e1000000\u003c/td\u003e\u003ctd class=\"v\"\u003e1000000\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003epcre.jit\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003epcre.recursion_limit\u003c/td\u003e\u003ctd class=\"v\"\u003e100000\u003c/td\u003e\u003ctd class=\"v\"\u003e100000\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_pdo\" href=\"#module_pdo\"\u003ePDO\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePDO support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePDO drivers \u003c/td\u003e\u003ctd class=\"v\"\u003esqlite, mysql \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_pdo_mysql\" href=\"#module_pdo_mysql\"\u003epdo_mysql\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePDO Driver for MySQL \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eClient API version \u003c/td\u003e\u003ctd class=\"v\"\u003emysqlnd 8.5.1 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003epdo_mysql.default_socket\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_pdo_sqlite\" href=\"#module_pdo_sqlite\"\u003epdo_sqlite\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePDO Driver for SQLite 3.x \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSQLite Library \u003c/td\u003e\u003ctd class=\"v\"\u003e3.46.1 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_phar\" href=\"#module_phar\"\u003ePhar\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePhar: PHP Archive support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePhar API version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.1.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePhar-based phar archives \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eTar-based phar archives \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZIP-based phar archives \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003egzip compression \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ebzip2 compression \u003c/td\u003e\u003ctd class=\"v\"\u003edisabled (install ext/bz2) \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eNative OpenSSL support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"v\"\u003e\u003ctd\u003e\nPhar based on pear/PHP_Archive, original concept by Davey Shafik.\u003cbr /\u003ePhar fully realized by Gregory Beaver and Marcus Boerger.\u003cbr /\u003ePortions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ephar.cache_list\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ephar.readonly\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ephar.require_hash\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_posix\" href=\"#module_posix\"\u003eposix\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePOSIX support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_random\" href=\"#module_random\"\u003erandom\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eVersion \u003c/td\u003e\u003ctd class=\"v\"\u003e8.5.1 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_reflection\" href=\"#module_reflection\"\u003eReflection\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eReflection \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_session\" href=\"#module_session\"\u003esession\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSession Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRegistered save handlers \u003c/td\u003e\u003ctd class=\"v\"\u003efiles user \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eRegistered serializer handlers \u003c/td\u003e\u003ctd class=\"v\"\u003ephp_serialize php php_binary \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.auto_start\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cache_expire\u003c/td\u003e\u003ctd class=\"v\"\u003e180\u003c/td\u003e\u003ctd class=\"v\"\u003e180\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cache_limiter\u003c/td\u003e\u003ctd class=\"v\"\u003enocache\u003c/td\u003e\u003ctd class=\"v\"\u003enocache\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cookie_domain\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cookie_httponly\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cookie_lifetime\u003c/td\u003e\u003ctd class=\"v\"\u003e86400\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cookie_partitioned\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cookie_path\u003c/td\u003e\u003ctd class=\"v\"\u003e/\u003c/td\u003e\u003ctd class=\"v\"\u003e/\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cookie_samesite\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.cookie_secure\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.gc_divisor\u003c/td\u003e\u003ctd class=\"v\"\u003e100\u003c/td\u003e\u003ctd class=\"v\"\u003e100\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.gc_maxlifetime\u003c/td\u003e\u003ctd class=\"v\"\u003e1440\u003c/td\u003e\u003ctd class=\"v\"\u003e1440\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.gc_probability\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.lazy_write\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.name\u003c/td\u003e\u003ctd class=\"v\"\u003ePHPSESSID\u003c/td\u003e\u003ctd class=\"v\"\u003ePHPSESSID\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.referer_check\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.save_handler\u003c/td\u003e\u003ctd class=\"v\"\u003efiles\u003c/td\u003e\u003ctd class=\"v\"\u003efiles\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.save_path\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.serialize_handler\u003c/td\u003e\u003ctd class=\"v\"\u003ephp\u003c/td\u003e\u003ctd class=\"v\"\u003ephp\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.sid_bits_per_character\u003c/td\u003e\u003ctd class=\"v\"\u003e4\u003c/td\u003e\u003ctd class=\"v\"\u003e4\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.sid_length\u003c/td\u003e\u003ctd class=\"v\"\u003e32\u003c/td\u003e\u003ctd class=\"v\"\u003e32\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.upload_progress.cleanup\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.upload_progress.enabled\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.upload_progress.freq\u003c/td\u003e\u003ctd class=\"v\"\u003e1%\u003c/td\u003e\u003ctd class=\"v\"\u003e1%\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.upload_progress.min_freq\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.upload_progress.name\u003c/td\u003e\u003ctd class=\"v\"\u003ePHP_SESSION_UPLOAD_PROGRESS\u003c/td\u003e\u003ctd class=\"v\"\u003ePHP_SESSION_UPLOAD_PROGRESS\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.upload_progress.prefix\u003c/td\u003e\u003ctd class=\"v\"\u003eupload_progress_\u003c/td\u003e\u003ctd class=\"v\"\u003eupload_progress_\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.use_cookies\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.use_only_cookies\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.use_strict_mode\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.use_trans_sid\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_simplexml\" href=\"#module_simplexml\"\u003eSimpleXML\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSimpleXML support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSchema support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_sodium\" href=\"#module_sodium\"\u003esodium\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esodium support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibsodium headers version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.0.18 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibsodium library version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.0.18 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_spl\" href=\"#module_spl\"\u003eSPL\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSPL support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eInterfaces \u003c/td\u003e\u003ctd class=\"v\"\u003eOuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eClasses \u003c/td\u003e\u003ctd class=\"v\"\u003eAppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_sqlite3\" href=\"#module_sqlite3\"\u003esqlite3\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSQLite3 support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSQLite Library \u003c/td\u003e\u003ctd class=\"v\"\u003e3.46.1 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esqlite3.defensive\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esqlite3.extension_dir\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_standard\" href=\"#module_standard\"\u003estandard\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDynamic Library Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePath to sendmail \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/sbin/sendmail -t -i \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eassert.active\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eassert.bail\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eassert.callback\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eassert.exception\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eassert.warning\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eauto_detect_line_endings\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003edefault_socket_timeout\u003c/td\u003e\u003ctd class=\"v\"\u003e60\u003c/td\u003e\u003ctd class=\"v\"\u003e60\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efrom\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.trans_sid_hosts\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003esession.trans_sid_tags\u003c/td\u003e\u003ctd class=\"v\"\u003ea=href,area=href,frame=src,form=\u003c/td\u003e\u003ctd class=\"v\"\u003ea=href,area=href,frame=src,form=\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eunserialize_max_depth\u003c/td\u003e\u003ctd class=\"v\"\u003e4096\u003c/td\u003e\u003ctd class=\"v\"\u003e4096\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eurl_rewriter.hosts\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eurl_rewriter.tags\u003c/td\u003e\u003ctd class=\"v\"\u003eform=\u003c/td\u003e\u003ctd class=\"v\"\u003eform=\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003euser_agent\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_tokenizer\" href=\"#module_tokenizer\"\u003etokenizer\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eTokenizer Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_uri\" href=\"#module_uri\"\u003euri\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eURI support \u003c/td\u003e\u003ctd class=\"v\"\u003eactive \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003euriparser bundled version \u003c/td\u003e\u003ctd class=\"v\"\u003e0.9.9 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_xml\" href=\"#module_xml\"\u003exml\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXML Support \u003c/td\u003e\u003ctd class=\"v\"\u003eactive \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXML Namespace Support \u003c/td\u003e\u003ctd class=\"v\"\u003eactive \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elibxml2 Version \u003c/td\u003e\u003ctd class=\"v\"\u003e2.9.14 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_xmlreader\" href=\"#module_xmlreader\"\u003exmlreader\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXMLReader \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_xmlwriter\" href=\"#module_xmlwriter\"\u003exmlwriter\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXMLWriter \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_zend+opcache\" href=\"#module_zend+opcache\"\u003eZend OPcache\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOpcode Caching \u003c/td\u003e\u003ctd class=\"v\"\u003eUp and Running \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOptimization \u003c/td\u003e\u003ctd class=\"v\"\u003eEnabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSHM Cache \u003c/td\u003e\u003ctd class=\"v\"\u003eEnabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFile Cache \u003c/td\u003e\u003ctd class=\"v\"\u003eDisabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eJIT \u003c/td\u003e\u003ctd class=\"v\"\u003eDisabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eStartup \u003c/td\u003e\u003ctd class=\"v\"\u003eOK \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eShared memory model \u003c/td\u003e\u003ctd class=\"v\"\u003emmap \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCache hits \u003c/td\u003e\u003ctd class=\"v\"\u003e10912 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCache misses \u003c/td\u003e\u003ctd class=\"v\"\u003e6 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eUsed memory \u003c/td\u003e\u003ctd class=\"v\"\u003e9251744 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFree memory \u003c/td\u003e\u003ctd class=\"v\"\u003e124965984 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eWasted memory \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eInterned Strings Used memory \u003c/td\u003e\u003ctd class=\"v\"\u003e2442736 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eInterned Strings Free memory \u003c/td\u003e\u003ctd class=\"v\"\u003e5945872 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCached scripts \u003c/td\u003e\u003ctd class=\"v\"\u003e6 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCached keys \u003c/td\u003e\u003ctd class=\"v\"\u003e8 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMax keys \u003c/td\u003e\u003ctd class=\"v\"\u003e16229 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOOM restarts \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHash keys restarts \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eManual restarts \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eStart time \u003c/td\u003e\u003ctd class=\"v\"\u003e2026-01-12T13:17:03+0000 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLast restart time \u003c/td\u003e\u003ctd class=\"v\"\u003enone \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLast force restart time \u003c/td\u003e\u003ctd class=\"v\"\u003enone \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.blacklist_filename\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.dups_fix\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.enable\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.enable_cli\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.enable_file_override\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.error_log\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.file_cache\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.file_cache_consistency_checks\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.file_cache_only\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.file_cache_read_only\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.file_update_protection\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.force_restart_timeout\u003c/td\u003e\u003ctd class=\"v\"\u003e180\u003c/td\u003e\u003ctd class=\"v\"\u003e180\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.huge_code_pages\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.interned_strings_buffer\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit\u003c/td\u003e\u003ctd class=\"v\"\u003edisable\u003c/td\u003e\u003ctd class=\"v\"\u003edisable\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_bisect_limit\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_blacklist_root_trace\u003c/td\u003e\u003ctd class=\"v\"\u003e16\u003c/td\u003e\u003ctd class=\"v\"\u003e16\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_blacklist_side_trace\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_buffer_size\u003c/td\u003e\u003ctd class=\"v\"\u003e64M\u003c/td\u003e\u003ctd class=\"v\"\u003e64M\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_debug\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_hot_func\u003c/td\u003e\u003ctd class=\"v\"\u003e127\u003c/td\u003e\u003ctd class=\"v\"\u003e127\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_hot_loop\u003c/td\u003e\u003ctd class=\"v\"\u003e61\u003c/td\u003e\u003ctd class=\"v\"\u003e61\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_hot_return\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_hot_side_exit\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_exit_counters\u003c/td\u003e\u003ctd class=\"v\"\u003e8192\u003c/td\u003e\u003ctd class=\"v\"\u003e8192\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_loop_unrolls\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003ctd class=\"v\"\u003e8\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_polymorphic_calls\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_recursive_calls\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_recursive_returns\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_root_traces\u003c/td\u003e\u003ctd class=\"v\"\u003e1024\u003c/td\u003e\u003ctd class=\"v\"\u003e1024\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_side_traces\u003c/td\u003e\u003ctd class=\"v\"\u003e128\u003c/td\u003e\u003ctd class=\"v\"\u003e128\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_max_trace_length\u003c/td\u003e\u003ctd class=\"v\"\u003e1024\u003c/td\u003e\u003ctd class=\"v\"\u003e1024\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.jit_prof_threshold\u003c/td\u003e\u003ctd class=\"v\"\u003e0.005\u003c/td\u003e\u003ctd class=\"v\"\u003e0.005\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.lockfile_path\u003c/td\u003e\u003ctd class=\"v\"\u003e/tmp\u003c/td\u003e\u003ctd class=\"v\"\u003e/tmp\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.log_verbosity_level\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003ctd class=\"v\"\u003e1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.max_accelerated_files\u003c/td\u003e\u003ctd class=\"v\"\u003e10000\u003c/td\u003e\u003ctd class=\"v\"\u003e10000\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.max_file_size\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.max_wasted_percentage\u003c/td\u003e\u003ctd class=\"v\"\u003e5\u003c/td\u003e\u003ctd class=\"v\"\u003e5\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.memory_consumption\u003c/td\u003e\u003ctd class=\"v\"\u003e128\u003c/td\u003e\u003ctd class=\"v\"\u003e128\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.opt_debug_level\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.optimization_level\u003c/td\u003e\u003ctd class=\"v\"\u003e0x7FFEBFFF\u003c/td\u003e\u003ctd class=\"v\"\u003e0x7FFEBFFF\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.preferred_memory_model\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.preload\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.preload_user\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.protect_memory\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.record_warnings\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.restrict_api\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.revalidate_freq\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003ctd class=\"v\"\u003e2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.revalidate_path\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.save_comments\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.use_cwd\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.validate_permission\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.validate_root\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eopcache.validate_timestamps\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003ctd class=\"v\"\u003eOn\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003e\u003ca name=\"module_zlib\" href=\"#module_zlib\"\u003ezlib\u003c/a\u003e\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZLib Support \u003c/td\u003e\u003ctd class=\"v\"\u003eenabled \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eStream Wrapper \u003c/td\u003e\u003ctd class=\"v\"\u003ecompress.zlib:// \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eStream Filter \u003c/td\u003e\u003ctd class=\"v\"\u003ezlib.inflate, zlib.deflate \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCompiled Version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.3.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLinked Version \u003c/td\u003e\u003ctd class=\"v\"\u003e1.3.1 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eDirective\u003c/th\u003e\u003cth\u003eLocal Value\u003c/th\u003e\u003cth\u003eMaster Value\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezlib.output_compression\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003ctd class=\"v\"\u003eOff\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezlib.output_compression_level\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003ctd class=\"v\"\u003e-1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ezlib.output_handler\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003eAdditional Modules\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eModule Name\u003c/th\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003eEnvironment\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eVariable\u003c/th\u003e\u003cth\u003eValue\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eHOSTNAME \u003c/td\u003e\u003ctd class=\"v\"\u003e7b31b6af550e \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_VERSION \u003c/td\u003e\u003ctd class=\"v\"\u003e8.5.1 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_CONFDIR \u003c/td\u003e\u003ctd class=\"v\"\u003e/etc/apache2 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_INI_DIR \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/etc/php \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGPG_KEYS \u003c/td\u003e\u003ctd class=\"v\"\u003e1198C0117593497A5EC5C199286AF1F9897469DC 49D9AF6BC72A80D6691719C8AA23F5BE9C7097D4 D95C03BC702BE9515344AE3374E44BC9067701A5 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_LDFLAGS \u003c/td\u003e\u003ctd class=\"v\"\u003e-Wl,-O1 -pie \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePWD \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_LOG_DIR \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/log/apache2 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLANG \u003c/td\u003e\u003ctd class=\"v\"\u003eC \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_SHA256 \u003c/td\u003e\u003ctd class=\"v\"\u003e3f5bf99ce81201f526d25e288eddb2cfa111d068950d1e9a869530054ff98815 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_PID_FILE \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/run/apache2/apache2.pid \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHPIZE_DEPS \u003c/td\u003e\u003ctd class=\"v\"\u003eautoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_URL \u003c/td\u003e\u003ctd class=\"v\"\u003ehttps://www.php.net/distributions/php-8.5.1.tar.xz \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_RUN_GROUP \u003c/td\u003e\u003ctd class=\"v\"\u003ewww-data \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_LOCK_DIR \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/lock/apache2 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSHLVL \u003c/td\u003e\u003ctd class=\"v\"\u003e0 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_CFLAGS \u003c/td\u003e\u003ctd class=\"v\"\u003e-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_RUN_DIR \u003c/td\u003e\u003ctd class=\"v\"\u003e/var/run/apache2 \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_ENVVARS \u003c/td\u003e\u003ctd class=\"v\"\u003e/etc/apache2/envvars \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDB_SERVER \u003c/td\u003e\u003ctd class=\"v\"\u003edb \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAPACHE_RUN_USER \u003c/td\u003e\u003ctd class=\"v\"\u003ewww-data \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePATH \u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_ASC_URL \u003c/td\u003e\u003ctd class=\"v\"\u003ehttps://www.php.net/distributions/php-8.5.1.tar.xz.asc \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP_CPPFLAGS \u003c/td\u003e\u003ctd class=\"v\"\u003e-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003ePHP Variables\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eVariable\u003c/th\u003e\u003cth\u003eValue\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_COOKIE['security']\u003c/td\u003e\u003ctd class=\"v\"\u003elow\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['HTTP_HOST']\u003c/td\u003e\u003ctd class=\"v\"\u003edvwa_dvwa_1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['HTTP_USER_AGENT']\u003c/td\u003e\u003ctd class=\"v\"\u003eMozilla/5.0 (X11; Linux x86_64; rv:1.9.6.20) Gecko/ Firefox/3.6.17\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['HTTP_ACCEPT']\u003c/td\u003e\u003ctd class=\"v\"\u003e*/*\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['HTTP_ACCEPT_LANGUAGE']\u003c/td\u003e\u003ctd class=\"v\"\u003een\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['HTTP_ACCEPT_ENCODING']\u003c/td\u003e\u003ctd class=\"v\"\u003egzip\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['HTTP_CONNECTION']\u003c/td\u003e\u003ctd class=\"v\"\u003eclose\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['PATH']\u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SERVER_SIGNATURE']\u003c/td\u003e\u003ctd class=\"v\"\u003e\u0026lt;address\u0026gt;Apache/2.4.65 (Debian) Server at dvwa_dvwa_1 Port 80\u0026lt;/address\u0026gt;\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SERVER_SOFTWARE']\u003c/td\u003e\u003ctd class=\"v\"\u003eApache/2.4.65 (Debian)\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SERVER_NAME']\u003c/td\u003e\u003ctd class=\"v\"\u003edvwa_dvwa_1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SERVER_ADDR']\u003c/td\u003e\u003ctd class=\"v\"\u003e172.18.0.3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SERVER_PORT']\u003c/td\u003e\u003ctd class=\"v\"\u003e80\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['REMOTE_ADDR']\u003c/td\u003e\u003ctd class=\"v\"\u003e172.18.0.4\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['DOCUMENT_ROOT']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['REQUEST_SCHEME']\u003c/td\u003e\u003ctd class=\"v\"\u003ehttp\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['CONTEXT_PREFIX']\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['CONTEXT_DOCUMENT_ROOT']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SERVER_ADMIN']\u003c/td\u003e\u003ctd class=\"v\"\u003ewebmaster@localhost\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SCRIPT_FILENAME']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html/phpinfo.php\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['REMOTE_PORT']\u003c/td\u003e\u003ctd class=\"v\"\u003e48546\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['GATEWAY_INTERFACE']\u003c/td\u003e\u003ctd class=\"v\"\u003eCGI/1.1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SERVER_PROTOCOL']\u003c/td\u003e\u003ctd class=\"v\"\u003eHTTP/1.1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['REQUEST_METHOD']\u003c/td\u003e\u003ctd class=\"v\"\u003eGET\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['QUERY_STRING']\u003c/td\u003e\u003ctd class=\"v\"\u003e\u003ci\u003eno value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['REQUEST_URI']\u003c/td\u003e\u003ctd class=\"v\"\u003e//phpinfo.php\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['SCRIPT_NAME']\u003c/td\u003e\u003ctd class=\"v\"\u003e/phpinfo.php\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['PHP_SELF']\u003c/td\u003e\u003ctd class=\"v\"\u003e/phpinfo.php\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['REQUEST_TIME_FLOAT']\u003c/td\u003e\u003ctd class=\"v\"\u003e1768225621.7152\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_SERVER['REQUEST_TIME']\u003c/td\u003e\u003ctd class=\"v\"\u003e1768225621\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['HOSTNAME']\u003c/td\u003e\u003ctd class=\"v\"\u003e7b31b6af550e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_VERSION']\u003c/td\u003e\u003ctd class=\"v\"\u003e8.5.1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_CONFDIR']\u003c/td\u003e\u003ctd class=\"v\"\u003e/etc/apache2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_INI_DIR']\u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/etc/php\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['GPG_KEYS']\u003c/td\u003e\u003ctd class=\"v\"\u003e1198C0117593497A5EC5C199286AF1F9897469DC 49D9AF6BC72A80D6691719C8AA23F5BE9C7097D4 D95C03BC702BE9515344AE3374E44BC9067701A5\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_LDFLAGS']\u003c/td\u003e\u003ctd class=\"v\"\u003e-Wl,-O1 -pie\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PWD']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/www/html\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_LOG_DIR']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/log/apache2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['LANG']\u003c/td\u003e\u003ctd class=\"v\"\u003eC\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_SHA256']\u003c/td\u003e\u003ctd class=\"v\"\u003e3f5bf99ce81201f526d25e288eddb2cfa111d068950d1e9a869530054ff98815\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_PID_FILE']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/run/apache2/apache2.pid\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHPIZE_DEPS']\u003c/td\u003e\u003ctd class=\"v\"\u003eautoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_URL']\u003c/td\u003e\u003ctd class=\"v\"\u003ehttps://www.php.net/distributions/php-8.5.1.tar.xz\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_RUN_GROUP']\u003c/td\u003e\u003ctd class=\"v\"\u003ewww-data\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_LOCK_DIR']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/lock/apache2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['SHLVL']\u003c/td\u003e\u003ctd class=\"v\"\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_CFLAGS']\u003c/td\u003e\u003ctd class=\"v\"\u003e-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_RUN_DIR']\u003c/td\u003e\u003ctd class=\"v\"\u003e/var/run/apache2\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_ENVVARS']\u003c/td\u003e\u003ctd class=\"v\"\u003e/etc/apache2/envvars\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['DB_SERVER']\u003c/td\u003e\u003ctd class=\"v\"\u003edb\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['APACHE_RUN_USER']\u003c/td\u003e\u003ctd class=\"v\"\u003ewww-data\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PATH']\u003c/td\u003e\u003ctd class=\"v\"\u003e/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_ASC_URL']\u003c/td\u003e\u003ctd class=\"v\"\u003ehttps://www.php.net/distributions/php-8.5.1.tar.xz.asc\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003e$_ENV['PHP_CPPFLAGS']\u003c/td\u003e\u003ctd class=\"v\"\u003e-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003chr /\u003e\n\u003ch1\u003ePHP Credits\u003c/h1\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003ePHP Group\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eThies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eLanguage Design \u0026amp; Concept\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAndi Gutmans, Rasmus Lerdorf, Zeev Suraski, Marcus Boerger \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth colspan=\"2\"\u003ePHP Authors\u003c/th\u003e\u003c/tr\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eContribution\u003c/th\u003e\u003cth\u003eAuthors\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZend Scripting Language Engine \u003c/td\u003e\u003ctd class=\"v\"\u003eAndi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eExtension Module API \u003c/td\u003e\u003ctd class=\"v\"\u003eAndi Gutmans, Zeev Suraski, Andrei Zmievski \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eUNIX Build and Modularization \u003c/td\u003e\u003ctd class=\"v\"\u003eStig Bakken, Sascha Schumann, Jani Taskinen, Peter Kokot \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eWindows Support \u003c/td\u003e\u003ctd class=\"v\"\u003eShane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski, Kalle Sommer Nielsen \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eServer API (SAPI) Abstraction Layer \u003c/td\u003e\u003ctd class=\"v\"\u003eAndi Gutmans, Shane Caraveo, Zeev Suraski \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eStreams Abstraction Layer \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong, Sara Golemon \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Data Objects Layer \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOutput Handler \u003c/td\u003e\u003ctd class=\"v\"\u003eZeev Suraski, Thies C. Arntzen, Marcus Boerger, Michael Wallner \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eConsistent 64 bit support \u003c/td\u003e\u003ctd class=\"v\"\u003eAnthony Ferrara, Anatol Belski \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth colspan=\"2\"\u003eSAPI Modules\u003c/th\u003e\u003c/tr\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eContribution\u003c/th\u003e\u003cth\u003eAuthors\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eApache 2 Handler \u003c/td\u003e\u003ctd class=\"v\"\u003eIan Holsman, Justin Erenkrantz (based on Apache 2 Filter code) \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCGI / FastCGI \u003c/td\u003e\u003ctd class=\"v\"\u003eRasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCLI \u003c/td\u003e\u003ctd class=\"v\"\u003eEdin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eEmbed \u003c/td\u003e\u003ctd class=\"v\"\u003eEdin Kadribasic \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFastCGI Process Manager \u003c/td\u003e\u003ctd class=\"v\"\u003eAndrei Nigmatulin, dreamcat4, Antony Dovgal, Jerome Loyet \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003elitespeed \u003c/td\u003e\u003ctd class=\"v\"\u003eGeorge Wang \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ephpdbg \u003c/td\u003e\u003ctd class=\"v\"\u003eFelipe Pena, Joe Watkins, Bob Weinand \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth colspan=\"2\"\u003eModule Authors\u003c/th\u003e\u003c/tr\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003eModule\u003c/th\u003e\u003cth\u003eAuthors\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eBC Math \u003c/td\u003e\u003ctd class=\"v\"\u003eAndi Gutmans \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eBzip2 \u003c/td\u003e\u003ctd class=\"v\"\u003eSterling Hughes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCalendar \u003c/td\u003e\u003ctd class=\"v\"\u003eShane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eCOM and .Net \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ectype \u003c/td\u003e\u003ctd class=\"v\"\u003eHartmut Holzgraefe \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ecURL \u003c/td\u003e\u003ctd class=\"v\"\u003eSterling Hughes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDate/Time Support \u003c/td\u003e\u003ctd class=\"v\"\u003eDerick Rethans \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDB-LIB (MS SQL, Sybase) \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong, Frank M. Kromann, Adam Baratz \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDBA \u003c/td\u003e\u003ctd class=\"v\"\u003eSascha Schumann, Marcus Boerger \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eDOM \u003c/td\u003e\u003ctd class=\"v\"\u003eChristian Stocker, Rob Richards, Marcus Boerger, Niels Dossche \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eenchant \u003c/td\u003e\u003ctd class=\"v\"\u003ePierre-Alain Joye, Ilia Alshanetsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eEXIF \u003c/td\u003e\u003ctd class=\"v\"\u003eRasmus Lerdorf, Marcus Boerger \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFFI \u003c/td\u003e\u003ctd class=\"v\"\u003eDmitry Stogov \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003efileinfo \u003c/td\u003e\u003ctd class=\"v\"\u003eIlia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans, Anatol Belski \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFirebird driver for PDO \u003c/td\u003e\u003ctd class=\"v\"\u003eArd Biesheuvel \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eFTP \u003c/td\u003e\u003ctd class=\"v\"\u003eStefan Esser, Andrew Skalski \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGD imaging \u003c/td\u003e\u003ctd class=\"v\"\u003eRasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger, Mark Randall \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGetText \u003c/td\u003e\u003ctd class=\"v\"\u003eAlex Plotnick \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eGNU GMP support \u003c/td\u003e\u003ctd class=\"v\"\u003eStanislav Malyshev \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eIconv \u003c/td\u003e\u003ctd class=\"v\"\u003eRui Hirokawa, Stig Bakken, Moriyoshi Koizumi \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eInput Filter \u003c/td\u003e\u003ctd class=\"v\"\u003eRasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eInternationalization \u003c/td\u003e\u003ctd class=\"v\"\u003eEd Batutis, Vladimir Iordanov, Dmitry Lakhtyuk, Stanislav Malyshev, Vadim Savchuk, Kirti Velankar \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eJSON \u003c/td\u003e\u003ctd class=\"v\"\u003eJakub Zelenka, Omar Kilani, Scott MacVicar \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLDAP \u003c/td\u003e\u003ctd class=\"v\"\u003eAmitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eLIBXML \u003c/td\u003e\u003ctd class=\"v\"\u003eChristian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMultibyte String Functions \u003c/td\u003e\u003ctd class=\"v\"\u003eTsukada Takuya, Rui Hirokawa \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMySQL driver for PDO \u003c/td\u003e\u003ctd class=\"v\"\u003eGeorge Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMySQLi \u003c/td\u003e\u003ctd class=\"v\"\u003eZak Greant, Georg Richter, Andrey Hristov, Ulf Wendel \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eMySQLnd \u003c/td\u003e\u003ctd class=\"v\"\u003eAndrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eODBC driver for PDO \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eODBC \u003c/td\u003e\u003ctd class=\"v\"\u003eStig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOpcache \u003c/td\u003e\u003ctd class=\"v\"\u003eAndi Gutmans, Zeev Suraski, Stanislav Malyshev, Dmitry Stogov, Xinchen Hui \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOpenSSL \u003c/td\u003e\u003ctd class=\"v\"\u003eStig Venaas, Wez Furlong, Sascha Kettler, Scott MacVicar, Eliot Lear \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003epcntl \u003c/td\u003e\u003ctd class=\"v\"\u003eJason Greene, Arnaud Le Blanc \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePerl Compatible Regexps \u003c/td\u003e\u003ctd class=\"v\"\u003eAndrei Zmievski \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Archive \u003c/td\u003e\u003ctd class=\"v\"\u003eGregory Beaver, Marcus Boerger \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Data Objects \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP hash \u003c/td\u003e\u003ctd class=\"v\"\u003eSara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner, Scott MacVicar \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePosix \u003c/td\u003e\u003ctd class=\"v\"\u003eKristian Koehntopp \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePostgreSQL driver for PDO \u003c/td\u003e\u003ctd class=\"v\"\u003eEdin Kadribasic, Ilia Alshanetsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePostgreSQL \u003c/td\u003e\u003ctd class=\"v\"\u003eJouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003erandom \u003c/td\u003e\u003ctd class=\"v\"\u003eGo Kudo, Tim Düsterhus, Guilliam Xavier, Christoph M. Becker, Jakub Zelenka, Bob Weinand, Máté Kocsis, and Original RNG implementators \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eReadline \u003c/td\u003e\u003ctd class=\"v\"\u003eThies C. Arntzen \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eReflection \u003c/td\u003e\u003ctd class=\"v\"\u003eMarcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSessions \u003c/td\u003e\u003ctd class=\"v\"\u003eSascha Schumann, Andrei Zmievski \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eShared Memory Operations \u003c/td\u003e\u003ctd class=\"v\"\u003eSlava Poliakov, Ilia Alshanetsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSimpleXML \u003c/td\u003e\u003ctd class=\"v\"\u003eSterling Hughes, Marcus Boerger, Rob Richards \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSNMP \u003c/td\u003e\u003ctd class=\"v\"\u003eRasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne, Boris Lytochkin \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSOAP \u003c/td\u003e\u003ctd class=\"v\"\u003eBrad Lafountain, Shane Caraveo, Dmitry Stogov \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSockets \u003c/td\u003e\u003ctd class=\"v\"\u003eChris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSodium \u003c/td\u003e\u003ctd class=\"v\"\u003eFrank Denis \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSPL \u003c/td\u003e\u003ctd class=\"v\"\u003eMarcus Boerger, Etienne Kneuss \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSQLite 3.x driver for PDO \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSQLite3 \u003c/td\u003e\u003ctd class=\"v\"\u003eScott MacVicar, Ilia Alshanetsky, Brad Dewar \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSystem V Message based IPC \u003c/td\u003e\u003ctd class=\"v\"\u003eWez Furlong \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSystem V Semaphores \u003c/td\u003e\u003ctd class=\"v\"\u003eTom May \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eSystem V Shared Memory \u003c/td\u003e\u003ctd class=\"v\"\u003eChristian Cartus \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003etidy \u003c/td\u003e\u003ctd class=\"v\"\u003eJohn Coggeshall, Ilia Alshanetsky \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003etokenizer \u003c/td\u003e\u003ctd class=\"v\"\u003eAndrei Zmievski, Johannes Schlueter \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003euri \u003c/td\u003e\u003ctd class=\"v\"\u003eMáté Kocsis, Tim Düsterhus, Ignace Nyamagana Butera, Arnaud Le Blanc, Dennis Snell, Niels Dossche, Nicolas Grekas \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXML \u003c/td\u003e\u003ctd class=\"v\"\u003eStig Bakken, Thies C. Arntzen, Sterling Hughes \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXMLReader \u003c/td\u003e\u003ctd class=\"v\"\u003eRob Richards \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXMLWriter \u003c/td\u003e\u003ctd class=\"v\"\u003eRob Richards, Pierre-Alain Joye \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eXSL \u003c/td\u003e\u003ctd class=\"v\"\u003eChristian Stocker, Rob Richards \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZip \u003c/td\u003e\u003ctd class=\"v\"\u003ePierre-Alain Joye, Remi Collet \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eZlib \u003c/td\u003e\u003ctd class=\"v\"\u003eRasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti, Michael Wallner \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth colspan=\"2\"\u003ePHP Documentation\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eAuthors \u003c/td\u003e\u003ctd class=\"v\"\u003eMehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eEditor \u003c/td\u003e\u003ctd class=\"v\"\u003ePeter Cowburn \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eUser Note Maintainers \u003c/td\u003e\u003ctd class=\"v\"\u003eDaniel P. Brown, Thiago Henrique Pojda \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eOther Contributors \u003c/td\u003e\u003ctd class=\"v\"\u003ePreviously active authors, editors and other contributors are listed in the manual. \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth\u003ePHP Quality Assurance Team\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eIlia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ctable\u003e\n\u003ctr class=\"h\"\u003e\u003cth colspan=\"2\"\u003eWebsites and Infrastructure team\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003ePHP Websites Team \u003c/td\u003e\u003ctd class=\"v\"\u003eRasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eEvent Maintainers \u003c/td\u003e\u003ctd class=\"v\"\u003eDamien Seguy, Daniel P. Brown \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eNetwork Infrastructure \u003c/td\u003e\u003ctd class=\"v\"\u003eDaniel P. Brown \u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd class=\"e\"\u003eWindows Infrastructure \u003c/td\u003e\u003ctd class=\"v\"\u003eAlex Schoenmaker \u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003ch2\u003ePHP License\u003c/h2\u003e\n\u003ctable\u003e\n\u003ctr class=\"v\"\u003e\u003ctd\u003e\n\u003cp\u003e\nThis program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE\n\u003c/p\u003e\n\u003cp\u003eThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\u003c/p\u003e\n\u003cp\u003eIf you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.\n\u003c/p\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003c/div\u003e\u003c/body\u003e\u003c/html\u003e","meta":{"paths":"/phpinfo.php"},"ip":"172.18.0.3","timestamp":"2026-01-12T13:47:01.735199288Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.6.20) Gecko/ Firefox/3.6.17' 'http://dvwa_dvwa_1//phpinfo.php'","matcher-status":true} +{"template":"http/misconfiguration/cookies-without-httponly.yaml","template-url":"https://cloud.projectdiscovery.io/public/cookies-without-httponly","template-id":"cookies-without-httponly","template-path":"/root/nuclei-templates/http/misconfiguration/cookies-without-httponly.yaml","info":{"name":"Cookies without HttpOnly attribute - Detect","author":["rj coleman","mr.bobo hp"],"tags":["misconfig","http","cookie","generic","vuln"],"description":"Checks whether cookies in the HTTP response contain the HttpOnly attribute. If the HttpOnly flag is set, it means that the cookie is HTTP-only\n","impact":"Lack of HttpOnly flag on cookies increases the risk of client-side attacks, compromising user session security and data privacy.\n","reference":["https://owasp.org/www-community/HttpOnly"],"severity":"info","metadata":{"verified":true,"max-request":1},"classification":{"cve-id":null,"cwe-id":null,"cvss-metrics":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"},"remediation":"Ensure that all cookies are set with the HttpOnly attribute to prevent client-side access.\n"},"type":"javascript","port":"80","url":"/http://dvwa_dvwa_1/","extracted-results":["security","PHPSESSID"],"request":"content = template.http_all_headers\nconst setCookieLines = content\n .split(/\\r\\n/)\n .filter(line =\u003e line.trim().toLowerCase().startsWith('set-cookie:'));\n\nconst nonHttpOnlyCookies = setCookieLines.filter(line =\u003e !line.toLowerCase().includes('httponly'));\n\nconst cookieNames = nonHttpOnlyCookies.map(line =\u003e {\n const match = line.match(/set-cookie:\\s*([^=]+)=/i);\n return match ? match[1] : null;\n}).filter(Boolean);\ncookieNames","response":"[security PHPSESSID]","timestamp":"2026-01-12T13:47:04.763761407Z","matcher-status":true} +{"template":"http/misconfiguration/cookies-without-secure.yaml","template-url":"https://cloud.projectdiscovery.io/public/cookies-without-secure","template-id":"cookies-without-secure","template-path":"/root/nuclei-templates/http/misconfiguration/cookies-without-secure.yaml","info":{"name":"Cookies without Secure attribute - Detect","author":["vthiery","rj coleman"],"tags":["misconfig","http","cookie","generic","vuln"],"description":"Checks whether cookies in the HTTP response contain the Secure attribute. If the Secure flag is set, it means that the cookie can only be transmitted over HTTPS\n","impact":"Lack of Secure flag on cookies allows the cookie to be sent over unsecure HTTP, making it vulnerable to man-in-the-middle (MITM) attacks.\n","reference":["https://owasp.org/www-community/controls/SecureCookieAttribute"],"severity":"info","metadata":{"verified":true,"max-request":1},"classification":{"cve-id":null,"cwe-id":null,"cvss-metrics":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"},"remediation":"Ensure that all cookies are set with the Secure attribute to prevent MITM attacks.\n"},"type":"javascript","port":"80","url":"/http://dvwa_dvwa_1/","extracted-results":["PHPSESSID","security"],"request":"content = template.http_all_headers\nconst setCookieLines = content\n .split(/\\r\\n/)\n .filter(line =\u003e line.trim().toLowerCase().startsWith('set-cookie:'));\nconst nonSecureCookies = setCookieLines.filter(line =\u003e !line.toLowerCase().includes('secure'));\nconst cookieNames = nonSecureCookies.map(line =\u003e {\n const match = line.match(/set-cookie:\\s*([^=]+)=/i);\n return match ? match[1] : null;\n}).filter(Boolean);\ncookieNames","response":"[security PHPSESSID]","timestamp":"2026-01-12T13:47:04.765888864Z","matcher-status":true} +{"template":"http/technologies/waf-detect.yaml","template-url":"https://cloud.projectdiscovery.io/public/waf-detect","template-id":"waf-detect","template-path":"/root/nuclei-templates/http/technologies/waf-detect.yaml","info":{"name":"WAF Detection","author":["dwisiswant0","lu4nx"],"tags":["waf","tech","misc","discovery"],"description":"A web application firewall was detected.","reference":["https://github.com/Ekultek/WhatWaf"],"severity":"info","metadata":{"max-request":1},"classification":{"cve-id":null,"cwe-id":["cwe-200"]}},"matcher-name":"apachegeneric","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"POST / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:137.0) Gecko/20100101 Firefox/137.0\r\nConnection: close\r\nContent-Length: 27\r\nContent-Type: application/x-www-form-urlencoded\r\nAccept-Encoding: gzip\r\n\r\n_=\u003cscript\u003ealert(1)\u003c/script\u003e","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:11 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=4255855046715a020e740fd6c5982eea; expires=Tue, 13 Jan 2026 13:47:11 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:11.742834986Z","curl-command":"curl -X 'POST' -d '_=\u003cscript\u003ealert(1)\u003c/script\u003e' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Host: dvwa_dvwa_1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:137.0) Gecko/20100101 Firefox/137.0' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/exposures/configs/git-config.yaml","template-url":"https://cloud.projectdiscovery.io/public/git-config","template-id":"git-config","template-path":"/root/nuclei-templates/http/exposures/configs/git-config.yaml","info":{"name":"Git Configuration - Detect","author":["pdteam","pikpikcu","mah3sec_","m4lwhere"],"tags":["config","git","exposure","vuln"],"description":"Git configuration was detected via the pattern /.git/config and log file on passed URLs.","severity":"medium","metadata":{"max-request":1},"classification":{"cve-id":null,"cwe-id":["cwe-200"],"cvss-metrics":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","cvss-score":5.3}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/.git/config","request":"GET /.git/config HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Kubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 262\r\nAccept-Ranges: bytes\r\nDate: Mon, 12 Jan 2026 13:47:33 GMT\r\nEtag: \"106-6483095a42fb8\"\r\nLast-Modified: Mon, 12 Jan 2026 13:09:26 GMT\r\nServer: Apache/2.4.65 (Debian)\r\n\r\n[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = false\n\tlogallrefupdates = true\n[remote \"origin\"]\n\turl = https://github.com/digininja/DVWA.git\n\tfetch = +refs/heads/*:refs/remotes/origin/*\n[branch \"master\"]\n\tremote = origin\n\tmerge = refs/heads/master\n","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:33.728029983Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Kubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/.git/config'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"strict-transport-security","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.701166695Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"x-frame-options","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.701369092Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"x-content-type-options","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.701534333Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"x-permitted-cross-domain-policies","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.701888075Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"referrer-policy","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.702078854Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"clear-site-data","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.702230178Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"cross-origin-embedder-policy","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.702425323Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"content-security-policy","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.702707634Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"permissions-policy","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.702920568Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"cross-origin-opener-policy","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.703104437Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/http-missing-security-headers.yaml","template-url":"https://cloud.projectdiscovery.io/public/http-missing-security-headers","template-id":"http-missing-security-headers","template-path":"/root/nuclei-templates/http/misconfiguration/http-missing-security-headers.yaml","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass","jub0bs","userdehghani"],"tags":["misconfig","headers","generic","vuln"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","severity":"info","metadata":{"max-request":1}},"matcher-name":"cross-origin-resource-policy","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:37 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=e093b997948f1ac1dcb798e12a607bc1; expires=Tue, 13 Jan 2026 13:47:37 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:37.703319933Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/misconfiguration/missing-cookie-samesite-strict.yaml","template-url":"https://cloud.projectdiscovery.io/public/missing-cookie-samesite-strict","template-id":"missing-cookie-samesite-strict","template-path":"/root/nuclei-templates/http/misconfiguration/missing-cookie-samesite-strict.yaml","info":{"name":"Missing Cookie SameSite Strict","author":["lucky0x0d","pulsesecurity.co.nz"],"tags":["misconfig","samesite","cookie","vuln"],"description":"Identified cookies that lacked the samesite=strict attribute, which prevented enforcement of restrictions on cross-domain cookie transmission.\n","reference":["https://pulsesecurity.co.nz/articles/samesite-lax-csrf"],"severity":"info","metadata":{"verified":true,"max-request":1},"classification":{"cve-id":null,"cwe-id":["cwe-693"],"cvss-metrics":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","extracted-results":["security=low; path=/ PHPSESSID=90af3b3f9792ec373da1611de12e09a8; expires=Tue, 13 Jan 2026 13:47:44 GMT; Max-Age=86400; path=/"],"request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:44 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=90af3b3f9792ec373da1611de12e09a8; expires=Tue, 13 Jan 2026 13:47:44 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:44.89826522Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/technologies/tech-detect.yaml","template-url":"https://cloud.projectdiscovery.io/public/tech-detect","template-id":"tech-detect","template-path":"/root/nuclei-templates/http/technologies/tech-detect.yaml","info":{"name":"Wappalyzer Technology Detection","author":["hakluke","righettod","matejsmycka"],"tags":["tech","discovery"],"severity":"info","metadata":{"max-request":1}},"matcher-name":"php","type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:44 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=90af3b3f9792ec373da1611de12e09a8; expires=Tue, 13 Jan 2026 13:47:44 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:44.943049534Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/exposures/configs/exposed-gitignore.yaml","template-url":"https://cloud.projectdiscovery.io/public/exposed-gitignore","template-id":"exposed-gitignore","template-path":"/root/nuclei-templates/http/exposures/configs/exposed-gitignore.yaml","info":{"name":"Gitignore Config - Detect","author":["thezakman","geeknik"],"tags":["exposure","tenable","config","git","vuln"],"description":"Gitignore configuration information was detected.","reference":["https://twitter.com/pratiky9967/status/1230001391701086208","https://www.tenable.com/plugins/was/98595"],"severity":"info","metadata":{"max-request":3},"classification":{"cve-id":null,"cwe-id":["cwe-200"],"cvss-metrics":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/.gitignore","request":"GET /.gitignore HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 293\r\nAccept-Ranges: bytes\r\nDate: Mon, 12 Jan 2026 13:47:46 GMT\r\nEtag: \"125-6483095a43784\"\r\nLast-Modified: Mon, 12 Jan 2026 13:09:26 GMT\r\nServer: Apache/2.4.65 (Debian)\r\n\r\n# Neither the config file or its backup should go\n# into the repo.\nconfig/config.inc.php.bak\nconfig/config.inc.php\n\n# Vim swap files\n.*swp\n\n# VS Code editor files\n*.code-workspace\n\n# Used by pytest\ntests/__pycache__/\n\n# Don't include any uploaded images\nhackable/uploads/*\n.DS_Store\n.DS_Store\n","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:46.707550872Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/.gitignore'","matcher-status":true} +{"template":"http/exposures/configs/dockerfile-hidden-disclosure.yaml","template-url":"https://cloud.projectdiscovery.io/public/dockerfile-hidden-disclosure","template-id":"dockerfile-hidden-disclosure","template-path":"/root/nuclei-templates/http/exposures/configs/dockerfile-hidden-disclosure.yaml","info":{"name":"Dockerfile - Detect","author":["dhiyaneshdk"],"tags":["exposure","config","vuln"],"description":"Dockerfile was detected.","reference":["https://github.com/detectify/ugly-duckling/blob/master/modules/crowdsourced/dockerfile-hidden-disclosure.json"],"severity":"medium","metadata":{"max-request":3},"classification":{"cve-id":null,"cwe-id":["cwe-200"],"cvss-metrics":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","cvss-score":5.3}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/Dockerfile","request":"GET /Dockerfile HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 1014\r\nAccept-Ranges: bytes\r\nDate: Mon, 12 Jan 2026 13:47:48 GMT\r\nEtag: \"3f6-6483095a43784\"\r\nLast-Modified: Mon, 12 Jan 2026 13:09:26 GMT\r\nServer: Apache/2.4.65 (Debian)\r\n\r\nFROM docker.io/library/php:8-apache\n\nLABEL org.opencontainers.image.source=https://github.com/digininja/DVWA\nLABEL org.opencontainers.image.description=\"DVWA pre-built image.\"\nLABEL org.opencontainers.image.licenses=\"gpl-3.0\"\n\nWORKDIR /var/www/html\n\n# https://www.php.net/manual/en/image.installation.php\nRUN apt-get update \\\n \u0026\u0026 export DEBIAN_FRONTEND=noninteractive \\\n \u0026\u0026 apt-get install -y zlib1g-dev libpng-dev libjpeg-dev libfreetype6-dev iputils-ping git \\\n \u0026\u0026 apt-get clean -y \u0026\u0026 rm -rf /var/lib/apt/lists/* \\\n \u0026\u0026 docker-php-ext-configure gd --with-jpeg --with-freetype \\\n \u0026\u0026 a2enmod rewrite \\\n # Use pdo_sqlite instead of pdo_mysql if you want to use sqlite\n \u0026\u0026 docker-php-ext-install gd mysqli pdo pdo_mysql\n\nCOPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer\nCOPY --chown=www-data:www-data . .\nCOPY --chown=www-data:www-data config/config.inc.php.dist config/config.inc.php\n\n# This is configuring the stuff for the API\nRUN cd /var/www/html/vulnerabilities/api \\\n \u0026\u0026 composer install \\\n","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:48.702201321Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/Dockerfile'","matcher-status":true} +{"template":"http/miscellaneous/robots-txt-endpoint.yaml","template-url":"https://cloud.projectdiscovery.io/public/robots-txt-endpoint","template-id":"robots-txt-endpoint","template-path":"/root/nuclei-templates/http/miscellaneous/robots-txt-endpoint.yaml","info":{"name":"robots.txt endpoint prober","author":["caspergn","pdteam","thezakman"],"tags":["miscellaneous","misc","generic","discovery"],"severity":"info","metadata":{"max-request":1,"verified":true}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/robots.txt","request":"GET /robots.txt HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ko-KR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 25\r\nAccept-Ranges: bytes\r\nContent-Type: text/plain\r\nDate: Mon, 12 Jan 2026 13:47:50 GMT\r\nEtag: \"19-6483095a456b3\"\r\nLast-Modified: Mon, 12 Jan 2026 13:09:26 GMT\r\nServer: Apache/2.4.65 (Debian)\r\n\r\nUser-agent: *\nDisallow: /","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:50.690173834Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ko-KR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27' 'http://dvwa_dvwa_1/robots.txt'","matcher-status":true} +{"template":"http/technologies/apache/apache-detect.yaml","template-url":"https://cloud.projectdiscovery.io/public/apache-detect","template-id":"apache-detect","template-path":"/root/nuclei-templates/http/technologies/apache/apache-detect.yaml","info":{"name":"Apache Detection","author":["philippedelteil"],"tags":["tech","apache","discovery"],"description":"Some Apache servers have the version on the response header. The OpenSSL version can be also obtained","severity":"info","metadata":{"max-request":1}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","extracted-results":["Apache/2.4.65 (Debian)"],"request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:52 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=7d0b5e2e45eaad99975413dfab475cfa; expires=Tue, 13 Jan 2026 13:47:52 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:52.772447066Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/technologies/php-detect.yaml","template-url":"https://cloud.projectdiscovery.io/public/php-detect","template-id":"php-detect","template-path":"/root/nuclei-templates/http/technologies/php-detect.yaml","info":{"name":"PHP Detect","author":["y0no"],"tags":["tech","php","discovery"],"severity":"info","metadata":{"verified":true,"max-request":1,"vendor":"php","product":"php","shodan-query":"X-Powered-By: PHP"},"classification":{"cve-id":null,"cwe-id":null,"cpe":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*"}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/","extracted-results":["8.5.1"],"request":"GET / HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: no-cache, must-revalidate\r\nContent-Type: text/html;charset=utf-8\r\nDate: Mon, 12 Jan 2026 13:47:52 GMT\r\nExpires: Tue, 23 Jun 2009 12:00:00 GMT\r\nPragma: no-cache\r\nServer: Apache/2.4.65 (Debian)\r\nSet-Cookie: security=low; path=/\r\nSet-Cookie: PHPSESSID=7d0b5e2e45eaad99975413dfab475cfa; expires=Tue, 13 Jan 2026 13:47:52 GMT; Max-Age=86400; path=/\r\nVary: Accept-Encoding\r\nX-Powered-By: PHP/8.5.1\r\n\r\n\u003c!DOCTYPE html\u003e\n\n\u003chtml lang=\"en-GB\"\u003e\n\n\t\u003chead\u003e\n\t\t\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /\u003e\n\n\t\t\u003ctitle\u003eWelcome :: Damn Vulnerable Web Application (DVWA)\u003c/title\u003e\n\n\t\t\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dvwa/css/main.css\" /\u003e\n\n\t\t\u003clink rel=\"icon\" type=\"\\image/ico\" href=\"favicon.ico\" /\u003e\n\n\t\t\u003cscript type=\"text/javascript\" src=\"dvwa/js/dvwaPage.js\"\u003e\u003c/script\u003e\n\n\t\u003c/head\u003e\n\n\t\u003cbody class=\"home light\"\u003e\n\t\t\u003cdiv id=\"container\"\u003e\n\n\t\t\t\u003cdiv id=\"header\"\u003e\n\n\t\t\t\t\u003cimg src=\"dvwa/images/logo.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003ca href=\"#\" onclick=\"javascript:toggleTheme();\" class=\"theme-icon\" title=\"Toggle theme between light and dark.\"\u003e\n \u003cimg src=\"dvwa/images/theme-light-dark.png\" alt=\"Damn Vulnerable Web Application\" /\u003e\n \u003c/a\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_menu\"\u003e\n\n\t\t\t\t\u003cdiv id=\"main_menu_padded\"\u003e\n\t\t\t\t\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"selected\"\u003e\u003ca href=\".\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"instructions.php\"\u003eInstructions\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"setup.php\"\u003eSetup / Reset DB\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/brute/\"\u003eBrute Force\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/exec/\"\u003eCommand Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csrf/\"\u003eCSRF\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/fi/.?page=include.php\"\u003eFile Inclusion\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/upload/\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/captcha/\"\u003eInsecure CAPTCHA\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli/\"\u003eSQL Injection\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/sqli_blind/\"\u003eSQL Injection (Blind)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/weak_id/\"\u003eWeak Session IDs\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_d/\"\u003eXSS (DOM)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_r/\"\u003eXSS (Reflected)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/xss_s/\"\u003eXSS (Stored)\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/csp/\"\u003eCSP Bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/javascript/\"\u003eJavaScript Attacks\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/open_redirect/\"\u003eOpen HTTP Redirect\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/cryptography/\"\u003eCryptography\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"vulnerabilities/api/\"\u003eAPI\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"security.php\"\u003eDVWA Security\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"phpinfo.php\"\u003ePHP Info\u003c/a\u003e\u003c/li\u003e\n\u003cli class=\"\"\u003e\u003ca href=\"about.php\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003cul class=\"menuBlocks\"\u003e\u003cli class=\"\"\u003e\u003ca href=\"logout.php\"\u003eLogout\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"main_body\"\u003e\n\n\t\t\t\t\n\u003cdiv class=\"body_padded\"\u003e\n\t\u003ch1\u003eWelcome to Damn Vulnerable Web Application!\u003c/h1\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\u003c/p\u003e\n\t\u003cp\u003eThe aim of DVWA is to \u003cem\u003epractice some of the most common web vulnerabilities\u003c/em\u003e, with \u003cem\u003evarious levels of difficultly\u003c/em\u003e, with a simple straightforward interface.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eGeneral Instructions\u003c/h2\u003e\n\t\u003cp\u003eIt is up to the user how they approach DVWA. Either by working through every module at a fixed level, or selecting any module and working up to reach the highest level they can before moving onto the next one. There is not a fixed object to complete a module; however users should feel that they have successfully exploited the system as best as they possible could by using that particular vulnerability.\u003c/p\u003e\n\t\u003cp\u003ePlease note, there are \u003cem\u003eboth documented and undocumented vulnerabilities\u003c/em\u003e with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\u003c/p\u003e\n\t\u003cp\u003eThere is a help button at the bottom of each page, which allows you to view hints \u0026 tips for that vulnerability. There are also additional links for further background reading, which relates to that security issue.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eWARNING!\u003c/h2\u003e\n\t\u003cp\u003eDamn Vulnerable Web Application is damn vulnerable! \u003cem\u003eDo not upload it to your hosting provider's public html folder or any Internet facing servers\u003c/em\u003e, as they will be compromised. It is recommend using a virtual machine (such as \u003ca href=\"https://www.virtualbox.org/\" target=\"_blank\"\u003eVirtualBox\u003c/a\u003e or \u003ca href=\"https://www.vmware.com/\" target=\"_blank\"\u003eVMware\u003c/a\u003e), which is set to NAT networking mode. Inside a guest machine, you can download and install \u003ca href=\"https://www.apachefriends.org/\" target=\"_blank\"\u003eXAMPP\u003c/a\u003e for the web server and database.\u003c/p\u003e\n\t\u003cbr /\u003e\n\t\u003ch3\u003eDisclaimer\u003c/h3\u003e\n\t\u003cp\u003eWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.\u003c/p\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\n\t\u003ch2\u003eMore Training Resources\u003c/h2\u003e\n\t\u003cp\u003eDVWA aims to cover the most commonly seen vulnerabilities found in today's web applications. However there are plenty of other issues with web applications. Should you wish to explore any additional attack vectors, or want more difficult challenges, you may wish to look into the following other projects:\u003c/p\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://github.com/webpwnized/mutillidae\" target=\"_blank\"\u003eMutillidae\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://owasp.org/www-project-vulnerable-web-applications-directory\" target=\"_blank\"\u003eOWASP Vulnerable Web Applications Directory\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ul\u003e\n\t\u003chr /\u003e\n\t\u003cbr /\u003e\n\u003c/div\u003e\n\t\t\t\t\u003cbr /\u003e\u003cbr /\u003e\n\t\t\t\t\n\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv class=\"clear\"\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"system_info\"\u003e\n\t\t\t\t\u003cdiv align=\"left\"\u003e\u003cem\u003eUsername:\u003c/em\u003e Unknown\u003cbr /\u003e\u003cem\u003eSecurity Level:\u003c/em\u003e \u003cem\u003eSecurity Level:\u003c/em\u003e low\u003cbr /\u003e\u003cem\u003eLocale:\u003c/em\u003e en\u003cbr /\u003e\u003cem\u003eSQLi DB:\u003c/em\u003e mysql\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\n\t\t\t\u003cdiv id=\"footer\"\u003e\n\n\t\t\t\t\u003cp\u003eDamn Vulnerable Web Application (DVWA)\u003c/p\u003e\n\t\t\t\t\u003cscript src='dvwa/js/add_event_listeners.js'\u003e\u003c/script\u003e\n\n\t\t\t\u003c/div\u003e\n\n\t\t\u003c/div\u003e\n\n\t\u003c/body\u003e\n\n\u003c/html\u003e","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:52.776049114Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/'","matcher-status":true} +{"template":"http/exposures/files/readme-md.yaml","template-url":"https://cloud.projectdiscovery.io/public/readme-md","template-id":"readme-md","template-path":"/root/nuclei-templates/http/exposures/files/readme-md.yaml","info":{"name":"README.md file disclosure","author":["ambassify"],"tags":["exposure","markdown","files","vuln"],"description":"Internal documentation file often used in projects which can contain sensitive information.","severity":"info","metadata":{"max-request":1,"shodan-query":"html:\"README.MD\""}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/README.md","request":"GET /README.md HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 33054\r\nAccept-Ranges: bytes\r\nContent-Type: text/markdown\r\nDate: Mon, 12 Jan 2026 13:47:53 GMT\r\nEtag: \"811e-6483095a43f50\"\r\nLast-Modified: Mon, 12 Jan 2026 13:09:26 GMT\r\nServer: Apache/2.4.65 (Debian)\r\n\r\n# DAMN VULNERABLE WEB APPLICATION\n\nDamn Vulnerable Web Application (DVWA) is a PHP/MariaDB web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students \u0026 teachers to learn about web application security in a controlled class room environment.\n\nThe aim of DVWA is to **practice some of the most common web vulnerabilities**, with **various levels of difficulty**, with a simple straightforward interface.\nPlease note, there are **both documented and undocumented vulnerabilities** with this software. This is intentional. You are encouraged to try and discover as many issues as possible.\n- - -\n\n## WARNING!\n\nDamn Vulnerable Web Application is damn vulnerable! **Do not upload it to your hosting provider's public html folder or any Internet facing servers**, as they will be compromised. It is recommended using a virtual machine (such as [VirtualBox](https://www.virtualbox.org/) or [VMware](https://www.vmware.com/)), which is set to NAT networking mode. Inside a guest machine, you can download and install [XAMPP](https://www.apachefriends.org/) for the web server and database.\n\n### Disclaimer\n\nWe do not take responsibility for the way in which any one uses this application (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA, it is not our responsibility, it is the responsibility of the person/s who uploaded and installed it.\n\n- - -\n\n## License\n\nThis file is part of Damn Vulnerable Web Application (DVWA).\n\nDamn Vulnerable Web Application (DVWA) is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nDamn Vulnerable Web Application (DVWA) is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Damn Vulnerable Web Application (DVWA). If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n\n- - -\n\n## Internationalisation\n\nThis file is available in multiple languages:\n\n- Arabic: [العربية](README.ar.md)\n- Chinese: [简体中文](README.zh.md)\n- French: [Français](README.fr.md)\n- Korean: [한국어](README.ko.md)\n- Persian: [فارسی](README.fa.md)\n- Polish: [Polski](README.pl.md)\n- Portuguese: [Português](README.pt.md)\n- Spanish: [Español](README.es.md)\n- Turkish: [Türkçe](README.tr.md)\n- Indonesia: [Indonesia](README.id.md)\n- Vietnamese: [Vietnamese](README.vi.md)\n- Italian: [Italiano](README.it.md)\n\nIf you would like to contribute a translation, please submit a PR. Note though, this does not mean just run it through Google Translate and send that in, those will be rejected. Submit your translated version by adding a new 'README.xx.md' file where xx is the two-letter code of your desired language (based on [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)).\n\n- - -\n\n## Download\n\nWhile there are various versions of DVWA around, the only supported version is the latest source from the official GitHub repository. You can either clone it from the repo:\n\n```sh\ngit clone https://github.com/digininja/DVWA.git\n```\n\nOr [download a ZIP of the files](https://github.com/digininja/DVWA/archive/master.zip).\n\n- - -\n\n## Installation\n\n### Automated Installation 🛠️\n\n**Note, this is not an official DVWA script, it was written by [IamCarron](https://github.com/iamCarron/). A lot of work went into creating the script and, when it was created, it did not do anything malicious, however it is recommended you review the script before blindly running it on your system, just in case. Please report any bugs to [IamCarron](https://github.com/iamCarron/), not here.**\n\nAn automated configuration script for DVWA on Debian-based machines, including Kali, Ubuntu, Kubuntu, Linux Mint, Zorin OS...\n\n**Note: This script requires root privileges and is tailored for Debian-based systems. Ensure you are running it as the root user.**\n\n#### Installation Requirements\n\n- **Operating System:** Debian-based system (Kali, Ubuntu, Kubuntu, Linux Mint, Zorin OS)\n- **Privileges:** Execute as root user\n\n#### Installation Steps\n\n##### One-Liner\n\nThis will download an install script written by [@IamCarron](https://github.com/IamCarron) and run it automatically. This would not be included here if we did not trust the author and the script as it was when we reviewed it, but there is always the chance of someone going rogue, and so if you don't feel safe running someone else's code without reviewing it yourself, follow the manual process and you can review it once downloaded.\n\n```sh\nsudo bash -c \"$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/IamCarron/DVWA-Script/main/Install-DVWA.sh)\"\n```\n\n##### Manually Running the Script\n\n1. **Download the script:**\n\n ```sh\n wget https://raw.githubusercontent.com/IamCarron/DVWA-Script/main/Install-DVWA.sh\n ```\n\n2. **Make the script executable:**\n\n ```sh\n chmod +x Install-DVWA.sh\n ```\n\n3. **Run the script as root:**\n\n ```sh\n sudo ./Install-DVWA.sh\n ```\n\n### Installation Videos\n\n- [Installing DVWA on Kali running in VirtualBox](https://www.youtube.com/watch?v=WkyDxNJkgQ4)\n- [Installing DVWA on Windows using XAMPP](https://youtu.be/Yzksa_WjnY0)\n- [Installing Damn Vulnerable Web Application (DVWA) on Windows 10](https://www.youtube.com/watch?v=cak2lQvBRAo)\n\n### Windows + XAMPP\n\nThe easiest way to install DVWA is to download and install [XAMPP](https://www.apachefriends.org/) if you do not already have a web server setup.\n\nXAMPP is a very easy to install Apache Distribution for Linux, Solaris, Windows and Mac OS X. The package includes the Apache web server, MySQL, PHP, Perl, a FTP server and phpMyAdmin.\n\nThis [video](https://youtu.be/Yzksa_WjnY0) walks you through the installation process for Windows but it should be similar for other OSs.\n\n### Docker\n\nThanks to [hoang-himself](https://github.com/hoang-himself) and [JGillam](https://github.com/JGillam), every commit to the `master` branch causes a Docker image to be built and ready to be pulled down from GitHub Container Registry.\n\nFor more information on what you are getting, you can browse [the prebuilt Docker images](https://github.com/digininja/DVWA/pkgs/container/dvwa).\n\n#### Getting Started\n\nPrerequisites: Docker and Docker Compose.\n\n- If you are using Docker Desktop, both of these should be already installed.\n- If you prefer Docker Engine on Linux, make sure to follow their [installation guide](https://docs.docker.com/engine/install/#server).\n\n**We provide support for the latest Docker release as shown above.**\nIf you are using Linux and the Docker package that came with your package manager, it will probably work too, but support will only be best-effort.\n\nUpgrading Docker from the package manager version to upstream requires that you uninstall the old versions as seen in their manuals for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/#uninstall-old-versions), [Fedora](https://docs.docker.com/engine/install/fedora/#uninstall-old-versions) and others.\nYour Docker data (containers, images, volumes, etc.) should not be affected, but in case you do run into a problem, make sure to [tell Docker](https://www.docker.com/support) and use search engines in the mean time.\n\nThen, to get started:\n\n1. Run `docker version` and `docker compose version` to see if you have Docker and Docker Compose properly installed. You should be able to see their versions in the output.\n\n For example:\n\n ```text\n \u003e\u003e\u003e docker version\n Client:\n [...]\n Version: 23.0.5\n [...]\n\n Server: Docker Desktop 4.19.0 (106363)\n Engine:\n [...]\n Version: 23.0.5\n [...]\n\n \u003e\u003e\u003e docker compose version\n Docker Compose version v2.17.3\n ```\n\n If you don't see anything or get a command not found error, follow the prerequisites to setup Docker and Docker Compose.\n\n2. Clone or download this repository and extract (see [Download](#download)).\n3. Open a terminal of your choice and change its working directory into this folder (`DVWA`).\n4. Run `docker compose up -d`.\n\nDVWA is now available at `http://localhost:4280`.\n\n**Notice that for running DVWA in containers, the web server is listening on port 4280 instead of the usual port of 80.**\nFor more information on this decision, see [I want to run DVWA on a different port](#i-want-to-run-dvwa-on-a-different-port).\n\n#### Local Build\n\nIf you made local changes and want to build the project from local, go to `compose.yml` and change `pull_policy: always` to `pull_policy: build`.\n\nRunning `docker compose up -d` should trigger Docker to build an image from local regardless of what is available in the registry.\n\nSee also: [`pull_policy`](https://github.com/compose-spec/compose-spec/blob/master/05-services.md#pull_policy).\n\n#### Serve local files\n\nIf your making local changes and don't want to build the project for every change :\n1. Go to `compose.yml` and uncomment :\n ```\n # volumes:\n # - ./:/var/www/html\n ```\n2. Run `cp config/config.inc.php.dist config/config.inc.php` to copy the default config file.\n3. Run `docker compose up -d` and changes to local files will reflect on the container.\n\n### PHP Versions\n\nIdeally you should be using the latest stable version of PHP as that is the version that this app will be developed and tested on.\n\nSupport will not be given for anyone trying to use PHP 5.x.\n\nVersions less than 7.3 have known issues that will cause problems, most of the app will work, but random things may not. Unless you have a very good reason for using such an old version, support will not be given.\n\n### Linux Packages\n\nIf you are using a Debian based Linux distribution, you will need to install the following packages _(or their equivalent)_:\n\n- apache2\n- libapache2-mod-php\n- mariadb-server\n- mariadb-client\n- php php-mysqli\n- php-gd\n\nI would recommend doing an update before this, just so you make sure you are going to get the latest version of everything.\n\n```sh\napt update\napt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php\n```\n\nThe site will work with MySQL instead of MariaDB but we strongly recommend MariaDB as it works out of the box whereas you have to make changes to get MySQL to work correctly.\n\n### Apache Modules\n\nIf you want to use the API lab you must have the Apache module `mod_rewrite` enabled. To do this in Linux run:\n\n```\na2enmod rewrite\n```\n\nAnd then restart Apache with:\n\n```\napachectl restart\n```\n\n### Vendor Files\n\nIf you want to use the API module you will need to install a set of vendor files using [Composer](https://getcomposer.org/).\n\nFirst, make sure you have Composer installed. There seem to be backward compatibility issues so I always get the latest version from here:\n\nhttps://getcomposer.org/doc/00-intro.md\n\nFollow the instructions the site gives to get it installed.\n\nNow go into the `vulnerabilities/api` directory and run:\n\n```\ncomposer.phar install\n```\n\nIf you did not install Composer to the system path, make sure you reference its full location.\n\n## Configurations\n\n### Config File\n\nDVWA ships with a dummy copy of its config file which you will need to copy into place and then make the appropriate changes. On Linux, assuming you are in the DVWA directory, this can be done as follows:\n\n`cp config/config.inc.php.dist config/config.inc.php`\n\nOn Windows, this can be a bit harder if you are hiding file extensions, if you are unsure about this, this blog post explains more about it:\n\n[How to Make Windows Show File Extensions](https://www.howtogeek.com/205086/beginner-how-to-make-windows-show-file-extensions/)\n\n### Config with environment variables\n\nInstead of modifying the configuration file, you can also set most settings using environment variables. In a Docker or Kubernetes deployment, this allows you to modify the configuration without creating a new Docker image. You'll find the variables in the [config/config.inc.php.dist](config/config.inc.php.dist) file.\n\nIf you want to set the default security level to \"low\", simply add the following line to the [compose.yml](./compose.yml) file:\n\n```yml\nenvironment:\n - DB_SERVER=db\n - DEFAULT_SECURITY_LEVEL=low\n```\n\n### Database Setup\n\nTo set up the database, simply click on the `Setup DVWA` button in the main menu, then click on the `Create / Reset Database` button. This will create / reset the database for you with some data in.\n\nIf you receive an error while trying to create your database, make sure your database credentials are correct within `./config/config.inc.php`. _This differs from config.inc.php.dist, which is an example file._\n\nThe variables are set to the following by default:\n\n```php\n$_DVWA[ 'db_server'] = '127.0.0.1';\n$_DVWA[ 'db_port'] = '3306';\n$_DVWA[ 'db_user' ] = 'dvwa';\n$_DVWA[ 'db_password' ] = 'p@ssw0rd';\n$_DVWA[ 'db_database' ] = 'dvwa';\n```\n\nNote, if you are using MariaDB rather than MySQL (MariaDB is default in Kali), then you can't use the database root user, you must create a new database user. To do this, connect to the database as the root user then use the following commands:\n\n```mariadb\nMariaDB [(none)]\u003e create database dvwa;\nQuery OK, 1 row affected (0.00 sec)\n\nMariaDB [(none)]\u003e create user dvwa@localhost identified by 'p@ssw0rd';\nQuery OK, 0 rows affected (0.01 sec)\n\nMariaDB [(none)]\u003e grant all on dvwa.* to dvwa@localhost;\nQuery OK, 0 rows affected (0.01 sec)\n\nMariaDB [(none)]\u003e flush privileges;\nQuery OK, 0 rows affected (0.00 sec)\n```\n\n### Disable Authentication\n\nSome tools don't work well with authentication so can't be used with DVWA. To get around this, there is a config option to disable authentication checking. To do this, simply set the following in the config file:\n\n```php\n$_DVWA[ 'disable_authentication' ] = true;\n```\n\nYou will also need to set the security level to one that is appropriate to the testing you want to do:\n\n```php\n$_DVWA[ 'default_security_level' ] = 'low';\n```\n\nIn this state, you can access all the features without needing to log in and set any cookies.\n\n### Folder Permissions\n\n- `./hackable/uploads/` - Needs to be writeable by the web service (for File Upload).\n\n### PHP Configuration\n\nOn Linux systems, likely found in `/etc/php/x.x/fpm/php.ini` or `/etc/php/x.x/apache2/php.ini`.\n\n- To allow Remote File Inclusions (RFI):\n - `allow_url_include = on` [[allow_url_include](https://secure.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include)]\n - `allow_url_fopen = on` [[allow_url_fopen](https://secure.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen)]\n\n- To make sure PHP shows all error messages:\n - `display_errors = on` [[display_errors](https://secure.php.net/manual/en/errorfunc.configuration.php#ini.display-errors)]\n - `display_startup_errors = on` [[display_startup_errors](https://secure.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors)]\n\nMake sure you restart the php service or Apache after making the changes.\n\n### reCAPTCHA\n\nThis is only required for the \"Insecure CAPTCHA\" lab, if you aren't playing with that lab, you can ignore this section.\n\nGenerated a pair of API keys from \u003chttps://www.google.com/recaptcha/admin/create\u003e.\n\nThese then go in the following sections of `./config/config.inc.php`:\n\n- `$_DVWA[ 'recaptcha_public_key' ]`\n- `$_DVWA[ 'recaptcha_private_key' ]`\n\n### Default Credentials\n\n**Default username = `admin`**\n\n**Default password = `password`**\n\n_...can easily be brute forced ;)_\n\nLogin URL: \u003chttp://127.0.0.1/login.php\u003e\n\n_Note: This will be different if you installed DVWA into a different directory._\n\n- - -\n\n## Troubleshooting\n\nThese assume you are on a Debian based distro, such as Debian, Ubuntu and Kali. For other distros, follow along, but update the command where appropriate.\n\nIf you'd rather watch a video than read words, the most common issues are covered in the video [Fixing DVWA Setup Issues](https://youtu.be/C-kig5qrPSA?si=_a4Bop505-1tXb_F).\n\n### Containers\n\n#### I want to access the logs\n\nIf you are using Docker Desktop, logs can be accessed from the graphical application.\nSome minor details may change with newer versions, but the access method should be the same.\n\n![Overview of DVWA compose](./docs/graphics/docker/overview.png)\n![Viewing DVWA logs](docs/graphics/docker/detail.png)\n\nLogs can also be accessed from the terminal.\n\n1. Open a terminal and change its working directory to DVWA\n2. Show the merged logs\n\n ```sh\n docker compose logs\n ```\n\n In case you want to export the logs to a file, e.g. `dvwa.log`\n\n ```sh\n docker compose logs \u003e dvwa.log\n ```\n\n#### I want to run DVWA on a different port\n\nWe don't use port 80 by default for a few reasons:\n\n- Some users might already be running something on port 80.\n- Some users might be using a rootless container engine (like Podman), and 80 is a privileged port (\u003c 1024). Additional configuration (e.g. setting `net.ipv4.ip_unprivileged_port_start`) is required, but you will have to research on your own.\n\nYou can expose DVWA on a different port by changing the port binding in the `compose.yml` file.\nFor example, you can change\n\n```yml\nports:\n - 127.0.0.1:4280:80\n```\n\nto\n\n```yml\nports:\n - 127.0.0.1:8806:80\n```\n\nDVWA is now accessible at `http://localhost:8806`.\n\nIn cases in which you want DVWA to not only be accessible exclusively from your own device, but\non your local network too (e.g. because you are setting up a test machine for a workshop), you\ncan remove the `127.0.0.1:` from the port mapping (or replace it with you LAN IP). This way it\nwill listen on all available device. The safe default should always be to only listen on your\nlocal loopback device. After all, it is a damn vulnerable web application, running on your machine.\n\n#### DVWA auto starts when Docker runs\n\nThe included [`compose.yml`](./compose.yml) file automatically runs DVWA and its database when Docker starts.\n\nTo disable this, you can delete or comment out the `restart: unless-stopped` lines in the [`compose.yml`](./compose.yml) file.\n\nIf you want to disable this behavior temporarily, you can run `docker compose stop`, or use Docker Desktop, find `dvwa` and click Stop.\nAdditionally, you can delete the containers, or run `docker compose down`.\n\n### Log files\n\nOn Linux systems Apache generates two log files by default, `access.log` and `error.log` and on Debian based system these are usually found in `/var/log/apache2/`.\n\nWhen submitting error reports, problems, anything like that, please include at least the last five lines from each of these files. On Debian based systems you can get these like this:\n\n```sh\ntail -n 5 /var/log/apache2/access.log /var/log/apache2/error.log\n```\n\n### I browsed to the site and got a 404 or Apache2 default page\n\n[Video Help](https://youtu.be/C-kig5qrPSA?si=wTS3Aj8fycW3Idfr\u0026t=141)\n\nIf you are having this problem you need to understand file locations. By default, the Apache document root (the place it starts looking for web content) is `/var/www/html`. If you put the file `hello.txt` in this directory, to access it you would browse to `http://localhost/hello.txt`.\n\nIf you created a directory and put the file in there - `/var/www/html/mydir/hello.txt` - you would then need to browse to `http://localhost/mydir/hello.txt`.\n\nLinux is by default case sensitive and so in the example above, if you tried to browse to any of these, you would get a `404 Not Found`:\n\n- `http://localhost/MyDir/hello.txt`\n- `http://localhost/mydir/Hello.txt`\n- `http://localhost/MYDIR/hello.txt`\n\nHow does this affect DVWA? Most people use git to clone DVWA into `/var/www/html`, this gives them the directory `/var/www/html/DVWA/` with all the DVWA files inside it. They then browse to `http://localhost/` and get either a `404` or the default Apache welcome page. As the files are in DVWA, you must browse to `http://localhost/DVWA`.\n\nThe other common mistake is to browse to `http://localhost/dvwa` which will give a `404` because `dvwa` is not `DVWA` as far as Linux directory matching is concerned.\n\nSo after setup, if you try to visit the site and get a `404`, think about where you installed the files to, where they are relative to the document root, and what the case of the directory you used is.\n\n### I browsed to the site and got a blank screen\n\n[Video Help](https://youtu.be/C-kig5qrPSA?si=wTS3Aj8fycW3Idfr\u0026t=243)\n\nThis is usually one configuration issue hiding another issue. By default, PHP does not display errors, and so if you forgot to turn error display on during the setup process, any other problems, such as failure to connect to the database, will stop the app from loading but the message to tell you what is wrong will be hidden.\n\nTo fix this, make sure you set `display_errors` and `display_startup_errors` as covered in [PHP Configuration](#php-configuration) and then restart Apache.\n\n### \"Access denied\" running setup\n\nIf you see the following when running the setup script it means the username or password in the config file do not match those configured on the database. [Video Help](https://youtu.be/C-kig5qrPSA?si=_a4Bop505-1tXb_F\u0026t=973)\n\n```mariadb\nDatabase Error #1045: Access denied for user 'notdvwa'@'localhost' (using password: YES).\n```\n\nThe error is telling you that you are using the username `notdvwa`.\n\nThe following error says you have pointed the config file at the wrong database. [Video Help](https://youtu.be/C-kig5qrPSA?si=_a4Bop505-1tXb_F\u0026t=630)\n\n```mariadb\nSQL: Access denied for user 'dvwa'@'localhost' to database 'notdvwa'\n```\n\nIt is saying that you are using the user `dvwa` and trying to connect to the database `notdvwa`.\n\nThe first thing to do is to double check what you think you put in the config file is what is actually there.\n\nIf it matches what you expect, the next thing to do is to check you can log in as the user on the command line. Assuming you have a database user of `dvwa` and a password of `p@ssw0rd`, run the following command:\n\n```sh\nmysql -u dvwa -pp@ssw0rd -D dvwa\n```\n\n_Note: There is no space after the -p_\n\nIf you see the following, the password is correct:\n\n```mariadb\nWelcome to the MariaDB monitor. Commands end with ; or \\g.\nYour MariaDB connection id is 14\nServer version: 10.3.22-MariaDB-0ubuntu0.19.10.1 Ubuntu 19.10\n\nCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nMariaDB [dvwa]\u003e\n```\n\nAs you can connect on the command line, it is likely something wrong in the config file, double check that and then raise an issue if you still can't get things working.\n\nIf you see the following, the username or password you are using is wrong. Repeat the [Database Setup](#database-setup) steps and make sure you use the same username and password throughout the process.\n\n```mariadb\nERROR 1045 (28000): Access denied for user 'dvwa'@'localhost' (using password: YES)\n```\n\nIf you get the following, the user credentials are correct but the user does not have access to the database. Again, repeat the setup steps and check the database name you are using.\n\n```mariadb\nERROR 1044 (42000): Access denied for user 'dvwa'@'localhost' to database 'dvwa'\n```\n\nThe final error you could get is this:\n\n```mariadb\nERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)\n```\n\nThis is not an authentication issue but tells you that the database server is not running. Start it with the following\n\n```sh\nsudo service mysql start\n```\n\n### Connection Refused\n\n[Video Help](https://youtu.be/C-kig5qrPSA?si=_a4Bop505-1tXb_F\u0026t=444)\n\nAn error similar to this one:\n\n```mariadb\nFatal error: Uncaught mysqli_sql_exception: Connection refused in /var/sites/dvwa/non-secure/htdocs/dvwa/includes/dvwaPage.inc.php:535\n```\n\nMeans your database server is not running or you've got the wrong IP address in the config file.\n\nCheck this line in the config file to see where the database server is expected to be:\n\n```php\n$_DVWA[ 'db_server' ] = '127.0.0.1';\n```\n\nThen go to this server and check that it is running. In Linux this can be done with:\n\n```sh\nsystemctl status mariadb.service\n```\n\nAnd you are looking for something like this, the important bit is that it says `active (running)`.\n\n```sh\n● mariadb.service - MariaDB 10.5.19 database server\n Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)\n Active: active (running) since Thu 2024-03-14 16:04:25 GMT; 1 week 5 days ago\n```\n\nIf it is not running, you can start it with:\n\n```sh\nsudo systemctl stop mariadb.service \n```\n\nNote the `sudo` and make sure you put your Linux user password in if requested.\n\nIn Windows, check the status in the XAMPP console.\n\n### Unknown authentication method\n\nWith the most recent versions of MySQL, PHP can no longer talk to the database in its default configuration. If you try to run the setup script and get the following message it means you have configuration.\n\n```mariadb\nDatabase Error #2054: The server requested authentication method unknown to the client.\n```\n\nYou have two options, the easiest is to uninstall MySQL and install MariaDB. The following is the official guide from the MariaDB project:\n\n\u003chttps://mariadb.com/resources/blog/how-to-migrate-from-mysql-to-mariadb-on-linux-in-five-steps/\u003e\n\nAlternatively, follow these steps:\n\n1. As root, edit the following file: `/etc/mysql/mysql.conf.d/mysqld.cnf`\n1. Under the line `[mysqld]`, add the following:\n `default-authentication-plugin=mysql_native_password`\n1. Restart the database: `sudo service mysql restart`\n1. Check the authentication method for your database user:\n\n ```sql\n mysql\u003e select Host,User, plugin from mysql.user where mysql.user.User = 'dvwa';\n +-----------+------------------+-----------------------+\n | Host | User | plugin |\n +-----------+------------------+-----------------------+\n | localhost | dvwa | caching_sha2_password |\n +-----------+------------------+-----------------------+\n 1 rows in set (0.00 sec)\n ```\n\n1. You'll likely see `caching_sha2_password`. If you do, run the following command:\n\n ```sql\n mysql\u003e ALTER USER dvwa@localhost IDENTIFIED WITH mysql_native_password BY 'p@ssw0rd';\n ```\n\n1. Re-running the check, you should now see `mysql_native_password`.\n\n ```sql\n mysql\u003e select Host,User, plugin from mysql.user where mysql.user.User = 'dvwa';\n +-----------+------+-----------------------+\n | Host | User | plugin |\n +-----------+------+-----------------------+\n | localhost | dvwa | mysql_native_password |\n +-----------+------+-----------------------+\n 1 row in set (0.00 sec)\n ```\n\nAfter all that, the setup process should now work as normal.\n\nIf you want more information see the following page: \u003chttps://www.php.net/manual/en/mysqli.requirements.php\u003e.\n\n### Database Error #2002: No such file or directory\n\nThe database server is not running. In a Debian based distro this can be done with:\n\n```sh\nsudo service mysql start\n```\n\n### Errors \"MySQL server has gone away\" and \"Packets out of order\"\n\nThere are a few reasons you could be getting these errors, but the most likely is the version of database server you are running is not compatible with the version of PHP.\n\nThis is most commonly found when you are running the latest version of MySQL as PHP and it do not get on well. Best advice, ditch MySQL and install MariaDB as this is not something we can support.\n\nFor more information, see:\n\n\u003chttps://www.ryadel.com/en/fix-mysql-server-gone-away-packets-order-similar-mysql-related-errors/\u003e\n\n### Why can't the database connect on CentOS?\n\nYou may be running into problems with SELinux. Either disable SELinux or run this command to allow the web server to talk to the database:\n\n```sh\nsetsebool -P httpd_can_network_connect_db 1\n```\n\n### MariaDB Docker does not start\n\nIf you see the following error in the Docker logs while trying to start MariaDB, it is likely due to the host machine not having enough memory. If you are using this in a hosted environment, the best solution is to step up a machine size to get more memory and to try again.\n\n```\n[Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.15+maria~ubu2204 started.\n[Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB\n```\n\nYou might also need to add the following line to the volums section of your `compose.yml` file:\n\n```\n- /sys/fs/cgroup/memory.pressure:/sys/fs/cgroup/memory.pressure\n```\n\nDoing that would change the volumes section of a default config file to the following:\n\n```\n volumes:\n - dvwa:/var/lib/mysql\n - /sys/fs/cgroup/memory.pressure:/sys/fs/cgroup/memory.pressure\n```\n\nFor more information on why this works, see [this issue](https://github.com/MariaDB/mariadb-docker/issues/626).\n\n### Anything Else\n\nFor the latest troubleshooting information please read both open and closed tickets in the git repo:\n\n\u003chttps://github.com/digininja/DVWA/issues\u003e\n\nBefore submitting a ticket, please make sure you are running the latest version of the code from the repo. This is not the latest release, this is the latest code from the master branch.\n\nIf raising a ticket, please submit at least the following information:\n\n- Operating System\n- The last 5 lines from the web server error log directly after whatever error you are reporting occurs\n- If it is a database authentication problem, go through the steps above and screenshot each step. Submit these along with a screenshot of the section of the config file showing the database user and password.\n- A full description of what is going wrong, what you expect to happen, and what you have tried to do to fix it. \"login broken\" is no enough for us to understand your problem and to help fix it.\n\n- - -\n\n## Tutorials\n\nI am going to try to put together some tutorial videos that walk through some of the vulnerabilities and show how to detect them and then how to exploit them. Here are the ones I've made so far:\n\n[Finding and Exploiting Reflected XSS](https://youtu.be/V4MATqtdxss)\n\n- - -\n\n## SQLite3 SQL Injection\n\n_Support for this is limited, before raising issues, please ensure you are prepared to work on debugging, do not simply claim \"it does not work\"._\n\nBy default, SQLi and Blind SQLi are done against the MariaDB/MySQL server used by the site but it is possible to switch to do the SQLi testing against SQLite3 instead.\n\nI am not going to cover how to get SQLite3 working with PHP, but it should be a simple case of installing the `php-sqlite3` package and making sure it is enabled.\n\nTo make the switch, simply edit the config file and add or edit these lines:\n\n```php\n$_DVWA[\"SQLI_DB\"] = \"sqlite\";\n$_DVWA[\"SQLITE_DB\"] = \"sqli.db\";\n```\n\nBy default it uses the file `database/sqli.db`, if you mess it up, simply copy `database/sqli.db.dist` over the top.\n\nThe challenges are exactly the same as for MariaDB, they just run against SQLite3 instead.\n\n- - -\n\n👨‍💻 Contributors\n-----\n\nThanks for all your contributions and keeping this project updated. :heart:\n\nIf you have an idea, some kind of improvement or just simply want to collaborate, you are welcome to contribute and participate in the Project, feel free to send your PR.\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/digininja/DVWA/graphs/contributors\"\u003e\n \u003cimg src=\"https://contrib.rocks/image?repo=digininja/DVWA\u0026max=500\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n- - -\n\n## Reporting Vulnerabilities\n\nTo put it simply, please don't!\n\nOnce a year or so, someone will submit a report for a vulnerability they've found in the app, some are well written, sometimes better than I've seen in paid pen test reports, some are just \"you are missing headers, pay me\".\n\nIn 2023, this elevated to a whole new level when someone decided to request a CVE for one of the vulnerabities, they were given [CVE-2023-39848](https://nvd.nist.gov/vuln/detail/CVE-2023-39848). Much hilarity ensued and time was wasted getting this corrected.\n\nThe app has vulnerabilities, it is deliberate. Most are the well documented ones that you work through as lessons, others are \"hidden\" ones, ones to find on your own. If you really want to show off your skills at finding the hidden extras, write a blog post or create a video as there are probably people out there who would be interested in learning about them and about how your found them. If you send us the link, we may even include it in the references.\n\n## Links\n\nProject Home: \u003chttps://github.com/digininja/DVWA\u003e\n\n_Created by the DVWA team_\n","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:53.698142904Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0' 'http://dvwa_dvwa_1/README.md'","matcher-status":true} +{"template":"http/miscellaneous/robots-txt.yaml","template-url":"https://cloud.projectdiscovery.io/public/robots-txt","template-id":"robots-txt","template-path":"/root/nuclei-templates/http/miscellaneous/robots-txt.yaml","info":{"name":"robots.txt file","author":["caspergn","thezakman"],"tags":["miscellaneous","misc","generic","vuln"],"severity":"info","metadata":{"max-request":2}},"type":"http","port":"80","scheme":"http","url":"/http://dvwa_dvwa_1/","path":"http://dvwa_dvwa_1/","matched-at":"http://dvwa_dvwa_1/robots.txt","request":"GET /robots.txt HTTP/1.1\r\nHost: dvwa_dvwa_1\r\nUser-Agent: Mozilla/5.0 (Knoppix; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept: */*\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 25\r\nAccept-Ranges: bytes\r\nContent-Type: text/plain\r\nDate: Mon, 12 Jan 2026 13:47:53 GMT\r\nEtag: \"19-6483095a456b3\"\r\nLast-Modified: Mon, 12 Jan 2026 13:09:26 GMT\r\nServer: Apache/2.4.65 (Debian)\r\n\r\nUser-agent: *\nDisallow: /","ip":"172.18.0.3","timestamp":"2026-01-12T13:47:53.701952935Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Knoppix; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' 'http://dvwa_dvwa_1/robots.txt'","matcher-status":true} +{"template":"dns/nameserver-fingerprint.yaml","template-url":"https://cloud.projectdiscovery.io/public/nameserver-fingerprint","template-id":"nameserver-fingerprint","template-path":"/root/nuclei-templates/dns/nameserver-fingerprint.yaml","info":{"name":"NS Record Detection","author":["pdteam"],"tags":["dns","ns","discovery"],"description":"An NS record was detected. An NS record delegates a subdomain to a set of name servers.","severity":"info","metadata":{"max-request":1},"classification":{"cve-id":null,"cwe-id":["cwe-200"]}},"type":"dns","extracted-results":["j.root-servers.net.","a.root-servers.net.","m.root-servers.net.","g.root-servers.net.","h.root-servers.net.","i.root-servers.net.","c.root-servers.net.","d.root-servers.net.","k.root-servers.net.","e.root-servers.net.","l.root-servers.net.","b.root-servers.net.","f.root-servers.net."],"request":";; opcode: QUERY, status: NOERROR, id: 22389\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags:; udp: 4096\n\n;; QUESTION SECTION:\n;.\tIN\t NS\n","response":";; opcode: QUERY, status: NOERROR, id: 22389\n;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags:; udp: 512\n\n;; QUESTION SECTION:\n;.\tIN\t NS\n\n;; ANSWER SECTION:\n.\t87203\tIN\tNS\tk.root-servers.net.\n.\t87203\tIN\tNS\te.root-servers.net.\n.\t87203\tIN\tNS\tl.root-servers.net.\n.\t87203\tIN\tNS\ta.root-servers.net.\n.\t87203\tIN\tNS\tm.root-servers.net.\n.\t87203\tIN\tNS\tg.root-servers.net.\n.\t87203\tIN\tNS\th.root-servers.net.\n.\t87203\tIN\tNS\ti.root-servers.net.\n.\t87203\tIN\tNS\tc.root-servers.net.\n.\t87203\tIN\tNS\tb.root-servers.net.\n.\t87203\tIN\tNS\tf.root-servers.net.\n.\t87203\tIN\tNS\tj.root-servers.net.\n.\t87203\tIN\tNS\td.root-servers.net.\n","timestamp":"2026-01-12T13:48:00.687696659Z","matcher-status":true} diff --git a/unittests/tools/test_nuclei_parser.py b/unittests/tools/test_nuclei_parser.py index cfd260dd80b..ffb3c55b262 100644 --- a/unittests/tools/test_nuclei_parser.py +++ b/unittests/tools/test_nuclei_parser.py @@ -281,3 +281,9 @@ def test_parse_same_template_multiple_matches(self): "65e95106ab3c53cd42f384804a4a9087f43616f863e90c34818086862df253ec", ), ) + + def test_parse_issue_14071(self): + with (get_unit_tests_scans_path("nuclei") / "issue_14071.json").open(encoding="utf-8") as testfile: + parser = NucleiParser() + findings = parser.get_findings(testfile, Test()) + self.assertEqual(27, len(findings)) From b7f0f99751b8360031ae8f00a93232cb3525e5d6 Mon Sep 17 00:00:00 2001 From: Cody Maffucci <46459665+Maffooch@users.noreply.github.com> Date: Tue, 13 Jan 2026 20:54:56 -0700 Subject: [PATCH 04/21] Asset/Organizations Endpoints: Patches, permission checking, and API tests (#14080) * Update AssetSerializer fields to allow null values and set defaults * Refactor authorization functions to use type hints for better clarity and maintainability * Enhance permission checks to support multiple primary key attributes in post requests * Refactor check_post_permission to use list type for post_pk parameter * Refactor Organization serializers to handle default values for critical and key assets, and update OrganizationViewSet to use OrganizationFilterSet for filtering. * Refactor API tests to include asset and organization endpoints, enhancing coverage for asset-related functionalities. * Refactor permission classes to use asset and organization-specific permissions, enhancing clarity and maintainability. * Add blank line before UserHasOrganizationGroupPermission class for improved readability --- dojo/api_v2/permissions.py | 144 ++++++++++++- dojo/asset/api/serializers.py | 8 +- dojo/asset/api/views.py | 8 +- dojo/authorization/authorization.py | 44 ++-- dojo/organization/api/serializers.py | 6 +- dojo/organization/api/views.py | 19 +- unittests/test_apiv2_methods_and_endpoints.py | 19 +- unittests/test_rest_framework.py | 194 ++++++++++++++++++ 8 files changed, 388 insertions(+), 54 deletions(-) diff --git a/dojo/api_v2/permissions.py b/dojo/api_v2/permissions.py index 421fb87b526..905ddf99b58 100644 --- a/dojo/api_v2/permissions.py +++ b/dojo/api_v2/permissions.py @@ -1,5 +1,6 @@ import re +from django.db.models import Model from django.shortcuts import get_object_or_404 from rest_framework import permissions, serializers from rest_framework.exceptions import ( @@ -7,6 +8,7 @@ PermissionDenied, ValidationError, ) +from rest_framework.request import Request from dojo.authorization.authorization import ( user_has_configuration_permission, @@ -29,7 +31,7 @@ ) -def check_post_permission(request, post_model, post_pk, post_permission): +def check_post_permission(request: Request, post_model: Model, post_pk: str | list[str], post_permission: int) -> bool: if request.method == "POST": if request.data.get(post_pk) is None: msg = f"Unable to check for permissions: Attribute '{post_pk}' is required" @@ -40,13 +42,13 @@ def check_post_permission(request, post_model, post_pk, post_permission): def check_object_permission( - request, - obj, - get_permission, - put_permission, - delete_permission, - post_permission=None, -): + request: Request, + obj: Model, + get_permission: int, + put_permission: int, + delete_permission: int, + post_permission: int | None = None, +) -> bool: if request.method == "GET": return user_has_permission(request.user, obj, get_permission) if request.method in {"PUT", "PATCH"}: @@ -507,6 +509,25 @@ def has_object_permission(self, request, view, obj): ) +class UserHasAssetPermission(permissions.BasePermission): + def has_permission(self, request, view): + return check_post_permission( + request, + Product_Type, + "organization", + Permissions.Product_Type_Add_Product, + ) + + def has_object_permission(self, request, view, obj): + return check_object_permission( + request, + obj, + Permissions.Product_View, + Permissions.Product_Edit, + Permissions.Product_Delete, + ) + + class UserHasProductMemberPermission(permissions.BasePermission): def has_permission(self, request, view): return check_post_permission( @@ -523,6 +544,22 @@ def has_object_permission(self, request, view, obj): ) +class UserHasAssetMemberPermission(permissions.BasePermission): + def has_permission(self, request, view): + return check_post_permission( + request, Product, "asset", Permissions.Product_Manage_Members, + ) + + def has_object_permission(self, request, view, obj): + return check_object_permission( + request, + obj, + Permissions.Product_View, + Permissions.Product_Manage_Members, + Permissions.Product_Member_Delete, + ) + + class UserHasProductGroupPermission(permissions.BasePermission): def has_permission(self, request, view): return check_post_permission( @@ -539,6 +576,22 @@ def has_object_permission(self, request, view, obj): ) +class UserHasAssetGroupPermission(permissions.BasePermission): + def has_permission(self, request, view): + return check_post_permission( + request, Product, "asset", Permissions.Product_Group_Add, + ) + + def has_object_permission(self, request, view, obj): + return check_object_permission( + request, + obj, + Permissions.Product_Group_View, + Permissions.Product_Group_Edit, + Permissions.Product_Group_Delete, + ) + + class UserHasProductTypePermission(permissions.BasePermission): def has_permission(self, request, view): if request.method == "POST": @@ -557,6 +610,24 @@ def has_object_permission(self, request, view, obj): ) +class UserHasOrganizationPermission(permissions.BasePermission): + def has_permission(self, request, view): + if request.method == "POST": + return user_has_global_permission( + request.user, Permissions.Product_Type_Add, + ) + return True + + def has_object_permission(self, request, view, obj): + return check_object_permission( + request, + obj, + Permissions.Product_Type_View, + Permissions.Product_Type_Edit, + Permissions.Product_Type_Delete, + ) + + class UserHasProductTypeMemberPermission(permissions.BasePermission): def has_permission(self, request, view): return check_post_permission( @@ -576,6 +647,25 @@ def has_object_permission(self, request, view, obj): ) +class UserHasOrganizationMemberPermission(permissions.BasePermission): + def has_permission(self, request, view): + return check_post_permission( + request, + Product_Type, + "organization", + Permissions.Product_Type_Manage_Members, + ) + + def has_object_permission(self, request, view, obj): + return check_object_permission( + request, + obj, + Permissions.Product_Type_View, + Permissions.Product_Type_Manage_Members, + Permissions.Product_Type_Member_Delete, + ) + + class UserHasProductTypeGroupPermission(permissions.BasePermission): def has_permission(self, request, view): return check_post_permission( @@ -595,6 +685,25 @@ def has_object_permission(self, request, view, obj): ) +class UserHasOrganizationGroupPermission(permissions.BasePermission): + def has_permission(self, request, view): + return check_post_permission( + request, + Product_Type, + "organization", + Permissions.Product_Type_Group_Add, + ) + + def has_object_permission(self, request, view, obj): + return check_object_permission( + request, + obj, + Permissions.Product_Type_Group_View, + Permissions.Product_Type_Group_Edit, + Permissions.Product_Type_Group_Delete, + ) + + class UserHasReimportPermission(permissions.BasePermission): def has_permission(self, request, view): # permission check takes place before validation, so we don't have access to serializer.validated_data() @@ -739,6 +848,25 @@ def has_object_permission(self, request, view, obj): ) +class UserHasAssetAPIScanConfigurationPermission(permissions.BasePermission): + def has_permission(self, request, view): + return check_post_permission( + request, + Product, + "asset", + Permissions.Product_API_Scan_Configuration_Add, + ) + + def has_object_permission(self, request, view, obj): + return check_object_permission( + request, + obj, + Permissions.Product_API_Scan_Configuration_View, + Permissions.Product_API_Scan_Configuration_Edit, + Permissions.Product_API_Scan_Configuration_Delete, + ) + + class UserHasJiraProductPermission(permissions.BasePermission): def has_permission(self, request, view): if request.method == "POST": diff --git a/dojo/asset/api/serializers.py b/dojo/asset/api/serializers.py index 688d772ce9b..5643864e65a 100644 --- a/dojo/asset/api/serializers.py +++ b/dojo/asset/api/serializers.py @@ -37,11 +37,13 @@ class AssetSerializer(serializers.ModelSerializer): # V3 fields asset_meta = ProductMetaSerializer(source="product_meta", read_only=True, many=True) organization = RelatedOrganizationField(source="prod_type") - asset_numeric_grade = serializers.IntegerField(source="prod_numeric_grade") - enable_asset_tag_inheritance = serializers.BooleanField(source="enable_product_tag_inheritance") + asset_numeric_grade = serializers.IntegerField(source="prod_numeric_grade", required=False, allow_null=True) + enable_asset_tag_inheritance = serializers.BooleanField(source="enable_product_tag_inheritance", required=False, default=False) asset_managers = serializers.PrimaryKeyRelatedField( source="product_manager", - queryset=Dojo_User.objects.exclude(is_active=False)) + queryset=Dojo_User.objects.exclude(is_active=False), + required=False, allow_null=True, + ) class Meta: model = Product diff --git a/dojo/asset/api/views.py b/dojo/asset/api/views.py index d3a873f97da..0e01499c466 100644 --- a/dojo/asset/api/views.py +++ b/dojo/asset/api/views.py @@ -43,7 +43,7 @@ class AssetAPIScanConfigurationViewSet( filterset_class = AssetAPIScanConfigurationFilterSet permission_classes = ( IsAuthenticated, - permissions.UserHasProductAPIScanConfigurationPermission, + permissions.UserHasAssetAPIScanConfigurationPermission, ) def get_queryset(self): @@ -68,7 +68,7 @@ class AssetViewSet( filterset_class = ApiAssetFilter permission_classes = ( IsAuthenticated, - permissions.UserHasProductPermission, + permissions.UserHasAssetPermission, ) def get_queryset(self): @@ -138,7 +138,7 @@ class AssetMemberViewSet( filterset_class = AssetMemberFilterSet permission_classes = ( IsAuthenticated, - permissions.UserHasProductMemberPermission, + permissions.UserHasAssetMemberPermission, ) def get_queryset(self): @@ -166,7 +166,7 @@ class AssetGroupViewSet( filterset_class = AssetGroupFilterSet permission_classes = ( IsAuthenticated, - permissions.UserHasProductGroupPermission, + permissions.UserHasAssetGroupPermission, ) def get_queryset(self): diff --git a/dojo/authorization/authorization.py b/dojo/authorization/authorization.py index b410bb3a95d..840eeb7ea35 100644 --- a/dojo/authorization/authorization.py +++ b/dojo/authorization/authorization.py @@ -1,4 +1,5 @@ from django.core.exceptions import PermissionDenied +from django.db.models import Model, QuerySet from dojo.authorization.roles_permissions import ( Permissions, @@ -11,6 +12,7 @@ Cred_Mapping, Dojo_Group, Dojo_Group_Member, + Dojo_User, Endpoint, Engagement, Finding, @@ -30,7 +32,7 @@ from dojo.request_cache import cache_for_request -def user_has_configuration_permission(user, permission): +def user_has_configuration_permission(user: Dojo_User, permission: str): if not user: return False @@ -40,7 +42,7 @@ def user_has_configuration_permission(user, permission): return user.has_perm(permission) -def user_is_superuser_or_global_owner(user): +def user_is_superuser_or_global_owner(user: Dojo_User) -> bool: """ Returns True if the user is a superuser or has a global role (directly or via group membership) whose Role.is_owner is True. @@ -69,7 +71,7 @@ def user_is_superuser_or_global_owner(user): return False -def user_has_permission(user, obj, permission): +def user_has_permission(user: Dojo_User, obj: Model, permission: int) -> bool: if user.is_anonymous: return False @@ -229,7 +231,7 @@ def user_has_permission(user, obj, permission): raise NoAuthorizationImplementedError(msg) -def user_has_global_permission(user, permission): +def user_has_global_permission(user: Dojo_User, permission: int) -> bool: if not user: return False @@ -263,22 +265,22 @@ def user_has_global_permission(user, permission): return False -def user_has_configuration_permission_or_403(user, permission): +def user_has_configuration_permission_or_403(user: Dojo_User, permission: str) -> None: if not user_has_configuration_permission(user, permission): raise PermissionDenied -def user_has_permission_or_403(user, obj, permission): +def user_has_permission_or_403(user: Dojo_User, obj: Model, permission: int) -> None: if not user_has_permission(user, obj, permission): raise PermissionDenied -def user_has_global_permission_or_403(user, permission): +def user_has_global_permission_or_403(user: Dojo_User, permission: int) -> None: if not user_has_global_permission(user, permission): raise PermissionDenied -def get_roles_for_permission(permission): +def get_roles_for_permission(permission: int) -> set[int]: if not Permissions.has_value(permission): msg = f"Permission {permission} does not exist" raise PermissionDoesNotExistError(msg) @@ -291,7 +293,7 @@ def get_roles_for_permission(permission): return roles_for_permissions -def role_has_permission(role, permission): +def role_has_permission(role: int, permission: int) -> bool: if role is None: return False if not Roles.has_value(role): @@ -304,7 +306,7 @@ def role_has_permission(role, permission): return permission in permissions -def role_has_global_permission(role, permission): +def role_has_global_permission(role: int, permission: int) -> bool: if role is None: return False if not Roles.has_value(role): @@ -332,12 +334,12 @@ def __init__(self, message): self.message = message -def get_product_member(user, product): +def get_product_member(user: Dojo_User, product: Product) -> Product_Member | None: return get_product_member_dict(user).get(product.id) @cache_for_request -def get_product_member_dict(user): +def get_product_member_dict(user: Dojo_User) -> dict[int, Product_Member]: pm_dict = {} for product_member in ( Product_Member.objects.select_related("product") @@ -348,12 +350,12 @@ def get_product_member_dict(user): return pm_dict -def get_product_type_member(user, product_type): +def get_product_type_member(user: Dojo_User, product_type: Product_Type) -> Product_Type_Member | None: return get_product_type_member_dict(user).get(product_type.id) @cache_for_request -def get_product_type_member_dict(user): +def get_product_type_member_dict(user: Dojo_User) -> dict[int, Product_Type_Member]: ptm_dict = {} for product_type_member in ( Product_Type_Member.objects.select_related("product_type") @@ -364,12 +366,12 @@ def get_product_type_member_dict(user): return ptm_dict -def get_product_groups(user, product): +def get_product_groups(user: Dojo_User, product: Product) -> list[Product_Group]: return get_product_groups_dict(user).get(product.id, []) @cache_for_request -def get_product_groups_dict(user): +def get_product_groups_dict(user: Dojo_User) -> dict[int, list[Product_Group]]: pg_dict = {} for product_group in ( Product_Group.objects.select_related("product") @@ -382,12 +384,12 @@ def get_product_groups_dict(user): return pg_dict -def get_product_type_groups(user, product_type): +def get_product_type_groups(user: Dojo_User, product_type: Product_Type) -> list[Product_Type_Group]: return get_product_type_groups_dict(user).get(product_type.id, []) @cache_for_request -def get_product_type_groups_dict(user): +def get_product_type_groups_dict(user: Dojo_User) -> dict[int, list[Product_Type_Group]]: pgt_dict = {} for product_type_group in ( Product_Type_Group.objects.select_related("product_type") @@ -404,16 +406,16 @@ def get_product_type_groups_dict(user): @cache_for_request -def get_groups(user): +def get_groups(user: Dojo_User) -> QuerySet[Dojo_Group]: return Dojo_Group.objects.select_related("global_role").filter(users=user) -def get_group_member(user, group): +def get_group_member(user: Dojo_User, group: Dojo_Group) -> dict[int, Dojo_Group_Member]: return get_group_members_dict(user).get(group.id) @cache_for_request -def get_group_members_dict(user): +def get_group_members_dict(user: Dojo_User) -> dict[int, Dojo_Group_Member]: gu_dict = {} for group_member in ( Dojo_Group_Member.objects.select_related("group") diff --git a/dojo/organization/api/serializers.py b/dojo/organization/api/serializers.py index d624c72524d..73eb68e0294 100644 --- a/dojo/organization/api/serializers.py +++ b/dojo/organization/api/serializers.py @@ -51,7 +51,7 @@ def validate(self, data): if self.instance is not None and not data.get("role").is_owner: owners = ( Product_Type_Member.objects.filter( - product_type=data.get("organization"), role__is_owner=True, + product_type=data.get("organization", data.get("product_type")), role__is_owner=True, ) .exclude(id=self.instance.id) .count() @@ -115,8 +115,8 @@ def validate(self, data): class OrganizationSerializer(serializers.ModelSerializer): - critical_asset = serializers.BooleanField(source="critical_product") - key_asset = serializers.BooleanField(source="key_product") + critical_asset = serializers.BooleanField(source="critical_product", default=False) + key_asset = serializers.BooleanField(source="key_product", default=False) class Meta: model = Product_Type diff --git a/dojo/organization/api/views.py b/dojo/organization/api/views.py index dc9f3fc0cc2..0cbbf561eaf 100644 --- a/dojo/organization/api/views.py +++ b/dojo/organization/api/views.py @@ -17,6 +17,7 @@ ) from dojo.organization.api import serializers from dojo.organization.api.filters import ( + OrganizationFilterSet, OrganizationGroupFilterSet, OrganizationMemberFilterSet, ) @@ -36,17 +37,10 @@ class OrganizationViewSet( serializer_class = serializers.OrganizationSerializer queryset = Product_Type.objects.none() filter_backends = (DjangoFilterBackend,) - filterset_fields = [ - "id", - "name", - "critical_product", - "key_product", - "created", - "updated", - ] + filterset_class = OrganizationFilterSet permission_classes = ( IsAuthenticated, - permissions.UserHasProductTypePermission, + permissions.UserHasOrganizationPermission, ) def get_queryset(self): @@ -60,6 +54,9 @@ def perform_create(self, serializer): product_type_data = serializer.data product_type_data.pop("authorization_groups") product_type_data.pop("members") + # Manage custom fields separately with default fields of false + product_type_data["critical_product"] = product_type_data.pop("critical_asset", False) + product_type_data["key_product"] = product_type_data.pop("key_asset", False) member = Product_Type_Member() member.user = self.request.user member.product_type = Product_Type(**product_type_data) @@ -124,7 +121,7 @@ class OrganizationMemberViewSet( filterset_class = OrganizationMemberFilterSet permission_classes = ( IsAuthenticated, - permissions.UserHasProductTypeMemberPermission, + permissions.UserHasOrganizationMemberPermission, ) def get_queryset(self): @@ -166,7 +163,7 @@ class OrganizationGroupViewSet( filterset_class = OrganizationGroupFilterSet permission_classes = ( IsAuthenticated, - permissions.UserHasProductTypeGroupPermission, + permissions.UserHasOrganizationGroupPermission, ) def get_queryset(self): diff --git a/unittests/test_apiv2_methods_and_endpoints.py b/unittests/test_apiv2_methods_and_endpoints.py index 3ca9f05cd24..38e40f96b89 100644 --- a/unittests/test_apiv2_methods_and_endpoints.py +++ b/unittests/test_apiv2_methods_and_endpoints.py @@ -49,15 +49,18 @@ def test_is_defined(self): "configuration_permissions", "questionnaire_questions", "questionnaire_answers", "questionnaire_answered_questionnaires", "questionnaire_engagement_questionnaires", "questionnaire_general_questionnaires", - "dojo_group_members", "product_members", "product_groups", "product_type_groups", - "product_type_members", "asset_members", "asset_groups", "organization_groups", - "organization_members", # pghistory Event models (should not be exposed via API) "dojo_userevents", "endpointevents", "engagementevents", "findingevents", "finding_groupevents", "product_typeevents", "productevents", "testevents", "risk_acceptanceevents", "finding_templateevents", "cred_userevents", "notification_webhooksevents", } + patch_exempt_list = { + "dojo_group_members", "product_members", "product_groups", "product_type_groups", + "product_type_members", "asset_members", "asset_groups", "organization_groups", + "organization_members", + } + for reg, _, _ in sorted(self.registry): if reg in exempt_list: continue @@ -67,7 +70,15 @@ def test_is_defined(self): f"Endpoint: {reg}, Method: {method}", ) - for method in ["get", "put", "patch", "delete"]: + for method in ["get", "put", "delete"]: + self.assertIsNotNone( + self.schema["paths"][f"{BASE_API_URL}/{reg}" + "/{id}/"].get(method), + f"Endpoint: {reg}, Method: {method}", + ) + + for method in ["patch"]: + if reg in patch_exempt_list: + continue self.assertIsNotNone( self.schema["paths"][f"{BASE_API_URL}/{reg}" + "/{id}/"].get(method), f"Endpoint: {reg}, Method: {method}", diff --git a/unittests/test_rest_framework.py b/unittests/test_rest_framework.py index f32350e2e86..b379c01c2e2 100644 --- a/unittests/test_rest_framework.py +++ b/unittests/test_rest_framework.py @@ -86,6 +86,12 @@ UserContactInfoViewSet, UsersViewSet, ) +from dojo.asset.api.views import ( + AssetAPIScanConfigurationViewSet, + AssetGroupViewSet, + AssetMemberViewSet, + AssetViewSet, +) from dojo.authorization.roles_permissions import Permissions from dojo.models import ( Announcement, @@ -140,6 +146,11 @@ User, UserContactInfo, ) +from dojo.organization.api.views import ( + OrganizationGroupViewSet, + OrganizationMemberViewSet, + OrganizationViewSet, +) from .dojo_test_case import DojoAPITestCase, get_unit_tests_scans_path @@ -1905,6 +1916,29 @@ def __init__(self, *args, **kwargs): BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) +class Asset_API_Scan_ConfigurationTest(BaseClass.BaseClassTest): + fixtures = ["dojo_testdata.json"] + + def __init__(self, *args, **kwargs): + self.endpoint_model = Product_API_Scan_Configuration + self.endpoint_path = "asset_api_scan_configurations" + self.viewname = "asset_api_scan_configuration" + self.viewset = AssetAPIScanConfigurationViewSet + self.payload = { + "asset": 2, + "service_key_1": "dojo_sonar_key", + "tool_configuration": 3, + } + self.update_fields = {"tool_configuration": 2} + self.test_type = TestType.OBJECT_PERMISSIONS + self.permission_check_class = Product_API_Scan_Configuration + self.permission_create = Permissions.Product_API_Scan_Configuration_Add + self.permission_update = Permissions.Product_API_Scan_Configuration_Edit + self.permission_delete = Permissions.Product_API_Scan_Configuration_Delete + self.deleted_objects = 1 + BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) + + class ProductTest(BaseClass.BaseClassTest): fixtures = ["dojo_testdata.json"] @@ -1932,6 +1966,33 @@ def __init__(self, *args, **kwargs): BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) +class AssetTest(BaseClass.BaseClassTest): + fixtures = ["dojo_testdata.json"] + + def __init__(self, *args, **kwargs): + self.endpoint_model = Product + self.endpoint_path = "assets" + self.viewname = "asset" + self.viewset = AssetViewSet + self.payload = { + "product_manager": 2, + "technical_contact": 3, + "team_manager": 2, + "organization": 1, + "name": "Test Product", + "description": "test product", + "tags": ["mytag", "yourtag"], + } + self.update_fields = {"organization": 2} + self.test_type = TestType.OBJECT_PERMISSIONS + self.permission_check_class = Product + self.permission_create = Permissions.Product_Type_Add_Product + self.permission_update = Permissions.Product_Edit + self.permission_delete = Permissions.Product_Delete + self.deleted_objects = 25 + BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) + + class StubFindingsTest(BaseClass.BaseClassTest): fixtures = ["dojo_testdata.json"] @@ -2873,6 +2934,47 @@ def test_create_authorized_owner(self): self.assertEqual(201, response.status_code, response.content[:1000]) +class OrganizationTest(BaseClass.BaseClassTest): + fixtures = ["dojo_testdata.json"] + + def __init__(self, *args, **kwargs): + self.endpoint_model = Product_Type + self.endpoint_path = "organizations" + self.viewname = "organization" + self.viewset = OrganizationViewSet + self.payload = { + "name": "Test Organization", + "description": "Test", + "key_product": True, + "critical_product": False, + } + self.update_fields = {"description": "changed"} + self.test_type = TestType.OBJECT_PERMISSIONS + self.permission_check_class = Product_Type + self.permission_update = Permissions.Product_Type_Edit + self.permission_delete = Permissions.Product_Type_Delete + self.deleted_objects = 25 + BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) + + def test_create_object_not_authorized(self): + self.setUp_not_authorized() + + response = self.client.post(self.url, self.payload) + self.assertEqual(403, response.status_code, response.content[:1000]) + + def test_create_not_authorized_reader(self): + self.setUp_global_reader() + + response = self.client.post(self.url, self.payload) + self.assertEqual(403, response.status_code, response.content[:1000]) + + def test_create_authorized_owner(self): + self.setUp_global_owner() + + response = self.client.post(self.url, self.payload) + self.assertEqual(201, response.status_code, response.content[:1000]) + + class DojoGroupsTest(BaseClass.BaseClassTest): fixtures = ["dojo_testdata.json"] @@ -3016,6 +3118,29 @@ def __init__(self, *args, **kwargs): BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) +class OrganizationMemberTest(BaseClass.MemberEndpointTest): + fixtures = ["dojo_testdata.json"] + + def __init__(self, *args, **kwargs): + self.endpoint_model = Product_Type_Member + self.endpoint_path = "organization_members" + self.viewname = "organization_member" + self.viewset = OrganizationMemberViewSet + self.payload = { + "organization": 1, + "user": 3, + "role": 2, + } + self.update_fields = {"role": 3} + self.test_type = TestType.OBJECT_PERMISSIONS + self.permission_check_class = Product_Type_Member + self.permission_create = Permissions.Product_Type_Manage_Members + self.permission_update = Permissions.Product_Type_Manage_Members + self.permission_delete = Permissions.Product_Type_Member_Delete + self.deleted_objects = 1 + BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) + + class ProductMemberTest(BaseClass.MemberEndpointTest): fixtures = ["dojo_testdata.json"] @@ -3039,6 +3164,29 @@ def __init__(self, *args, **kwargs): BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) +class AssetMemberTest(BaseClass.MemberEndpointTest): + fixtures = ["dojo_testdata.json"] + + def __init__(self, *args, **kwargs): + self.endpoint_model = Product_Member + self.endpoint_path = "asset_members" + self.viewname = "asset_member" + self.viewset = AssetMemberViewSet + self.payload = { + "asset": 3, + "user": 2, + "role": 2, + } + self.update_fields = {"role": 3} + self.test_type = TestType.OBJECT_PERMISSIONS + self.permission_check_class = Product_Member + self.permission_create = Permissions.Product_Manage_Members + self.permission_update = Permissions.Product_Manage_Members + self.permission_delete = Permissions.Product_Member_Delete + self.deleted_objects = 1 + BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) + + class ProductTypeGroupTest(BaseClass.MemberEndpointTest): fixtures = ["dojo_testdata.json"] @@ -3062,6 +3210,29 @@ def __init__(self, *args, **kwargs): BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) +class OrganiazationGroupTest(BaseClass.MemberEndpointTest): + fixtures = ["dojo_testdata.json"] + + def __init__(self, *args, **kwargs): + self.endpoint_model = Product_Type_Group + self.endpoint_path = "organization_groups" + self.viewname = "organization_group" + self.viewset = OrganizationGroupViewSet + self.payload = { + "organization": 1, + "group": 2, + "role": 2, + } + self.update_fields = {"role": 3} + self.test_type = TestType.OBJECT_PERMISSIONS + self.permission_check_class = Product_Type_Group + self.permission_create = Permissions.Product_Type_Group_Add + self.permission_update = Permissions.Product_Type_Group_Edit + self.permission_delete = Permissions.Product_Type_Group_Delete + self.deleted_objects = 1 + BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) + + class ProductGroupTest(BaseClass.MemberEndpointTest): fixtures = ["dojo_testdata.json"] @@ -3085,6 +3256,29 @@ def __init__(self, *args, **kwargs): BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) +class AssetGroupTest(BaseClass.MemberEndpointTest): + fixtures = ["dojo_testdata.json"] + + def __init__(self, *args, **kwargs): + self.endpoint_model = Product_Group + self.endpoint_path = "asset_groups" + self.viewname = "asset_group" + self.viewset = AssetGroupViewSet + self.payload = { + "asset": 1, + "group": 2, + "role": 2, + } + self.update_fields = {"role": 3} + self.test_type = TestType.OBJECT_PERMISSIONS + self.permission_check_class = Product_Group + self.permission_create = Permissions.Product_Group_Add + self.permission_update = Permissions.Product_Group_Edit + self.permission_delete = Permissions.Product_Group_Delete + self.deleted_objects = 1 + BaseClass.RESTEndpointTest.__init__(self, *args, **kwargs) + + class LanguageTypeTest(BaseClass.BaseClassTest): fixtures = ["dojo_testdata.json"] From 52ba74200c79219431b01161b214cadac58f35df Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Wed, 14 Jan 2026 04:56:17 +0100 Subject: [PATCH 05/21] Add Report Builder submenu and improve form validation error messages (#14068) - Add explicit 'Report Builder' submenu item under Reports menu for better UX - Improve form validation error messages to show which specific fields are missing - Fix trailing whitespace in Finding Groups menu item --- dojo/templates/base.html | 9 ++++++++- dojo/templates/dojo/report_builder.html | 19 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/dojo/templates/base.html b/dojo/templates/base.html index c562b598cd9..44bd7ac7df9 100644 --- a/dojo/templates/base.html +++ b/dojo/templates/base.html @@ -343,7 +343,7 @@ {% trans "Finding Groups" %} - +