当前位置: 首页 > news >正文

郑州网站建设灵秀/怎么在百度发广告

郑州网站建设灵秀,怎么在百度发广告,nba网站开发毕业论文,sf网站怎么建设有时做应急响应的时候,需要提取web日志如access.log日志文件来分析系统遭受攻击的具体原因,由于开源的工具并不是很好用,所以自己用Python3写了一个简单的日志分析工具。先介绍一下access.log日志access.log日志文件记录了所有目标对Web服务器…

有时做应急响应的时候,需要提取web日志如access.log日志文件来分析系统遭受攻击的具体原因,由于开源的工具并不是很好用,所以自己用Python3写了一个简单的日志分析工具。

先介绍一下access.log日志

access.log日志文件记录了所有目标对Web服务器的访问请求,当有客户端对网站进行了访问时,access.log就会生成一条访问日志。

日志格式

一条访问日志一般分为7个字段

1.202.114.41 - - [09/Nov/2020:11:08:23 +0800] "GET / HTTP/1.1" 404 146 "https://www.baidu.com/link?url=jBUa" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0"
  • 1.202.114.41 代表是谁访问的服务器

  • [09/Nov/2020:11:08:23 +0800] 表示访问服务器时,服务器的时间。+0800表示服务器所处时区位于UTC之后的8小时。

  • GET / HTTP/1.1 请求的方法和访问的路径

  • 404 为服务器响应的状态码,此信息非常有价值,它揭示了请求是否成功以及失败。

  • 146 表示服务器发送给客户端的字节数,但这个字节数,不包括响应头的信息,如果服务器没有向客户端发送任何内容,则该值为“-”

  • https://www.baidu.com/link?url=jBUa 请求来源,用于表示浏览者在访问该页面之前所浏览的页面,只有从上一页面链接过来的请求才会有该项输出,如果是新开的页面则该项为空。上例中来源页面是从baidu转过来,即用户从baidu的那条链接中点击进来。

  • "Mozilla/5.0 xx" 表示用户终端浏览器的UserAgent

常见web漏洞攻击日志

通过web日志可以判断目标为恶意请求还是正常请求。如下请求路径中携带危险字符

172.16.2.1 - - [09/Feb/2023:17:57:02 0800] "GET /sqli-labs-master/Less-1/?id=1' order by 3 -- HTTP/1.1" 200 721(SQL注入)

172.16.2.1 - - [09/Feb/2023:17:57:18 0800] "GET /sqli-labs-master/Less-1/?id=1' and sleep(5) -- HTTP/1.1" 200 670 (SQL注入)

172.16.2.1 - - [09/Feb/2023:18:01:19 0800] "GET /sqli-labs-master/Less-1/?id=<script>alert(11)</script> HTTP/1.1" 200 670 (xss攻击)

...

可以使用正则来匹配每条请求是否存在攻击行为,其中的指纹库finger可以根据需求随时进行扩充

log_tool.py

