Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 1.41 KB

php.md

File metadata and controls

21 lines (16 loc) · 1.41 KB

PHP Notes

Bypass filters

In many cases HTTP QUERY parameters are filtered on edge servers (such as nginx). The following is a small list of tricks that can be used under certain circumstances.

on parameters containing _

In such cases where a parameter that is filtered contains _ (ie test_param) we may be able bypass the filter by replacing the _ with a dot (.), eg test.param. This will be converted back to _ by php (test.param=>test_param).

on parameters containing [] (arrays)

In such cases where a parameter is filtered for specific array variables (eg user[id]=test), we may be able to bypass the filter by appending some junk at the end of our array variable. This will be removed by PHP and will be converted back to its normal form (eg user[id]random=test => user[id]random=test)

on php 7.4.11 and up the cookie names are no longer url-decoded

As of PHP 7.4.11, the names of incoming cookies are no longer url-decoded for security reasons.

So a cookie name like this: %41%42%43 was passed as ABC to php before and now is getting passed as is.