成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

QCMS V2.0命令執行與暴絕對路徑漏洞

安全 應用安全 漏洞
QCMS是一款小型的網站管理系統。擁有多種結構類型,包括:ASP+ACCESS、ASP+SQL、PHP+MYSQL。

QCMS是一款小型的網站管理系統。擁有多種結構類型,包括:ASP+ACCESS、ASP+SQL、PHP+MYSQL。今天叫兄弟們一起挖掘QCMS的漏洞,與大家分享挖洞的全過程。

QCMS V2.0命令執行與暴絕對路徑漏洞

把源碼down下來,本地先搭建了一個環境。各種掃描,各種fuzzer,各種模糊測試之后發現apache錯誤日志里面有如下信息:

PHP Warning: mkdir() [function.mkdir]: Invalid argument in 
D:\\WWW\\system\\controller\\home.php on line 36

在system\controller\home.php文件的36行有創建目錄的mkdir函數

QCMS V2.0命令執行與暴絕對路徑漏洞

而$path這個變量是由$thumb傳遞過來的,那么我們向上追蹤$thumb變量。

QCMS V2.0命令執行與暴絕對路徑漏洞

我們發現$thumb初始值為空字符串。而給$thumb賦值是通過$url_arr這個數組。

而$url_arr這個數組又是通過explode函數生成的。其實真正的漏洞成因就在

$url_arr = explode('_', substr($url, 1, -4));

Explode函數根據_將原始的URI分割為數組,存放到$url_arr中。

接下來把$url_arr[1]的***個元素向后截取作為圖片的寬度;

把$url_arr[2]的***個元素向后截取作為圖片的高度;

接下來再判斷$url_arr[3]是否為空,并賦值給$noWaterMark.

也就是說,我們得用_來分割url,而且讓$url_arr的長度必須大于2。否則直接404并且退出程序。

QCMS V2.0命令執行與暴絕對路徑漏洞

我們23行下面設置個斷點,并且把$url_arr打印出來。

QCMS V2.0命令執行與暴絕對路徑漏洞

發現當我提交http://localhost:8088/11_11_11_11

的時候,程序可以直接繞過19行的if判斷,向下走。

但是直接這樣提交并沒有創建文件夾,是因為$path = dirname($thumb);這個函數并沒有給$path賦值,我們打印下$path的值,看下是多少。

QCMS V2.0命令執行與暴絕對路徑漏洞

發現此時的$path是一個.,那么$thumb的值是多少呢?

QCMS V2.0命令執行與暴絕對路徑漏洞

我們發現$thumb的值是11_w1_h1_11。我們來看下dirname這個函數。

發現該函數返回去掉文件名后的目錄名。OK,那么我們提交這樣的URL看看:http://localhost:8088/11_11_11__11/www

QCMS V2.0命令執行與暴絕對路徑漏洞

我們取消刪掉剛才添加的var_dump這些代碼。直接訪問這個URL發現文件夾創建成功。

QCMS V2.0命令執行與暴絕對路徑漏洞

大家可以可能會問為什么還有一個404頁面。OK,我們接著往下看代碼。

QCMS V2.0命令執行與暴絕對路徑漏洞

目錄創建完之后,會盤對$filename這個變量是否是一個文件。我們打印下這個文件名。

QCMS V2.0命令執行與暴絕對路徑漏洞

我們會發現,這個文件名是用$url_arr的下標為0的元素加上文件的后綴名組裝的。

這真是一個神奇的組裝。大家看我怎么拼接。

我提交如下url:

http://localhost:8088/index_11_11__11/.php

QCMS V2.0命令執行與暴絕對路徑漏洞

就組裝成了首頁的index.php

我提交http://localhost:8088/lib/config/config_11_11__11/.php

那么就組裝成了數據庫的配置文件.

QCMS V2.0命令執行與暴絕對路徑漏洞

這時候$filename就是一個文件名.就繞過了

QCMS V2.0命令執行與暴絕對路徑漏洞

開始執行下面的生成縮略圖的操作.

接下來程序會判斷圖片的大小是否在程序預定義的$size_arr這個數組中。

QCMS V2.0命令執行與暴絕對路徑漏洞

如果不在,那么抱歉,404.我們先打印下原來的圖片大小。