import re, os, argparse
from urllib.parse import unquote
from colorama import init,Fore,Back
init(autoreset=True)finger = {"命令执行攻击":"/dev/tcp|call_user_func|preg_replace|proc_popen|popen|passthru|shell_exec|exec|/bin/bash|call_user_func_array|assert|eval|fputs|fopen|base64_decode|wget|curl.*ifs|uname|think.*invokefunction|whoami|ifconfig|ip add|echo|net user|phpinfo|jndi:|rmi:|\${","sql注入攻击":"sleep|union|concat|information_schema|table_name|extractvalue|updatexml|order by|sqlmap|md5\(","xss攻击":"<script|img src=|imgsrc=|document\.domain|prompt|alert\(|confirm\(|javascript:|Onerror|onclick","webshell连接":"shell\.asp|shell\.jsp|shell\.jspx|shell\.php|cs\.php|tomcatwar\.jsp","敏感文件攻击":"\.ssh/id_dsa|\.\./|\.\.|/etc/passwd|\.bash_profile|db\.sqlite|/win\.ini|wp-config\.php|\.htaccess|\?pwd|heapdump|/\.git"
}data_list  = {'命令执行攻击':[],'sql注入攻击':[],'xss攻击':[],'webshell连接':[],'敏感文件攻击':[]
}def get_parser():logo = r"""______  _____________   ____  /  ___/ /  ___/\_  __ \_/ ___\ \___ \  \___ \  |  | \/\  \___ /____  >/____  > |__|    \___  >\/      \/              \/ Author: 山山而川Blog  : https://chenchena.blog.csdn.net/?type=lately"""parser = argparse.ArgumentParser(usage='python log_tool.py 日志文件')print(logo)print("正在分析日志信息,请稍等..."+"\n")p = parser.add_argument_group('log_tool.py的参数')p.add_argument("logName", type=str, help="为.log日志文件")args = parser.parse_args()return argsdef extract(filename):with open(filename,'r',encoding='utf-8') as file:for line in file:                                #获取每一条日志信息line = unquote(line[:-1], 'utf-8')for k,v in finger.items():                     #遍历每一条指纹信息result = re.search(v,line,re.I)if result:data = line + Fore.RED+"  匹配指纹[%s]"%result.group()if k == "命令执行攻击":rce = data_list.get('命令执行攻击')rce.append(data)breakif k == "sql注入攻击":sql = data_list.get('sql注入攻击')sql.append(data)breakif k == "xss攻击":xss = data_list.get('xss攻击')xss.append(data)breakif k == "webshell连接":webshell = data_list.get('webshell连接')webshell.append(data)breakif k == "敏感文件攻击":file = data_list.get('敏感文件攻击')file.append(data)breakoutfileName = filename.rsplit(".",1)[0] + "_result.txt"if os.path.exists(outfileName):os.remove(outfileName)for attack_name,attack_record in data_list.items():if attack_record:output = '疑似存在"%s":'%attack_nameprint(Fore.YELLOW+output)with open(outfileName,'a',encoding='utf-8') as f:f.write(output+"\n")for recode in attack_record:if "200" in recode:print(recode + Fore.GREEN + " 响应码200")with open(outfileName,'a',encoding='utf-8') as f:f.write(recode + " 响应码200""\n")else:print(recode)with open(outfileName, 'a', encoding='utf-8') as f:f.write(recode + "\n")with open(outfileName, 'a', encoding='utf-8') as f:f.write("\n")print("")
if __name__ == '__main__':filename = get_parser().logNameextract(filename)

输出的同时会默认保存在本地

相关文章:

分享一个应急响应web日志:access.log文件分析小工具

有时做应急响应的时候&#xff0c;需要提取web日志如access.log日志文件来分析系统遭受攻击的具体原因&#xff0c;由于开源的工具并不是很好用&#xff0c;所以自己用Python3写了一个简单的日志分析工具。先介绍一下access.log日志access.log日志文件记录了所有目标对Web服务器…...

windows注册服务非常实用

方式一&#xff1a;使用Windows自带的sc命令 1、使用管理员权限打开cmd窗口 2、注册服务命令&#xff1a; sc create 服务名 binpath 程序所在路径 type own start auto displayname 服务显示名称 sc create redis binpath d:\tools\redis-x64-5.0.14\redis-server.exe type …...

蓝桥dfs专题

1、dfs 路径打印 小明冒充X星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 n x n 个方格。【如图1.png】所示。 按习俗&#xff0c;骑士要从西北角走到东南角。 可以横向或纵向移动&#xff0c;但不能…...

[ 网络 ] 应用层协议——HTTPS协议原理

目录 1.HTTPS是什么 2.加密技术 2.1什么是加密 2.2为什么要加密 2.3加密处理防止被窃听 3.常见的加密方式 对称加密 非对称加密 4.数据摘要&&数据指纹 5.数字签名 6.HTTPS的工作过程探究 方案1——只是用对称加密 方案2——只进行非对称加密 方案3——双方…...

http协议如何操作

、HTTP协议&#xff08;超文本传输协议&#xff09; 1.1、http协议是一个基于“请求与响应”模式的、无状态的应用层协议。 http协议采用URL作为定位网络资源的标识。 1.2、URL格式 http://host[:port][path] host:合法的Internet主机域名或IP地址 port&#xff1a;端口号…...

ESP Insights 系列文章

ESP Insights 系列 #1 | 远程查看设备信息&#xff0c;快速解决固件问题 ESP Insights 是一个可远程查看设备固件运行状态和日志的平台&#xff0c;能够帮助开发人员快速定位并解决固件问题。 ESP Insights 系列 #2 | 新增功能 最新版本优化了用户界面、修复了系统稳定性&am…...

如何提高爬虫工作效率

单进程单线程爬取目标网站太过缓慢&#xff0c;这个只是针对新手来说非常友好&#xff0c;只适合爬取小规模项目&#xff0c;如果遇到大型项目就不得不考虑多线程、线程池、进程池以及协程等问题。那么我们该如何提升工作效率降低成本&#xff1f; 学习之前首先要对线程&#…...

React结合Drag API实现拖拽示例详解

