极客之命令注入实操第二篇

简介: 极客之命令注入实操第二篇

极客之命令注入实操第二篇
长度限制绕过

极客之命令注入实操第二篇

命令注入通常指因为Web应用在服务器上拼接系统命令而造成的漏洞。 该类漏洞通常出现在调用外部程序完成一些功能的情景下。比如一些Web管理界面的配置主机名IP掩码网关、查看系统信息以及关闭重启等功能,或者一些站点提供如ping、nslookup、提供发送邮件、转换图片等功能都可能出现该类漏洞。

wget\ >foo.\ >com ls -t > a sh a

上面的方法为通过命令行重定向写入命令,接着通过ls按时间排序把命令写入文件,最后执行 直接在Linux终端下执行的话,创建文件需要在重定向符号之前添加命令 这里可以使用一些诸如w,[之类的短命令,(使用ls /usr/bin/?查看) 如果不添加命令,需要Ctrl+D才能结束,这样就等于标准输入流的重定向 而在php中 , 使用 shell_exec 等执行系统命令的函数的时候 , 是不存在标准输入流的,所以可以直接创建文件

常用符号编辑
命令分隔符

%0a / %0d / \n / \r
;
& / &&
通配符

  • 0到无穷个任意字符
    ? 一个任意字符
    [ ] 一个在括号内的字符,e.g. [abcd]
    [ - ] 在编码顺序内的所有字符
    [^ ] 一个不在括号内的字符
    防御编辑
    不使用时禁用相应函数
    尽量不要执行外部的应用程序或命令
    做输入的格式检查
    转义命令中的所有shell元字符
    shell元字符包括 #&;,|*?~<>^()[]{}$`

命令行注入,用户输入的字符串被直接作为系统命令在命令行执行。 存储型命令行注入,来自存储设备的字符串被直接作为命令行使用。

阅读我的更多文章

相关文章
|
5月前
|
Java 数据库连接 程序员
从头到尾手把手教你搭建阅读Mybatis源码的环境(程序员必备技能)
从头到尾手把手教你搭建阅读Mybatis源码的环境(程序员必备技能)
195 0
|
4月前
技术经验分享:GMU简单使用一
技术经验分享:GMU简单使用一
83 0
|
4月前
|
C++ 开发者
技术经验分享:dumpbin的使用方法_dumpbin的基础使用
技术经验分享:dumpbin的使用方法_dumpbin的基础使用
211 0
|
运维 Kubernetes 监控
K8S学习-当我们部署应用的时候都发生了什么?(第一篇)
第一篇笔记定的主题是“调度-当我们部署应用的时候都发生了什么?”,先从大的框架上记录一下K8S的架构与原理;对于卷、网络、configmap等组件会放在第二篇。初学者级别的学习笔记,有问题的地方大佬们及时勘误。
31325 17
K8S学习-当我们部署应用的时候都发生了什么?(第一篇)
|
开发框架 监控 NoSQL
阿里内部SpringBoot进阶宝典横空出世,实战源码齐飞
想必大家都知道使用SpringBoot的最大好处就是简化配置,它实现了自动化配置。它简化了Spring应用开发,不需要配置就能运行Spring应用,无论是简单的Web系统,还是构建复杂系统,都只需要少量配置和代码就能完成。这有点像每个公司基于Spring框架做的内部开发框架,不同的是,Spring Boot更完善、更强大。
|
存储 测试技术 开发工具
【遇坑记实 二】小坑合集
【遇坑记实 二】小坑合集
74 0
|
存储 Java 数据库连接
【JavaWeb】复习重点内容(三)
【JavaWeb】复习重点内容(三)
|
SQL 前端开发 Java
【JavaWeb】复习重点内容(一)
【JavaWeb】复习重点内容(一)
|
SQL 移动开发 前端开发
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第四节)
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第四节)
104 0
|
SQL Java 关系型数据库
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第五节)
在上一节中,我们成功将数据从前台的JSP页面传递到了controller层,但是还没有写service层,老实说还有很多工作没有,尤其是和数据库的链接方面的,所以,这一节,我们专门来处理一下关于数据库连接方面的东西。
101 0

热门文章

最新文章