安恒杯十二月月賽WriteUP

WEB

0x01 ezweb2

訪問主頁抓包發(fā)現(xiàn)存在cookie值,其中uesr為base64加密解密后發(fā)現(xiàn)值同為user。

cookie

將其值修改為admin的base64加密后的值進行訪問,發(fā)現(xiàn)頁面重定向到了admin.php頁面。

重定向

通過訪問并抓包發(fā)現(xiàn)可以直接輸入CMD命令

后臺

輸入ls發(fā)現(xiàn)返回當前目錄中的文件松邪,但輸入ls /確出現(xiàn)錯誤。

image.png

無法使用空格哨查,通過cat<config.php命令查看config.php文件逗抑,發(fā)現(xiàn)該文件將cmd傳入的部分字符都替換成了空。

替換

在linux中空格可以使用$IFS代替空格。利用ls$IFS/查看/目錄下文件發(fā)現(xiàn)flag文件邮府。

image.png

通過cat$IFS/ffLAG_404獲得flag荧关。

flag1

0x02 easy

<?php  
@error_reporting(1); 
include ‘flag.php‘;
class baby 
{   
    public $file;
    function __toString()      
    {          
        if(isset($this->file)) 
        {
            $filename = "./{$this->file}";        
            if (file_get_contents($filename))         
            {              
                return file_get_contents($filename); 
            } 
        }     
    }  
}  
if (isset($_GET[‘data‘]))  
{ 
    $data = $_GET[‘data‘];
    preg_match(‘/[oc]:\d+:/i‘,$data,$matches);
    if(count($matches))
    {
        die(‘Hacker!‘);
    }
    else
    {
        $good = unserialize($data);
        echo $good;
    }     
} 
else 
{ 
    highlight_file("./index.php"); 
} 
?>

代碼審計的題目:
第一部分,分定義了一個baby的類褂傀,$file可以傳入一個文件名,將該文件讀入一個字符串并返回打印出來忍啤。(其中提示了flag位于flag.php文件中)
第二部分,可以利用get的方式傳入data參數(shù)仙辟,對參數(shù)進行正則匹配同波,符合正則顯示hacker!歉井,不符合正則可以對baby類進行反序列化偷遗。

解題部分:
第一步,對baby類將需要的$file變量參數(shù)flag.php傳入進行序列化酣倾。得到序列化后的字符串O:4:"baby":1:{s:4:"file";s:8:"flag.php";}煎饼。