Drag API React中的Drag API是用于实现拖放功能的API。该API由React DnD库提供&#xff0c;可用于实现拖放操作&#xff0c;例如将元素从一个位置拖动到另一个位置。 React DnD库提供了两种Drag API&#xff1a;基于HTML5的拖放API和自定义实现的拖放API。 基于HTML5的拖放AP…...

【华为OD机试java、python、c++、jsNode】新学校选址(100%通过+复盘思路)

代码请进行一定修改后使用,本代码保证100%通过率。本文章提供java、python、c++、jsNode四种代码。复盘思路在文章的最后 题目描述 为了解新学期学生暴涨的问题,小乐村要建立所新学校, 考虑到学生上学安全问题,需要所有学生家到学校的距离最短。 假设学校和所有学生家都走在…...

Nacos配置中心,分组配置参考,以及python、go、bash客户端连接获取

Nacos使用说明 nacos官方网站 https://nacos.io/zh-cn/docs/v2/what-is-nacos.html 1、基本配置说明 nacosIP地址&#xff1a;http://xxxxx:8848/nacos/ 服务管理端登录账号&#xff1a;nacos XXX Java最小配置&#xff0c;其他客户端可参考&#xff0c;配置可对应到第三章…...

node-red中有关用户登录,鉴权,权限控制的流程解析

前言 默认地,node-red编辑器可以被任何访问的用户操作,包括修改节点,流数据,重新部署流。 这种默认的部署方式只适用于运行在可靠的网络中。下面我就给大家介绍一下,在公网上部署node-red后,如何对其进行安全加固和权限验证。 主要分为三部分 开启https权限保护编辑器和…...

MQTT协议-使用CONNECT报文连接阿里云

使用网络调试助手发送CONNECT报文连接阿里云 参考&#xff1a;https://blog.csdn.net/daniaoxp/article/details/103039296 在前面文章介绍了如何组装CONNECT报文&#xff0c;以及如何计算剩余长度 CONNECT报文&#xff1a;https://blog.csdn.net/weixin_46251230/article/d…...

每日学术速递3.8

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Unleashing Text-to-Image Diffusion Models for Visual Perception 标题&#xff1a;释放用于视觉感知的文本到图像扩散模型 作者&#xff1a;Wenliang Zhao, Yongming Rao, Zuya…...

测牛学堂:软件测试之接口测试理论基础总结

接口概念 接口&#xff1a;系统之间数据交互的通道。 这个系统&#xff0c;可以是外部和内部&#xff0c;也可以是两个内部系统之间的通道。 比如我们前端的登录信息&#xff0c;主要是用户名和密码&#xff0c;它通过接口传递给后端&#xff0c;后端校验以后&#xff0c;把结…...

基于土壤数据与机器学习算法的农作物推荐算法代码实现

1.摘要 近年来&#xff0c;机器学习方法在农业领域的应用取得巨大成功&#xff0c;广泛应用于科 学施肥、产量预测和经济效益预估等领域。根据土壤信息进行数据挖掘&#xff0c;并在此基础上提出区域性作物的种植建议&#xff0c;不仅可以促进农作物生长从而带来经济效益&#…...

python中html必备基础知识

<!DOCTYPE html>此标签表示这是一个html文件<heml lang"en">向搜索引擎表示该页面是html语言&#xff0c;并且语言为英文网站&#xff0c;其"lang"的意思就是“language”&#xff0c;语言的意思&#xff0c;而“en”即表示English<head>…...

【专项训练】前言:刻意练习,不断的过遍数才是王道

如何精通一个领域? 拆分知识点刻意练习:每个区域的基础动作分解训练和反复刻意练习反馈(主动反馈、被动反馈、及时反馈)任何知识体系都是一颗树,一定要梳理成思维导图,明确知识与知识之间的关系! 通过7-8周密集训练,练好基本功,彻底攻克LeetCode! 严格执行五毒神掌!…...

【Leetcode】反转链表 合并链表 相交链表 链表的回文结构

目录 一.【Leetcode206】反转链表 1.链接 2.题目再现 3.解法A&#xff1a;三指针法 二.【Leetcode21】合并两个有序链表 1.链接 2.题目再现 3.三指针尾插法 三.【Leetcode160】相交链表 1.链接 2.题目再现 3.解法 四.链表的回文结构 1.链接 2.题目再现 3.解法 一.…...

M1、M2芯片Mac安装虚拟机

