攻防演练,作为蓝方,分析被攻击的路径和存在的漏洞的脚本

文章描述了一个脚本的更新,用于分析Nginx日志,检测状态为200且包含特定关键词(如admin、passwd或cgi)的POST或GET请求,将可疑活动输出到printnginx.txt文件,便于审计和后续分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好的,我们可以将脚本修改为将分析结果输出到名为 printnginx.txt 的文件中。这样做可以方便地记录和查看所有潜在的可疑活动。这里是更新后的脚本:

import re

# 定义日志文件路径
log_file_path = 'nginx_logs.txt'
output_file_path = 'printnginx.txt'

# 正则表达式用于解析Nginx日志
log_pattern = re.compile(r'(\d+\.\d+\.\d+\.\d+) - - \[(.*?)\] "(.*?) (.*?) HTTP/(.*?)" (\d+) (\d+) "(.*?)" "(.*?)"')

# 分析日志查找攻击路径和接口
def analyze_logs(file_path, output_path):
    with open(file_path, 'r') as file, open(output_path, 'w') as output:
        for line in file:
            match = log_pattern.match(line)
            if match:
                ip, datetime, method, url, protocol, status, length, referrer, user_agent = match.groups()
                
                # 只关注状态为200的可疑请求
                if status == '200' and (method in ['POST', 'GET']):
                    # 可疑URL的简单示例,可根据实际情况调整
                    if 'admin' in url or 'passwd' in url or 'cgi' in url:
                        suspicious_activity = (
                            f"Suspicious activity detected from {ip} at {datetime}\n"
                            f"Method: {method}, URL: {url}, Status: {status}, User-Agent: {user_agent}\n\n"
                        )
                        output.write(suspicious_activity)

# 调用函数
analyze_logs(log_file_path, output_file_path)

脚本的新特性和使用说明:

  1. 输出文件:所有检测到的可疑活动将被写入 printnginx.txt 文件中,该文件在脚本的同一目录下。
  2. 日志分析:脚本继续分析名为 nginx_logs.txt 的日志文件,并将分析结果保存在指定的输出文件中。
  3. 定制化检测:你可以根据需要调整用于检测可疑活动的URL关键词。

这样修改后,你可以直接运行脚本,所有的输出都将被重定向到 printnginx.txt 文件中,便于后续的审计和分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值