<?php  
@error_reporting(1); 
include ‘flag.php‘;
class baby 
{   
    public $file="flag.php";
    function __toString()      
    {          
        if(isset($this->file)) 
        {
            $filename = "./{$this->file}";        
            if (file_get_contents($filename))         
            {              
                return file_get_contents($filename); 
            } 
        }     
    }  

$a = new baby();
print_r(serialize($a));
>

第二步讹挎,繞過正則表達式preg_match(‘/[oc]:\d+:/i‘,$data,$matches);正則中寫到不能以大小的O/C字符開頭后面接:再接正整數(shù)。現(xiàn)在我們序列化字符串O:4:"baby":1:{s:4:"file";s:8:"flag.php";}正好符合大寫O開頭后面為:再后面為正整數(shù)4吆玖。

在PHP源碼var_unserializer.c筒溃,對反序列化字符串進行處理,在代碼568行對字符進行判斷沾乘,并調用相應的函數(shù)進行處理怜奖,當字符為'O'時,調用 yy13 函數(shù)翅阵,在 yy13 函數(shù)中歪玲,對‘O‘字符的下一個字符進行判斷,如果是':',則調用 yy17 函數(shù),如果不是則調用 yy3 函數(shù),直接return 0掷匠,結束反序列化滥崩。接著看 yy17 函數(shù)。通過觀察yybm[]數(shù)組可知讹语,第一個if判斷是否為數(shù)字钙皮,如果為數(shù)字則跳轉到 yy20 函數(shù),第二個判斷如果是'+'號則跳轉到 yy19 顽决,在 yy19 中短条,繼續(xù)對 +號 后面的字符進行判斷,如果為數(shù)字則跳轉到 yy20 ,如果不是則跳轉到 yy18 才菠, y18 最終跳轉到 yy3 茸时,退出反序列化流程。由此赋访,在'O:',后面可以增加'+'可都,用來繞過正則判斷缓待。(摘自紅日攻防實驗室http://sec-redclub.com/archives/962/

反序列化

通過將序列化的字符串修改為O:+4:"baby":1:{s:4:"file";s:8:"flag.php";},并使用get方式以data作為參數(shù)上傳后得到flag汹粤。

MISC

0x01變換的指紋

0x02 簽到

關注公眾號命斧,發(fā)送flag,回答問題田晚,世界上什么牛不會跑嘱兼,回答蝸牛獲得flag。

0x03學習資料

下載后得到壓縮包5c19f90d2677e贤徒,通過解壓獲得加密壓縮包“只要學不死就往死里學”及“備忘錄”,通過rar打開兩個壓縮包比較發(fā)現(xiàn)兩個壓縮包都包含同一文件備忘錄芹壕,并且他們的CRC32校驗都同為AB42C601。

獲得壓縮包

可以對解壓出來的備忘錄進行重新壓縮接奈,并使用ARCHPR對加密壓縮包“只要學不死就往死里學”進行明文破解踢涌。

archpr

4個半小時后,終于解密到第十位獲得密碼1qazmko098序宦。

得到密碼

輸入密碼解壓后得到學習資料睁壁。

5年高考3年模擬

通過把修改后綴為zip用rar打開后通過查找到world下的document.xml獲得flag。

flag3

0x04 JUJU

題目提示說女朋友問我這11只JUJU哪只好看互捌?(flag中的字符串md5后提交)
下載圖片發(fā)現(xiàn)圖片中只有幾個豬潘明,哪有11只。

JUJU

通過winhex打開秕噪,通過修改圖片的高度及寬度還原圖片的真實尺寸钳降。修改寬度發(fā)現(xiàn)圖片變花,可以修改高度還原圖片腌巾,最后發(fā)現(xiàn)高度為00000438為真實圖片高度遂填。

hex

還原的圖片獲得字符串MZWGCZ33GQZTQMTEM5SGMMTEPU====

真實圖片

該字符串末尾為=屬于base加密,密文只包括大寫字母及數(shù)字澈蝙,屬于base32加密吓坚,通過解密獲得flag{4382dgdf2d}。

flag3

題目提示需要對flag進行md5加密灯荧,加密后得到a213072327f762855e475779eb081ca3

PWN

0x01 messageb0x

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末凌唬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子漏麦,更是在濱河造成了極大的恐慌客税,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撕贞,死亡現(xiàn)場離奇詭異更耻,居然都是意外死亡,警方通過查閱死者的電腦和手機捏膨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門秧均,熙熙樓的掌柜王于貴愁眉苦臉地迎上來食侮,“玉大人,你說我怎么就攤上這事目胡【馄撸” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵誉己,是天一觀的道長眉尸。 經(jīng)常有香客問我,道長巨双,這世上最難降的妖魔是什么噪猾? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮筑累,結果婚禮上袱蜡,老公的妹妹穿的比我還像新娘。我一直安慰自己慢宗,他們只是感情好坪蚁,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著镜沽,像睡著了一般敏晤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淘邻,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天茵典,我揣著相機與錄音,去河邊找鬼宾舅。 笑死统阿,一個胖子當著我的面吹牛,可吹牛的內容都是我干的筹我。 我是一名探鬼主播扶平,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蔬蕊!你這毒婦竟也來了结澄?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岸夯,失蹤者是張志新(化名)和其女友劉穎麻献,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猜扮,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡勉吻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了旅赢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片齿桃。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡惑惶,死狀恐怖,靈堂內的尸體忽然破棺而出短纵,到底是詐尸還是另有隱情带污,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布香到,位于F島的核電站鱼冀,受9級特大地震影響,放射性物質發(fā)生泄漏养渴。R本人自食惡果不足惜雷绢,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一泛烙、第九天 我趴在偏房一處隱蔽的房頂上張望理卑。 院中可真熱鬧,春花似錦蔽氨、人聲如沸藐唠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宇立。三九已至,卻和暖如春自赔,著一層夾襖步出監(jiān)牢的瞬間妈嘹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工绍妨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留润脸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓他去,卻偏偏與公主長得像毙驯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子灾测,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內容