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

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

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

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

命令注入通常指因为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元字符包括 #&;,|*?~<>^()[]{}$`

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

阅读我的更多文章

相关文章
|
3月前
|
Java 数据库连接 程序员
从头到尾手把手教你搭建阅读Mybatis源码的环境(程序员必备技能)
从头到尾手把手教你搭建阅读Mybatis源码的环境(程序员必备技能)
142 0
|
2月前
技术经验分享:GMU简单使用一
技术经验分享:GMU简单使用一
76 0
|
2月前
|
分布式计算 NoSQL Spark
技术好文:scyllaDB基本使用
技术好文:scyllaDB基本使用
|
3月前
|
监控 安全 Java
腾讯T4大牛整理的SpringBoot文档,覆盖你认知中的所有操作
SpringBoot目前的使用已经很普遍了,实际的项目中,我们需要集成各种的插件支持,不仅如此,还有很多可能我们平时不知道,但是很方便的操作。pdf里面的东西还是比较全面的。
|
开发框架 监控 NoSQL
阿里内部SpringBoot进阶宝典横空出世,实战源码齐飞
想必大家都知道使用SpringBoot的最大好处就是简化配置,它实现了自动化配置。它简化了Spring应用开发,不需要配置就能运行Spring应用,无论是简单的Web系统,还是构建复杂系统,都只需要少量配置和代码就能完成。这有点像每个公司基于Spring框架做的内部开发框架,不同的是,Spring Boot更完善、更强大。
|
存储 测试技术 开发工具
【遇坑记实 二】小坑合集
【遇坑记实 二】小坑合集
65 0
|
前端开发 JavaScript IDE
程序员成长第二篇:如何快速入门
程序员成长第二篇:如何快速入门
116 0
|
JSON JavaScript 前端开发
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第三节)
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第三节)
106 0
|
前端开发 JavaScript 容器
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)
|
SQL 索引
yyds,SQL基础教程,进阶必须(建议收藏!) 下
yyds,SQL基础教程,进阶必须(建议收藏!) 下
102 0