1、提交当天访问次数最多的IP,即黑客IP:2、黑客使用的浏览器指纹是什么,提交指纹的md5:3、查看包含index.php页面被访问的次数,提交次数:4、查看黑客IP访问了多少次,提交次数:5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次
数
先ssh连接进入看一下,从目录结构和文件列表来看,Apache 日志应该存放在 /var/log/apache2/ 目录下,进入看一下
1:提交当天访问次数最多的IP,即⿊客IP
我们可以通过筛选出访问最频繁的 IP来解决第一个问题
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n1
可以看到,已经筛选出了结果,访问最频繁的ip为:
“192.168.200.2”
历史上⼀共访问了6555次很显然,这就是第⼀个问题的答案
flag{192.168.200.2}
2、⿊客使⽤的浏览器指纹是什么,提交指纹的md5
我们在第⼀个问题中已经找到了⿊客IP,这⾥就简单了,我们可以提取其IP的User-Agent并计算 MD5值即可
grep "192.168.200.2" access.log.1 | awk -F'"''{print $6}' | sort -u |md5sum | awk '{print $1}'
这⾥是直接就出结果了,我原本以为这个就是第⼆个问题的答案,结果不对 哪我们先查看该 IP 的 User-Agent 内容,并且看哪个User-Agent出现的最多,先不直接计算 MD5
grep "192.168.200.2" access.log.1 | awk -F'"''{print $6}' | sort | uniq -c| sort -nr
可以看到⿊客 IP 192.168.200.2 使⽤最多的 User-Agent 是:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
这个⼤概率就是我们要找的答案,我们计算MD5值提交试⼀下
2d6330f380f44ac20f3a02eed0958f66
提交成功,答案就是这个。因此第⼆个flag为:
flag{2d6330f380f44ac20f3a02eed0958f66}
3、查看包含index.php⻚⾯被访问的次数,提交次数
第三个问题我们要统计 Apache ⽇志中所有访问了 index.php 这个⻚⾯的⽇志条⽬数量,这表示 有多少次 HTTP 请求访问了这个⻚⾯ 刚开始我是使⽤的命令来进⾏筛选,输出结果是32个
grep "index.php" access.log.1 | wc -l
后⾯发现提交答案不正确,研究了半天才发现,这个命令可能会误匹配到⼀些不是 /index.php 的 情况,例如:
/notindex.php
?page=index.php
Referer 或 User-Agent 中含有 index.php 字符串
我们进⾏优化⼀下,使结果更加精准
grep "/index.php" access.log.1 | wc -l
#grep "/index.php":筛选出所有包含 /index.php 的⽇志⾏(即访问该⻚⾯的请求)
#wc -l:统计这些⾏的数量,也就是访问次数
那么问题来了,为什么多⼀个“/”答案就精准了呢?
因为 /index.php 是 URL 路径(Path)
⽽ index.php 只是⼀个字符串。 grep "index.php" 会匹配所有包含 index.php 字符串的⾏,包括不相关的字段或路径。
grep "/index.php" 更加具体地匹配 URL 请求路径中出现的 /index.php,排除了其他⼲扰项。
⼀句话总结:加上“/” 是为了限定我们只关注 HTTP 请求路径中访问 /index.php 的记录,避免误 匹配其他字段⾥的⽆关内容,从⽽提⾼准确性。
到这⾥我以为27就是正确答案了,但是提交依然不正确,后⾯发现25才是正确答案,这⾥我也没 太弄懂是为什么,有了解的师傅可以评论区讲解⼀下。
所以第三个flag答案为27,但是提交答案为25
flag{25}
4、查看⿊客IP访问了多少次,提交次数
这个问题我们在前⾯已经找到了,在第⼀个问题中我们筛选找到了⿊客IP,已经访问次数
答案是6555
flag{6555}
5、查看2023年8⽉03⽇8时这⼀个⼩时内有多少IP访问,提交次数
我们需要筛选出所有时间在 03/Aug/2023:08 的⽇志⾏,然后提取这些请求的客户端 IP 地址,去重后统计数量。
grep "03/Aug/2023:08" access.log.1 | awk '{print $1}' | sort -u | wc -l
#grep "03/Aug/2023:08":筛选出 2023年8⽉3⽇ 08点的所有访问记录
#awk '{print $1}':提取每条记录的第⼀个字段(IP 地址)
#sort -u:对 IP 去重(只保留唯⼀ IP)
#wc -l:统计不同 IP 的数量
因此答案为5
flag{5}
注:鼎星安全有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
原文始发于微信公众号(鼎新安全):玄机靶场 第二章日志分析-apache日志分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论