hacktricks/pentesting-web/parameter-pollution.md

10 KiB

Parameter Pollution

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

{% embed url="https://websec.nl/" %}

HTTP Parameter Pollution (HPP) Overview

HTTP Parameter Pollution (HPP) рдПрдХ рддрдХрдиреАрдХ рд╣реИ рдЬрд╣рд╛рдБ рд╣рдорд▓рд╛рд╡рд░ HTTP рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рд╣реЗрд░рдлреЗрд░ HTTP рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдпрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рд╣реЗрд░рдлреЗрд░реЛрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдЕрд╡рд▓реЛрдХрдиреАрдп рдкреНрд░рднрд╛рд╡ рд╣реЛрддрд╛ рд╣реИред

Example of HTTP Parameter Pollution (HPP)

рдПрдХ рдмреИрдВрдХрд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдирджреЗрди URL:

  • Original URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000

рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд from рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдкрд░:

  • Manipulated URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC

рд▓реЗрдирджреЗрди рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ accountC рдкрд░ рдЪрд╛рд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдмрдЬрд╛рдп accountA рдХреЗ, рдЬреЛ HPP рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдирджреЗрди рдпрд╛ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдЬреИрд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ, 2FA рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдпрд╛ API рдХреБрдВрдЬреА рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

Technology-Specific Parameter Parsing

  • рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреИрд╕реЗ рдкрд╛рд░реНрд╕ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИ, рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡реЗрдм рддрдХрдиреАрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ HPP рдХреЗ рд╢реЛрд╖рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
  • Wappalyzer рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдЗрди рддрдХрдиреАрдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред

PHP and HPP Exploitation

OTP Manipulation Case:

  • Context: рдПрдХ рд▓реЙрдЧрд┐рди рддрдВрддреНрд░ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рди-рдЯрд╛рдЗрдо рдкрд╛рд╕рд╡рд░реНрдб (OTP) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдХрд╛ рд╢реЛрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • Method: Burp Suite рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ OTP рдЕрдиреБрд░реЛрдз рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдХреЗ, рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдиреЗ HTTP рдЕрдиреБрд░реЛрдз рдореЗрдВ email рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ред
  • Outcome: OTP, рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдИрдореЗрд▓ рдХреЗ рд▓рд┐рдП рдерд╛, рдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣реЗрд░рдлреЗрд░ рдХрд┐рдП рдЧрдП рдЕрдиреБрд░реЛрдз рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рджреВрд╕рд░реЗ рдИрдореЗрд▓ рдкрддреЗ рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдпрд╣ рджреЛрд╖ рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд▓рдХреНрд╖рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреИрдХрдПрдВрдб рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреВрдХ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ OTP рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ email рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

API Key Manipulation Case:

  • Scenario: рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреГрд╖реНрда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА API рдХреБрдВрдЬреА рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • Attack Vector: рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ POST рдЕрдиреБрд░реЛрдз рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд api_key рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдХрд░, рд╡реЗ API рдХреБрдВрдЬреА рдЕрдкрдбреЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • Technique: Burp Suite рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдорд▓рд╛рд╡рд░ рдПрдХ рдЕрдиреБрд░реЛрдз рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреЛ api_key рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ: рдПрдХ рд╡реИрдз рдФрд░ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдгред рд╕рд░реНрд╡рд░, рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реБрдП, API рдХреБрдВрдЬреА рдХреЛ рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдорд╛рди рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
  • Result: рд╣рдорд▓рд╛рд╡рд░ рдкреАрдбрд╝рд┐рдд рдХреА API рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдЬреА рдбреЗрдЯрд╛ рддрдХ рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдВрдЪ рдпрд╛ рд╕рдВрд╢реЛрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЙрджрд╛рд╣рд░рдг API рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди рдЬреИрд╕реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

Parameter Parsing: Flask vs. PHP

рд╡реЗрдм рддрдХрдиреАрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ HTTP рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ HPP рд╣рдорд▓реЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдЙрдирдХреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ:

  • Flask: рдкрд╣рд▓реЗ рдорд┐рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдХреЛ рдЕрдкрдирд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ a=1 рдПрдХ рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ a=1&a=2 рдореЗрдВ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдмрд╛рдж рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯреНрд╕ рдкрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИред
  • PHP (Apache HTTP Server рдкрд░): рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИ, рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ a=2 рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ HPP рд╢реЛрд╖рдг рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╣реЗрд░рдлреЗрд░ рдХрд┐рдП рдЧрдП рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдореВрд▓ рдкрд░ рд╕рдореНрдорд╛рдирд┐рдд рдХрд░рддреЗ рд╣реБрдПред

References

{% embed url="https://websec.nl/" %}

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}