QCMS V2.0命令執行與暴絕對路徑漏洞

發現圖片大小為1,1 。不在預定義的數組中,那么就不會向下執行。怎么繞過呢?修改圖片大小。我們提交如下url

http://localhost:8088/lib/config/config_150_150__11/.php

QCMS V2.0命令執行與暴絕對路徑漏洞

成功繞過。開始執行exec生成縮略圖的操作。和readfile讀取文件的操作。

exec('convert -resize "'.$width.'x&'.$height.'>" '.$filename.' '.$thumb.'');

而convert-resize 這個命令是linux下生成縮略圖的命令。要使用這個命令,必須先安裝ImageMagick。于是我又搭建了一個LAMP環境。yum -y install ImageMagick

安裝了下ImageMagick

QCMS V2.0命令執行與暴絕對路徑漏洞

然后生成了下縮略圖

convert -resize "100x100>" /var/www/html/qcms/upload/static/upload/source/20141101/5.png /var/www/html/qcms/upload/static/upload/source/20141101/6.png

這條命令就是把5.png 縮放為100×100的6.png。

而我提交http://localhost:8088/lib/config/config_150_150__11/.php

那么就試圖把lib/config/config.php這個文件生成lib/config/config_w50_h50.php

把lib/config/config_w50_h50.php 當成lib/config/config.php的縮略圖。

但是一個php文件當作圖片生成另一個縮略圖文件就會失敗。因此再去讀取那個縮略圖文件時就會讀取失敗。因為文件不存在。在火狐下可能會暴圖片因存在錯誤而無法顯示。

而在IE下有可能就會暴出絕對路徑

QCMS V2.0命令執行與暴絕對路徑漏洞

我感覺exec('convert -resize " '.$width.''.$height.'>" '.$filename.''.$thumb.''); 和readfile($thumb); 這兩處應該還有更多的利用價值。希望大家一起研究下。

本文投稿作者:TakeDown Team漏洞研究員MXi4oyu、Arya

責任編輯:藍雨淚 來源: FreeBuf
相關推薦

2010-06-23 17:26:01

2011-06-23 15:33:24

SEO

2011-07-11 13:29:03

JAVA

2009-08-06 18:31:57

C#相對路徑絕對路徑

2010-03-18 08:48:30

Python入門

2022-11-04 10:49:56

Linux文件

2022-11-16 10:13:29

Linux相對路徑絕對路徑

2022-08-29 14:11:10

Linux絕對路徑相對路徑

2015-03-30 15:45:41

javascripta標簽絕對路徑方法

2021-04-19 15:37:43

鴻蒙HarmonyOS應用

2011-02-22 14:32:24

2011-12-12 17:31:02

虛擬設備isyVmon v2.VMware

2013-04-26 10:10:52

2019-08-30 09:54:39

LinuxC語言文本編輯器

2023-10-22 08:39:13

Linux目錄切換

2009-04-29 09:23:04

rapid-frame2.0封裝

2020-11-01 16:14:27

PythonPyston v2.0

2020-11-02 09:07:41

Pyston v2.0Python

2012-10-10 13:54:34

浪潮公安云云平臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品一区二区 | 久久美女网| 午夜精品久久久久久久久久久久 | 一区二区小视频 | 精品久久久久久久久久久 | 日韩精品免费在线观看 | 亚洲免费精品 | 福利网站导航 | 日日夜夜av | 国产日韩欧美中文 | 精品久久久久久久 | 一级黄色播放 | 成人在线免费av | 99视频在线播放 | 金莲网| 国产精品久久久久久久久久 | 午夜激情免费 | 日韩www| 欧美一级片在线观看 | 日韩精品中文字幕一区二区三区 | 日韩www | 天天天操 | 波多野结衣中文字幕一区二区三区 | 国精日本亚洲欧州国产中文久久 | 国产一区2区 | 99免费精品 | 逼逼网 | 天天综合成人网 | 免费视频一区二区 | 国产乱码久久久久久 | 在线三级网址 | 久久一二区 | 成人网av | 日本视频免费 | 欧美在线a | 在线免费观看成人 | 国产精品一区二区三区免费观看 | 一区二区三区免费 | 欧美日韩在线一区二区三区 | 欧美在线视频观看 | 亚洲精品免费在线 |