目录前言一、安装二、网络设置三、连接SSH客户端前言 一直想着给M1 Mac上安装虚拟机&#xff0c;奈何PD收费&#xff0c;找的破解也不稳定&#xff0c;安装上镜像就起不来。 注&#xff1a;挂长久的分享莫名其妙被封&#xff0c;需要安装包请私信我。 一、安装 虚拟机选择&a…...

算法刷题-只出现一次的数字、输出每天是应该学习还是休息还是锻炼、将有序数组转换为二叉搜索树

只出现一次的数字&#xff08;位运算、数组&#xff09; 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 说明&#xff1a; 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗&…...

详解专利对学生、老师和企业员工、创业者、积分落户、地方补助的好处

大家好,我是英子老师。作为一名知识产权专家,深耕于专利行业十余年,具有丰富的专利工作经验:曾在大型专利代理机构从事专利代理工作、专利质检工作(抽查代理机构的专利代理人的撰写质量并评分);之后在知名上市企业、行业龙头企业担任高级专利工程师的职位,主要工作内容…...

Python图像处理:频域滤波降噪和图像增强

图像处理已经成为我们日常生活中不可或缺的一部分&#xff0c;涉及到社交媒体和医学成像等各个领域。通过数码相机或卫星照片和医学扫描等其他来源获得的图像可能需要预处理以消除或增强噪声。频域滤波是一种可行的解决方案&#xff0c;它可以在增强图像锐化的同时消除噪声。 …...

智能手机高端“酣战”,转机在何方?

经过多年发展&#xff0c;如今全世界有七成手机由中国制造&#xff0c;但在利润最丰厚的高端市场&#xff0c;国产厂商在很长一段时间之内都是形单影只&#xff0c;曾经一度跻身高端的“华为”因为封禁成了“绝唱”。 华为“失声”高端之后&#xff0c;其他一众国产厂商或主动…...

K8s pod 动态弹性扩缩容 HPA

一、概述Horizontal Pod Autoscaler&#xff08;HPA&#xff0c;Pod水平自动伸缩&#xff09;&#xff0c;根据平均 CPU 利用率、平均内存利用率或你指定的任何其他自定义指标自动调整 Deployment 、ReplicaSet 或 StatefulSet 或其他类似资源&#xff0c;实现部署的自动扩展和…...

C++中的类简要介绍

文章目录前言一、什么是类什么是对象1.类的概述2.对象的概述二、如何创建使用类三、class和struct创建类时的区别1.访问级别2.继承方式总结前言 本篇文章讲给大家介绍一个C中重要的概念&#xff0c;了解了这个概念大家就明白了为什么C会叫做面向对象编程了。 一、什么是类什么…...

项目管理工具DHTMLX Gantt灯箱元素配置教程:只读模式

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求&#xff0c;具备完善的甘特图图表库&#xff0c;功能强大&#xff0c;价格便宜&#xff0c;提供丰富而灵活的JavaScript API接口&#xff0c;与各种服务器端技术&am…...

从LiveData迁移到Kotlin的 Flow,才发现是真的香!

LiveData 对于 Java 开发者、初学者或是一些简单场景而言仍是可行的解决方案。而对于一些其他的场景&#xff0c;更好的选择是使用 Kotlin 数据流 (Kotlin Flow)。虽说数据流 (相较 LiveData) 有更陡峭的学习曲线&#xff0c;但由于它是 JetBrains 力挺的 Kotlin 语言的一部分&…...

【BOOST C++】组件编程(2)-- 组件的设计原理

GitHub - ros2/demos at foxy 一、说明 为了研究ROS2的组件编程&#xff0c;首先要理解如何何为组件。组件本是微软的发明物体&#xff0c;但是在ubuntu上需要自己从底层实现&#xff0c;就说ROS2不用你写&#xff0c;但是就能看明白也是需要一点理论功底的。本篇按照COM内幕的…...

基于单细胞多组学数据无监督构建基因调控网络

在单细胞分辨率下识别基因调控网络&#xff08;GRNs&#xff0c;gene regulatory networks&#xff09;一直是一个巨大的挑战&#xff0c;而单细胞多组学数据的出现为构建GRNs提供了机会。 来自&#xff1a;Unsupervised construction of gene regulatory network based on si…...

蓝桥杯-最优清零方案(2022省赛)

蓝桥杯-最优清零方案1、问题描述2、解题思路3、代码实现1、问题描述 给定一个长度为 N 的数列 1,2,⋯,A1,A2,...,ANA_1,A_2,...,A_NA1​,A2​,...,AN​ 。现在小蓝想通过若干次操作将 这个数列中每个数字清零。 每次操作小蓝可以选择以下两种之一: 1. 选择一个大于 0 的整数, 将…...