Refactoring and Enhancement of CVE-2019-14666
Exploit Code
#1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello maintainers and contributors,
I'm making this Pull Request because I've had to use this CVE and since I've updated it, I thought you'd like to have an updated version on tray. It was either that or keep it in my personal repository. Preferring the whole community to focus on the original code, I prefer it to be updated here. I hope you appreciate this approach.
This pull request includes a series of improvements and refactorings related to the exploit code for
CVE-2019-14666
. The main aim of this PR is to enhance clarity, efficiency, and maintainability.Testing:
Thoroughly tested the refactored code against a GLPI <= 9.4.3 instance to ensure that the exploit still functions as intended without any regressions. To avoid spoilers, it's on a HackTheBox box.
Impact:
Key Changes:
Details
#!/usr/bin/env python3
, making it explicit that Python 3 is being used.httpx
library instead ofrequests
.sys
.__repr__
and__str__
) for better string representation of the class instance.requests.packages.urllib3.disable_warnings()
) and instead added a parameterverify=False
directly into thehttpx.Client()
.main()
) of the script is more structured and leverages the methods in the class for its operation.