目录
[MoeCTF 2021]babyRCE
1、题目
2、知识点
3、思路
[SWPUCTF 2022 新生赛]funny_web
4、题目
5、知识点
6、思路
[MoeCTF 2021]babyRCE
1、题目
2、知识点
空格绕过、过滤绕过
3、思路
出现源码,进行代码审计
需要我们GET方式上传一个rce变量,然后system(rce)执行系统命令,也就是说我们上传的参数内容可以是系统命令,但是对参数内容进行了过滤,不能输入cat、tac、flag、空格等,而且不区分大小写
空格绕过:${IFS}$9 、{IFS} 、$IFS 、${IFS}、$IFS$1(其他数字也行,不一定要1)、IFS等
cat等绕过:ca\t、fl\ag,因为linux系统会将 \+字母当成一种字符
?rce=ls
得到两个页面
?rce=ca\t${IFS}fl\ag.php
没有提示,说明绕过了过滤,右键查看一下源代码
得到flag:NSSCTF{8095f050-fc52-458b-acef-4ffc5511a348}
[SWPUCTF 2022 新生赛]funny_web
4、题目
5、知识点
弱比较,intval()
6、思路
顺便输入一些内容,得到用户名提示
用户名:NSS
得到密码提示在,这里可以使用爆破,QQ号是:2122693401
登录上去得到源码
进行审计,这里需要我们上传一个num,值不能等于12345,经过intval()跟12345进行弱比较
intval()
弱比较,只比较值,不比较类型,若一个数字和一个字符串进行比较或者进行运算时,PHP会把字符串转换成数字再进行比较。若字符串以数字开头,则取开头数字作为转换结果。
构造payload:?num=12345a
得到flag:NSSCTF{4dfc2034-03e0-43de-a63f-f79fb43c5c07}
这篇文章就先写到这里了,哪里不懂的或者哪里不足的欢迎指出