CN106503553A - 一种无回显的远程命令执行漏洞的验证方法 - Google Patents
一种无回显的远程命令执行漏洞的验证方法 Download PDFInfo
- Publication number
- CN106503553A CN106503553A CN201610866883.3A CN201610866883A CN106503553A CN 106503553 A CN106503553 A CN 106503553A CN 201610866883 A CN201610866883 A CN 201610866883A CN 106503553 A CN106503553 A CN 106503553A
- Authority
- CN
- China
- Prior art keywords
- leak
- orders
- time
- executes
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种无回显的远程命令执行漏洞的验证方法。该方法通过特定命令制造时间上的延时,根据对比不同请求的返回时间长短,来识别远程命令执行漏洞的存在。所述特定命令优选为sleep命令。本发明不依赖命令的内容回显,解决了无回显场景下远程命令执行漏洞无法验证的问题;本发明依赖的sleep命令是一种非常常见的命令,存在于几乎所有linux/unix操作系统中,使得本发明的应用场景十分广泛。
Description
技术领域
本发明属于信息技术领域,具体涉及一种无回显的远程命令执行漏洞的验证方法。
背景技术
远程命令执行漏洞是一种常见的高危害级别的漏洞。通过这个漏洞,能够让攻击者在远程服务器上执行指定的命令。如whoami,cat/etc/passwd等。远程命令执行漏洞通常的验证方式是通过执行系统命令,把命令的输出内容回显到页面上来验证命令是否存在。
对于远程命令执行漏洞,传统的验证方法是执行命令输出特定的内容来证明漏洞的存在,然而有些远程命令执行漏洞并不在返回内容中包含命令的输出结果。这种情况下,传统的方法就无法验证了。
发明内容
本发明针对上述问题,提供一种无回显的远程命令执行漏洞的验证方法,能够使用不依赖内容回显但可用程序识别的方法来验证漏洞的存在。
本发明采用的技术方案如下:
一种无回显的远程命令执行漏洞的验证方法,通过特定命令制造时间上的延时,根据对比不同请求的返回时间长短,来识别远程命令执行漏洞的存在。
进一步地,所述特定命令优选为sleep命令。
进一步地,上述方法具体可包括以下步骤:
1)为了避免任意请求本身的时间开销产生的干扰,需要先计算出背景时间开销T0,具体方法是在POC脚本中构造payload,尝试让远程系统执行“sleep 0”命令,发起无延时的请求,记录从发起请求到返回所消耗的时间T0。
2)有了背景时间开销T0,需要计算出一个时间长度,当sleep命令成功时,能与背景时间开销产生显著的区分,便于后续的比较工作。如果T0的值绝对稳定,可以执行sleep大于0的任意时间来产生延迟时间T1,如果T1略大于T0,即存在漏洞。但是实际使用中,T0的值会有测量误差,所以计算时需要加入一定的冗余量来减少误判,本发明使用一个计算公式,T1=(T0+1)*2,当T0很小接近于0时,T1可以有至少2秒的区分,当T0比较大时,T1的值比2倍的T0大2秒,也会有较好的区分度。具体方法是在POC脚本中构造payload,计算T1=(T0+1)*2,试图让远程系统执行“sleep T1”命令,从而发起延时的请求,记录从发起请求到返回所消耗的时间T2,如果存在漏洞,T2的值应该是T1加上本次的背景时间开销,会大于T1,如果不存在漏洞,T2的值应该跟T0处在同一数量级,小于T1。
3)重复骤2)N次,其中N>=1,如果T2的值大于T1,则认为远程系统可能存在命令执行漏洞;如果发现有T2小于等于T1,则远程系统不存在命令执行漏洞。
进一步地,通过增加步骤3)中N的值来降低误报的可能。
进一步地,步骤3)中N的值优选为3到5次。
本发明的有益效果如下:
1)本发明不依赖命令的内容回显,解决了无回显场景下远程命令执行漏洞无法验证的问题;
2)本发明使用的sleep命令是一种非常常见的命令,存在于几乎所有linux/unix操作系统中,包括常见的路由器,机顶盒等设备中,所以应用场景十分广泛。
附图说明
图1是本发明方法的步骤流程图。
具体实施方式
下面通过具体实施例和附图,对本发明做进一步说明。
本发明使用一种不依赖内容回显但可用程序识别的方法来验证漏洞的存在,其核心思想是使用特定命令制造时间上的延时,根据对比不同请求的返回时间长短来识别漏洞的存在。
本发明提供的完整技术方案如图1所示,包括以下步骤:
步骤1,POC(Proof Of Concept,为观点提供证据(证明漏洞存在的程序))脚本中构造payload(载荷,用于在漏洞利用的脚本中传递指定的系统命令),尝试让远程系统执行“sleep 0”命令,发起无延时的请求,记录从发起请求到返回所消耗的时间T0;
步骤2,POC脚本中构造payload,计算一个T1=(T0+1)*2,试图让远程系统执行“sleep T1”命令,发起延时的请求,记录从发起请求到返回所消耗的时间T2。如前文所述,本发明中T1的计算方式不限于上述公式,实际上T1>T0即可。由于数字越大检测越慢,数字越小越容易误报,采用上述计算公式可以平衡两者的矛盾。
步骤3,重复“步骤2”N次(N>=1),如T2的值大于T1,则可认为远程系统可能存在命令执行漏洞。如发现有T2小于等于T1,则远程系统不存在命令执行漏洞。
可能的误报及改进:
由于性能问题或网络延迟,本方法可能会造成误报,通过增加“步骤3”中N的值能够降低误报的可能,实际使用场景建议重复3到5次。
下面提供一个具体实例。本实验可能具有攻击性,为避免不必要的法律纠纷,本例子仅限于本机环境测试使用。
下面有三个文件内容,分别是一个存在命令执行漏洞的样例程序(bad.php),一个修复了漏洞的样例程序(good.php),和一个漏洞利用程序(poc.php):
除上述实施方式外,本方法使用的命令不限于sleep,也可以使用其它能产生延时效果的命令替代,包括但不限于下面所举的这些例子。不同于sleep命令直接传入时间参数,下面的命令需要两个参数配合来得到所需的延时效果,总花费时间≈时间间隔×次数。下面以间隔1秒,执行三次为例:
一、使用ping命令,-W参数控制时间间隔,-c参数控制次数。
例如:ping -W1 -c3 1.1.1.1
二、使用top命令,-d参数控制时间间隔,-n参数控制次数。
例如:top -d1 -n3
三、使用vmstat或iostat命令,第一参数控制时间间隔,第二参数控制次数。
例如:vmstat 1 3或iostat 1 3
四、使用free命令,-s参数控制时间间隔,-c参数控制次数。
例如:free -s 1 -c 3
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (6)
1.一种无回显的远程命令执行漏洞的验证方法,其特征在于,通过特定命令制造时间上的延时,根据对比不同请求的返回时间长短,来识别远程命令执行漏洞的存在。
2.如权利要求1所述的方法,其特征在于,所述特定命令为下列中的一种:sleep命令,ping命令,top命令,vmstat命令,iostat命令,free命令。
3.如权利要求2所述的方法,其特征在于,包括以下步骤:
1)在POC脚本中构造payload,尝试让远程系统执行“sleep 0”命令,发起无延时的请求,记录从发起请求到返回所消耗的时间T0;
2)在POC脚本中构造payload,计算T1,T1>T0,试图让远程系统执行“sleep T1”命令,从而发起延时的请求,记录从发起请求到返回所消耗的时间T2;
3)重复骤2)N次,其中N>=1,如果T2的值大于T1,则认为远程系统可能存在命令执行漏洞;如果发现有T2小于等于T1,则远程系统不存在命令执行漏洞。
4.如权利要求3所述的方法,其特征在于,T1的计算方法为:T1=(T0+1)*2。
5.如权利要求3所述的方法,其特征在于,通过增加步骤3)中N的值来降低误报的可能。
6.如权利要求5所述的方法,其特征在于,步骤3)中N的值为3到5次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610866883.3A CN106503553B (zh) | 2016-09-29 | 2016-09-29 | 一种无回显的远程命令执行漏洞的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610866883.3A CN106503553B (zh) | 2016-09-29 | 2016-09-29 | 一种无回显的远程命令执行漏洞的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106503553A true CN106503553A (zh) | 2017-03-15 |
CN106503553B CN106503553B (zh) | 2019-07-30 |
Family
ID=58291069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610866883.3A Active CN106503553B (zh) | 2016-09-29 | 2016-09-29 | 一种无回显的远程命令执行漏洞的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106503553B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819758A (zh) * | 2017-11-03 | 2018-03-20 | 北京知道未来信息技术有限公司 | 一种网络摄像头漏洞远程检测方法及装置 |
CN112329024A (zh) * | 2020-11-17 | 2021-02-05 | 国网北京市电力公司 | 漏洞的检测方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1118175A (ja) * | 1997-06-19 | 1999-01-22 | Hitachi Ltd | 遠方監視制御装置及びその通信方法 |
US6313782B1 (en) * | 1960-11-16 | 2001-11-06 | The United States Of America As Represented By The Secretary Of The Army | Coded phase modulation communications system |
US20120001755A1 (en) * | 2010-07-02 | 2012-01-05 | Richard Paul Conrady | Virtual Presence after Security Event Detection |
CN103139025A (zh) * | 2011-12-05 | 2013-06-05 | 艾默生网络能源系统北美公司 | Modbus设备的接入方法及系统 |
CN105072095A (zh) * | 2015-07-20 | 2015-11-18 | 北京神州绿盟信息安全科技股份有限公司 | 一种检测sql注入漏洞的方法及装置 |
-
2016
- 2016-09-29 CN CN201610866883.3A patent/CN106503553B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6313782B1 (en) * | 1960-11-16 | 2001-11-06 | The United States Of America As Represented By The Secretary Of The Army | Coded phase modulation communications system |
JPH1118175A (ja) * | 1997-06-19 | 1999-01-22 | Hitachi Ltd | 遠方監視制御装置及びその通信方法 |
US20120001755A1 (en) * | 2010-07-02 | 2012-01-05 | Richard Paul Conrady | Virtual Presence after Security Event Detection |
CN103139025A (zh) * | 2011-12-05 | 2013-06-05 | 艾默生网络能源系统北美公司 | Modbus设备的接入方法及系统 |
CN105072095A (zh) * | 2015-07-20 | 2015-11-18 | 北京神州绿盟信息安全科技股份有限公司 | 一种检测sql注入漏洞的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819758A (zh) * | 2017-11-03 | 2018-03-20 | 北京知道未来信息技术有限公司 | 一种网络摄像头漏洞远程检测方法及装置 |
CN112329024A (zh) * | 2020-11-17 | 2021-02-05 | 国网北京市电力公司 | 漏洞的检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106503553B (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Quantitative analysis of load redistribution attacks in power systems | |
US9203859B2 (en) | Methods and systems for cyber-physical security modeling, simulation and architecture for the smart grid | |
Francillon et al. | A minimalist approach to remote attestation | |
KR20200085899A (ko) | 아이덴티티 검증 방법 및 장치 | |
CN105938502A (zh) | 面向AltaRica模型的系统安全性设计验证方法 | |
CN106503553A (zh) | 一种无回显的远程命令执行漏洞的验证方法 | |
Ruchkin et al. | Eliminating inter-domain vulnerabilities in cyber-physical systems: An analysis contracts approach | |
CN113010922B (zh) | 一种防篡改的能源工业互联网多边缘链数据共享方法 | |
CN109447384A (zh) | 风控系统的验证方法、装置、设备及存储介质 | |
CN106713229A (zh) | 一种基于用户行为的智能电网终端可信接入系统和方法 | |
CN109189618A (zh) | 一种服务器重启测试方法、装置及设备 | |
CN109743339B (zh) | 电力厂站的网络安全监测方法和装置、计算机设备 | |
CN105282166A (zh) | 一种linux操作系统的身份认证方法及系统 | |
CN105100039A (zh) | 基于iSCSI的数据完整性存储系统 | |
CN110443046A (zh) | 一种漏洞修复的方法及装置 | |
CN112800473B (zh) | 一种基于大数据安全屋的数据处理方法 | |
CN109298849A (zh) | 区块链网络中通过事务委托达到可信内源随机的实现方法 | |
CN114418133A (zh) | 一种基于区块链的异步联邦学习方法、系统、设备及介质 | |
Ou et al. | The common vulnerability scoring system (CVSS) | |
CN102739690B (zh) | 一种数据安全交换进程监管方法及系统 | |
CN106484469B (zh) | 一种嵌入式系统数据处理方法及其装置 | |
CN104022816A (zh) | 以太网无源光网络中的报文模拟交互方法和报文模拟交互单元 | |
Gang et al. | Energy consumption analysis method of CPS software based on architecture modeling | |
CN114598474B (zh) | 硬件设备抵近可信管理方法、装置、计算机设备及介质 | |
Kibret | Property-based attestation in device swarms: a machine learning approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 301, Unit 1, 3rd Floor, Building 15, No.1 Courtyard, Gaolizhang Road, Haidian District, Beijing, 100080 Patentee after: BEIJING KNOW FUTURE INFORMATION TECHNOLOGY CO.,LTD. Address before: 100102 room 112102, unit 1, building 3, yard 1, Futong East Street, Chaoyang District, Beijing Patentee before: BEIJING KNOW FUTURE INFORMATION TECHNOLOGY CO.,LTD. |