命令执行 [SWPUCTF 2021 新生赛]babyrce
2023-12-20 23:04:42
打开题目
我们看到题目说cookie值admin等于1时,才能包含文件
bp修改一下得到
访问rasalghul.php,得到
题目说如果我们get传入一个url且不为空值,就将我们get姿势传入的url的值赋值给ip
然后用正则过滤了 /? /,如果ip的值没有 /? /符号,则用shell_exec函数来执行变量ip中的命令,并输出结果
那我们直接读取flag
?url=cat flag
题目应该是过滤了空格
那我们就要想一下怎么绕过空格
我们想到用IFS
可能flag也被过滤了
知识点:
-
绕过空格的方法有
注释符/**/绕过
非断开空格%a0
(非断开空格是一种特殊的空格字符,与常规空格不同,它在文本中不会引起换行或断开。在URL编码中,非断开空格通常被表示为 %a0。)
括号绕过空格?
(如果空格被过滤,括号没有被过滤,可以用括号绕过。在MySQL中,括号是用来包围子查询的。任何可以计算出结果的语句,都可以用括号包围起来。而括号两端,可以没有多余的空格)
例如:select(table_name)from(information_schema.tables)where(table_schema)='数据库名'
双写绕过空格
%20绕过空格
linux下绕过空格的方法
$IFS
${IFS}
$IFS$1 //$1改成$加其他数字貌似都行
<
<>
{cat,flag.php}? //用逗号实现了空格功能
%20
%09
-
shell_exec() 函数
shell_exec()
函数是 PHP 中的一个内置函数,用于通过 shell 执行命令并以字符串形式返回完整输出
文章来源:https://blog.csdn.net/m0_75178803/article/details/135118033
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!